#pentagram@irc.freenode.net logs for 14 Jun 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:41:11] <-- wjp has left IRC ("Zzzz...")
[01:33:42] --> Kirben has joined #pentagram
[01:33:42] --- ChanServ gives channel operator status to Kirben
[03:33:59] --> oreilly has joined #pentagram
[05:58:07] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[06:02:15] --> Kirben has joined #pentagram
[06:02:15] --- ChanServ gives channel operator status to Kirben
[06:07:02] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[06:08:35] --> Kirben has joined #pentagram
[06:08:35] --- ChanServ gives channel operator status to Kirben
[06:16:33] <-- oreilly has left IRC (Read error: 110 (Connection timed out))
[08:58:22] <-- servus has left IRC ()
[09:02:16] --> servus has joined #pentagram
[09:02:33] --- servus is now known as servusAway
[10:04:28] --> Dark-Star has joined #pentagram
[11:15:39] --> Colourless has joined #Pentagram
[11:15:39] --- ChanServ gives channel operator status to Colourless
[11:16:05] <Colourless> hi
[11:18:35] <DarkeZzz> Hi.
[11:18:44] <Colourless> ZZZ
[11:19:03] * DarkeZzz illuminates the dragon, hoping to wake him up.
[11:19:07] --- DarkeZzz is now known as DarkeLight
[11:19:18] <Colourless> hmmm, ultraviolet
[11:19:24] * DarkeLight shinies.
[11:19:35] <Colourless> uh oh....
[11:19:48] * DarkeLight dims once more.
[11:19:49] <DarkeLight> Darke
[11:19:51] --- DarkeLight is now known as Darke
[11:19:58] * Colourless doesn't know if he might be come illuminated under a 'Darkelight'
[11:20:05] --- ChanServ gives channel operator status to Darke
[11:20:37] <Darke> Of course you are! Everyone is illuminated by my sheer brilliance! *preen*
[11:21:09] <Colourless> but you are Darke
[11:23:16] <Colourless> you do not use macros in creative enough ways
[11:24:06] <Darke> I'm not sure that's what most people would call 'brilliance', probably more 'insanity'. *grin*
[11:25:04] <Colourless> it's the reason why i dislike the 'D' programming language.... it takes away the 'best' aspect of C and C++!
[11:25:34] * Darke snickers.
[11:25:50] <Colourless> the proprocessor is among the most powerful aspects of C and C++, if you really know how to use it
[11:26:20] <Colourless> of course many people would argue that i do not use it properly :-)
[11:26:57] <Darke> Of course. *grin*
[11:27:06] <Darke> I would, *never* do such a thing, naturally!
[11:28:07] <Colourless> #define, #ifdef, #ifndef, #else, #elif and #endif are just so so useful
[11:28:56] <Darke> Which is, of course, why the original unkscript had some sort of compiletime #if contruct as well. *grin*
[11:29:19] <Colourless> seriously now, the people who propose that the preprocessor be discarded really do know understand exactly what the preprocessor is actually for
[11:29:37] <Colourless> s/know/not/
[11:30:59] <Colourless> such people think that macros are only used for constants of algorithms.
[11:31:06] <Colourless> s/of/or/
[11:31:24] * Darke nodnods. Agreed.
[11:33:08] <Darke> Then there are those people who believe that compilers are not actually used to generate code, but to detect and complain about people's inability to type correctly.
[11:33:16] * Darke exits stage left... with haste!
[11:33:41] <Colourless> then there is fortran compilers :-)
[11:33:55] <Colourless> space? we don't care about no spaces!
[11:34:16] <Darke> Heh. Or various older BASIC interpreters too. *grin*
[11:35:37] <Colourless> ah, isn't it great to live in the time of modern programming languages that are 'only' 30 years old and their derivatives :-)
[11:37:12] <Colourless> he arrives!
[11:37:17] --> wjp has joined #pentagram
[11:37:17] --- ChanServ gives channel operator status to wjp
[11:37:19] <Darke> Well... VB at least doesn't allow absense of spaces to work. *grin* That's probably it's *only* non-flaw though...
[11:37:39] <Darke> You might want to turn off your precognition Colourless. *grin*
[11:38:04] <Colourless> why? it's fun to show off
[11:39:02] <Colourless> btw, hi wjp
[13:07:03] * Darke is trying drop all the possible keywords he can into google to try and persuade it to return the #pentagram logs as being somehow related to 'satanism', to see if we can explain the rather confused entity that wandered in here the other day. *grin*
[13:10:02] <wjp> you might want to consider the name 'pentagram' as a possible reason for that ;-)
[13:10:24] <Colourless> :-)
[13:10:47] <Darke> That's the only reason I can think of so far. *grin*
[13:12:04] <Colourless> even though i don't have much here, i think i'll commit some stuff. I added a 'AvatarMoverProcess' hack. It doesn't do much, except it adds processes to move the avatar around on key down, and then removes it on key up. Meaning you get continuous scrolling while holding the keys down. Most useful as you can imagine :-)
[13:12:23] <wjp> yes :-)
[13:12:24] <Colourless> rather that click-click-click-click-click-click-click-click-click-click-click-click-click-click-click-click-click-click-click
[13:12:31] <Colourless> s/that/than/
[13:12:59] <Darke> I've managed to pull up everything from SatanicSupplies.com ("The one-stop source for all your satanic needs!"), which had me laughing my tail off for a while, to stuff on septic tanks (don't ask me!), to anti-D&D parodies. No mention of ultima, or pentagram or u8, or anything. *grin*
[13:13:04] <wjp> heh, that tiny amount of clicks won't even get you to the docks :-)
[13:13:13] * Darke cackles!
[13:13:15] <Colourless> you can also hold down multiple keys and the effect is what you'd expect. Up+left = move to upper left :-)
[13:13:33] <Darke> Yay! Relief for my sore fingers at last!
[13:14:20] <Colourless> you'll also get the first of three Text widgets, and the ability to click on BarkGumps to make them disappear
[13:14:38] <-- wjp has left #pentagram ()
[13:14:38] --> wjp has joined #pentagram
[13:14:38] --- ChanServ gives channel operator status to wjp
[13:14:58] <Colourless> care to explain?
[13:15:08] <wjp> no :-)
[13:15:25] <Darke> "And if you `cvs update` now, we'll even throw in a set of ginsu knives... for FREE! That's right! `cvs update` and pay NO MORE and you'll get a FREE set of ginsu knives! This offer is INSANE!"
[13:15:47] * wjp throws those FREE knives at Darke
[13:16:01] <Colourless> too bad you didn't get what you paid for.
[13:16:03] * Darke plucks and explanation out of the Random Explanation Generator, "Apparently it was 'Solar Flares'."
[13:16:05] * wjp watches them fly to Darke in a nice arc
[13:16:14] <Colourless> those knives couldn't cut hot butter
[13:16:17] <wjp> I should really fix that ItemMoveProcess :-)
[13:16:41] * Darke watches them fly in a nice, slow, arc to land at his feet. Umm...
[13:26:16] <wjp> hm, that 'gumps/widget added' message apparently bounced from SB-X
[13:26:16] <-- Dark-Star has left IRC ()
[13:26:27] <wjp> so his subscription to pentagram-cvs has been disabled
[13:26:35] <Colourless> hehe
[13:26:48] <Colourless> committed it all
[13:27:24] <Colourless> how could that bounce
[13:27:29] <Colourless> unless he has a full mailbox
[13:27:58] <wjp> everything?
[13:28:08] <wjp> SimpleTextWidget.h: No such file or directory
[13:28:17] <Colourless> Checking in gumps/widgets/SimpleTextWidget.h;
[13:28:19] <Colourless> /cvsroot/pentagram/pentagram/gumps/widgets/SimpleTextWidget.h,v <-- SimpleTextWidget.h
[13:28:28] <Colourless> remember I DON'T DO MAKEFILES
[13:28:33] <wjp> yes, I just remembered :-)
[13:28:35] <Colourless> add in the directory to you include path
[13:30:36] <wjp> the bounce error was an "550 Access denied" btw
[13:30:50] <wjp> how about LoopScript.h?
[13:30:57] <Colourless> ooh
[13:31:01] <Colourless> forgot about that
[13:33:12] <Colourless> ok done
[13:36:36] <wjp> makefiles updated too
[13:36:51] <Colourless> it would probably be an idea to use the defines in LoopScript.h in Item::checkLoopScript
[13:38:01] <wjp> ah, this way of moving is much better :-)
[13:38:27] <Colourless> yes... just a little bit isn't it :-)
[13:50:03] --> Dark-Star has joined #pentagram
[13:54:29] <Colourless> i think....
[13:54:33] <Colourless> i think....
[13:54:42] <wjp> you do?
[13:54:43] <Darke> You think, you think?
[13:54:44] <Colourless> i think that we should start thinking about saving the engine state :-)
[13:55:02] <wjp> we might as well :-)
[13:55:23] <Colourless> this is going to have an interesting effect with the games
[13:55:31] <Colourless> s/games/gumps/
[13:55:35] <Colourless> really i meant gumps there :-)
[13:56:08] <Colourless> lets say we just iterate through each object and call a virtual save(ODataSource*) method
[13:56:23] <Colourless> that would then save the GameMapGump to the savegame
[13:57:03] <Colourless> which means when loading 'everything' would be the same when reloaded
[13:57:26] <Colourless> that may or may not be exactly what is desired in regards to GameMapGump due to resolution changing
[13:57:45] <wjp> we get to determine what "everything" is, luckily
[13:57:49] <Darke> But how are we going to save whilst creating lots of disk thrashing to correctly emulate the original game? We can't exactly just write the raw classes to disk nowdays, after all.
[13:58:19] <Colourless> well, in windows, we 'can' get direct disk access that will bypass the diskcache :-)
[13:58:37] <Colourless> saving of course isn't the problem, reloading and re-creating classes is
[13:58:37] <wjp> in linux you can just sync after every write
[13:58:43] * Darke if obviously the *only* person here thinking of the truely important aspects of saving a game! *grin*
[13:59:09] <-- Darke was kicked from #pentagram by wjp (#pentagram no, you're not here)
[13:59:10] --> Darke has joined #pentagram
[13:59:10] --- ChanServ gives channel operator status to Darke
[13:59:31] <wjp> oh, wait, you are here :-)
[13:59:32] <Darke> Hey! That's not nice!
[13:59:43] <wjp> Colourless: yes...
[13:59:52] <wjp> recreation order will be rather important too
[13:59:59] <Colourless> yes
[14:00:04] <Colourless> but that isn't really difficult
[14:00:21] <Colourless> containers could save all their children
[14:00:32] <wjp> btw, GameMapGump shouldn't have to store too much state, should it?
[14:00:33] <Colourless> (add gumps to that too)
[14:00:55] * Darke is having fun flying around u8's maps. So don't mess with him. *grin*
[14:01:02] <Colourless> GameMapGump wouldn't store much at all.
[14:01:16] <Colourless> if it had children though...
[14:02:11] <Darke> Hmm... there's a bit of a wall sitting 'outside' the north (east?, it's the north->east exit) tenbrae map.
[14:02:22] <wjp> gumps should only have to store the objid of their children
[14:02:37] <Colourless> hmm, yes, i didn't think of that
[14:02:40] <wjp> Darke: top-right is north, bottom-right is east
[14:02:53] <wjp> or actually, gumps only have to store the objid of their parent
[14:02:54] <Colourless> normal container items could do that same
[14:02:55] <Darke> wjp: Thanks. I can never remember that. *grin*
[14:03:10] <Colourless> problem there though is you require a 2 pass load
[14:03:21] <Colourless> because of the way object ids are assigned
[14:03:25] <wjp> yes
[14:03:29] <Colourless> parent might have higher number than this
[14:03:38] <wjp> unless you do loading in a depth-first way
[14:03:40] <Colourless> and may get loaded after us
[14:03:46] <Colourless> yes
[14:03:53] <wjp> (i.e., if you need an objid, load it)
[14:04:18] <wjp> need to be careful for circular dependencies then :-)
[14:04:22] <Darke> Umm... wow. Sleep potions work.
[14:05:09] <Colourless> containers/gumps could make all their children be saved after themselves.
[14:05:31] <Colourless> that would ensure a child'
[14:05:37] <Colourless> s parent would always be loaded before it
[14:05:38] <wjp> Darke: invisibility too :-)
[14:05:55] <Colourless> where are you 2 finding potions?
[14:05:59] <wjp> just tried the scrolls in the cave to the plateau
[14:06:06] <wjp> Invisibility and Restore to Sight work
[14:06:45] <wjp> sleep potion is in one of the bodies in that cave
[14:06:59] * wjp waits until he wakes up
[14:07:06] <wjp> that was interesting :-)
[14:07:06] <Darke> Enter the west cave from north tenbrae. There are quite a few corpses in the cave, search them for potions.
[14:07:23] <Colourless> roof popping... it really needs to be added :-)
[14:07:27] <wjp> yes :-)
[14:08:22] <wjp> spellcasting animations seem to Just Work
[14:08:31] <Darke> Are the potions positioned correctly? The stem of them seems to be up to high and is covering the crossed bones. It also makes things like the 'obsidian starstone' difficult to find too, since it's almost on top of them.
[14:08:38] <wjp> although they're way too fast
[14:08:50] * Colourless does colourless->tasks.push_back(new Task("Roof Popping"));
[14:08:54] <wjp> Darke: item placement in gumps is a known bug
[14:09:07] <wjp> Colourless: should we try the SF task tracker?
[14:09:27] <Colourless> oh uh. sounds like a way to increase our activity rating!
[14:09:50] <Darke> Leavers 'n stuff 'work', in so far they change and execute stuff. *grin*
[14:10:01] <Colourless> scary
[14:10:26] <wjp> Darke: in fact, that bug is even in the bug tracker :-)
[14:10:27] <Darke> You might also want to add an item relating to the fact the avatar is a ghost too. *grin*
[14:10:41] <Colourless> hey, a troll
[14:10:50] <wjp> missing collision detection is rather obvious, yes :-)
[14:11:05] <wjp> Colourless: go visit the cemetery and the catacombs :-)
[14:11:10] <Darke> And that he can access items through walls and floors and...
[14:11:20] <wjp> ghouls rise from their graves, ghosts materialize out of thin air...
[14:11:31] <Colourless> hey, i guessed the invisiblity flag correctly?
[14:11:44] <wjp> well, Invisibility works... so... :-)
[14:12:26] <wjp> actually, I wonder how Avatar-invisibility works
[14:13:05] <Colourless> oh wait, we already had an FLG_INVISIBLE
[14:13:06] <wjp> is that 'transparent' effect I get the 'PaintInvisible()' function?
[14:13:08] <Darke> The fire traps 'kinda' work. Except the flames it shoots out don't move, and don't seem to terminate themselves. And our memory use just goes up and up and up and up... *grin*
[14:13:09] <Colourless> duh :-)
[14:13:23] <Colourless> wjp: yeah it is
[14:13:31] <wjp> Darke: Item::shoot or Item::hurl isn't in yet
[14:13:50] <wjp> (one of the two..., the other one is used for fish and does semi-work)
[14:13:58] <Colourless> zapper works :-)
[14:14:15] <wjp> yes, but does it zap? :-)
[14:14:21] <wjp> (zap the avatar, I mean)
[14:14:30] <Colourless> how can i tell, the avatar is not at the same z :-)
[14:14:40] <wjp> details :-)
[14:14:49] * Darke just exited that map and the memory dropped down to the appropriate level. Looks like we *are* cleaning up after ourselves properly though. *grin*
[14:15:00] <wjp> Darke: of course :-)
[14:15:17] <Colourless> except with I_ask
[14:15:22] <Colourless> that leaks
[14:15:40] <wjp> yes, but that's commented in the sources, so that's ok ;-)
[14:16:19] * Darke thinks we also need scalers. It's getting painful to try to click on the smaller mushrooms to eat them. *grin*
[14:16:19] <wjp> we're also leaking a lot of datasources while loading
[14:16:46] <wjp> the graphics are rather pretty at this resolution though :-)
[14:18:24] <Darke> Oh, definately. 800x600 or 1024x768 fullscreen and with appropriately dampened mouse sensitivity would be fine. But I'm trying to click on a 6 pixel square mushroom with a mouse that's used to traversing 1600pixels in under two centimeters of horizontal desk movement. So it's a little tricky. *grin*
[14:20:19] <Colourless> hey teleporters work
[14:20:42] <Colourless> you go near them and they open up
[14:21:45] * wjp nods
[14:21:47] <Darke> Hmm... didn't I mention that the other day? *yawn* Sleepy though, so might be misremembering. *grin*
[14:21:51] <wjp> Darke thought that was a bug :-)
[14:23:32] <Colourless> ooh a ghoul came out of the ground
[14:24:23] <Darke> wjp: Nah. I thought it was a bug that they didn't fold up after they unfolded. *grin*
[14:26:24] <Colourless> Assertion failed: av, file \Pentagram\world\EggHatcherProcess.cpp, line 56
[14:26:35] <wjp> hey! so _that's_ where BoneCrusher is
[14:26:51] <Colourless> i was in the catacombs and it crashed :-)
[14:27:15] <wjp> scroll of trap detection freezes
[14:27:22] <wjp> assertion... yuck
[14:27:25] <Colourless> This application has requested the Runtime to terminate it in an unusual way.
[14:27:26] <Colourless> Please contact the application's support team for more information.
[14:27:33] <wjp> :-)
[14:27:36] <wjp> would that be us?
[14:27:39] <Colourless> who is our support team?
[14:27:47] <wjp> Dominus maybe?
[14:27:51] * Colourless votes darke
[14:28:09] <wjp> sure, that works for me too
[14:28:15] <wjp> so, Darke, we need more information :-)
[14:28:38] <wjp> ok... that assertion triggering is rather scary
[14:28:55] <wjp> is means object 1 isn't a MainActor
[14:28:56] <Colourless> Darke: Pentagram is the worst program ever. It like just crashed. It's collision detection suck (is there even any at all)!>!
[14:29:36] <Colourless> i'll see if i can make it do it again in a debug build
[14:29:36] <wjp> I demand that you fix this immediately, even though I have no intention of being helpful at all!
[14:29:50] * Darke sets up scafolding around Colourless. It seems the dragon needs some support.
[14:30:14] * Darke honestly didn't think dragons got *this* decrepit when they aged. *innocentlook*
[14:30:28] <Colourless> hey, if i'm not mistaken you are older than me
[14:30:55] <wjp> Colourless: where were you exactly when it crashed?
[14:31:03] <Colourless> Darke: pentagram is really slow in debug builds. make it faster!
[14:31:18] <Colourless> i was in a small crypt where there is a ghoul
[14:31:33] * Darke blinks. It is? I don't think I've ever run a non-debug build.
[14:31:37] <Colourless> i think it was the place where you 'fall' in to the lower levels of the catacombs
[14:31:55] <wjp> the one with the open roof?
[14:31:59] <Colourless> i get like 8 fps in debug build (not optimizations at all)
[14:31:59] <Colourless> yes
[14:32:30] <wjp> "Monster egg could not find hatcher!"
[14:32:39] * Darke concludes that since he's the oldest, he'll sit over here and organise stuff and let all you youngin's do all the work. *grin*
[14:32:45] <wjp> and why is there a guard there?
[14:32:54] <Darke> I dunno. I noticed that myself.
[14:33:35] <wjp> um... there's also a peasant on a chair here
[14:33:42] <wjp> (in the upper catacombs)
[14:33:49] <Colourless> uh oh :-)
[14:33:53] <wjp> something tells me we're doing something wrong with monster eggs :-)
[14:34:05] <Darke> Umm... yeah. *grin*
[14:34:22] <wjp> a ghoul, a guard and a peasant all in one spot
[14:34:37] <wjp> Colourless: could it be you were out of NPC objids?
[14:34:46] <Colourless> no idea
[14:34:52] <Colourless> could have been
[14:35:06] <wjp> I'm not really sure if that could cause this assertion to trigger, though
[14:42:25] <Colourless> i really cant get it to do it again
[14:44:30] <Colourless> hmm, monster egg could not find hatcher, egg quality 3
[14:45:05] <Colourless> this is the valley map
[14:45:18] <Colourless> got a guard here in the same spot as a torax
[14:45:40] <Colourless> getting lots of monster egg problems
[14:45:53] <wjp> ok, so something's definitely going wrong there :-)
[14:46:12] <wjp> I wonder if it's using some random other object as hatcher
[14:46:52] <Colourless> getting lots of screwey stuff going on
[14:47:36] <Colourless> then i end up getting this
[14:47:39] <Colourless> Non-existant process PID (0) in implies
[14:47:39] <Colourless> Assertion failed: av, file \Pentagram\world\EggHatcherProcess.cpp, line 56
[14:47:39] <Colourless> This application has requested the Runtime to terminate it in an unusual way.
[14:47:39] <Colourless> Please contact the application's support team for more information.
[14:47:57] <Colourless> also noticed this way up the console
[14:47:59] <Colourless> Unable to allocate id
[14:48:06] <Colourless> lots and lots of them actually
[14:48:06] <wjp> right
[14:48:34] <wjp> so we're probably just out of actorIDs
[14:48:43] <wjp> not too strange since we never clear those :-)
[14:53:56] * Colourless considering submitting bug assigned to wjp
[14:54:23] <wjp> feel free :-)
[14:58:08] <Colourless> with the I_ask intrinsic, who is supposed to free all the memory for the strings and the string list?
[14:58:21] <Colourless> it says it leaks, but how exactly?
[15:00:00] <wjp> not sure who should free answerlist
[15:00:04] <wjp> didn't really think about it
[15:00:44] <wjp> probably when the answer is actually returned
[15:01:05] <wjp> but that is rather a big hack currently :-)
[15:02:13] <Colourless> well, it's not going to be there for 'too' much longer
[15:02:15] --> oreilly has joined #pentagram
[15:03:00] <wjp> good :-)
[15:04:04] <wjp> about temporary NPCs: they should probably have the DISPOSABLE flag set?
[15:04:19] <wjp> does that flag mean it should get killed when leaving FastArea, btw?
[15:04:23] <wjp> (or just when changing map?)
[15:04:43] * wjp tries to remember
[15:04:53] <wjp> temp. NPCs probably should be killed when they leave FastArea
[15:05:05] <wjp> (especially since monster eggs seem to reset themselves then too)
[15:05:56] <Colourless> i don't know
[15:06:22] <Colourless> i think map change
[15:07:34] <Colourless> we have no task tracker btw :-)
[15:07:44] <wjp> I just killed it :-)
[15:08:44] <Colourless> i see :-)
[15:12:38] <oreilly> so is this going to be exult for u8?
[15:13:26] <wjp> I guess you could say that
[15:14:10] <Colourless> execept we have to do things in pentagram that we never imaged in exult :-)
[15:14:18] <Colourless> s/imaged/imagined/
[15:14:18] <oreilly> like what :)
[15:14:37] <Colourless> pathfinding with animations... ugh :-)
[15:14:47] <oreilly> yeah :)
[15:15:16] <Colourless> multithreading (not that difficult really). Saving the state of the entire usecode machine and kernel
[15:16:07] <Colourless> exult only needed to save the state of the world and it's simple usecode scripts. almost nothing like what we need to do
[15:17:14] <oreilly> do you need help with anything
[15:18:31] <wjp> well, there's still a lot of code that needs to be written :-)
[15:18:43] <Colourless> ai for one :-)
[15:18:54] <Colourless> combat :-)
[15:18:58] <wjp> and the aforementioned pathfinding :-)
[15:19:02] <oreilly> :)
[15:19:17] <Colourless> collision detection
[15:19:22] <wjp> saving/loading
[15:19:22] <Colourless> audio
[15:19:29] <wjp> sprites
[15:19:52] <Colourless> anything resembling crusader support
[15:19:53] <Darke> Most of the gumps.
[15:19:55] <wjp> avatar control
[15:19:59] <Colourless> oops i wasn't supposed to say that ;-)
[15:20:05] <Darke> Credit/quote scrolling.
[15:20:10] <wjp> item dragging
[15:20:15] <Colourless> intro and endgames
[15:20:28] <Darke> Colourless: What were you not supposed to say? I didn't see anything. *grin*
[15:20:40] <Colourless> intro and endgame format decoding (partially done) :-)
[15:20:43] <Darke> We have, however, got a working map viewer!
[15:20:52] <oreilly> :)
[15:20:54] <Colourless> and a semi functionanl usecode interpreter
[15:21:02] * Darke quickly hides before the retalliation occurs.
[15:21:09] <wjp> hey, that things is pretty much fully functional :-)
[15:21:11] <wjp> s/things/thing/
[15:21:15] <Colourless> and a neat graphical user interface framework :-)
[15:21:30] <oreilly> cool :) hey, it's a start
[15:21:36] <wjp> I'm only missing one opcode of the UCMachine
[15:21:44] <Colourless> and that is?
[15:21:47] <Darke> And lots of insane macros. *grin*
[15:21:53] <wjp> param pid change
[15:21:59] <Colourless> ah
[15:22:12] <Colourless> since darke knows how that is supposed to work, he can figure it out :-)
[15:22:45] <wjp> it seems to require adding a pid to each string/list
[15:23:36] * Darke seems to remember we kinda worked out what it does a few times. *grin*
[15:24:05] <Colourless> it shouldn't be so much of a problem anymore though since i made the spawn opcodes run the new process imediately, the new process should have access without the old deleting it
[15:24:39] <wjp> hm, you made spawn run the new process immediately?
[15:24:48] <Colourless> yes
[15:24:57] <wjp> just how exactly?
[15:25:00] <Colourless> a while ago too :-)
[15:25:22] <Colourless> // Run the new process
[15:25:24] <Colourless> newproc->run(CoreApp::get_instance()->getFrameNum());
[15:25:37] <wjp> uh oh
[15:25:55] <wjp> I made Kernel automatically run new processes first
[15:26:15] <wjp> (Kernel::setNextProcess)
[15:26:30] <Colourless> yes i noticed, BUT it shouldn't matter
[15:26:45] <wjp> why are you running it twice for spawn inline?
[15:27:04] <Colourless> take a guess :-)
[15:27:18] <wjp> uh, copy/paste error?
[15:27:29] <Colourless> no idea :-)
[15:28:53] <Darke> A cvs merge collsion when something 'autocorrected' a bunch of spaces to a tab, and you accidentally removed the >>>===<<< stuff floating around and left the two identical lines there? Noooooo... that's *never* happened to me!
[15:30:53] <wjp> I don't really like running processes from somewhere else than the Kernel
[15:31:13] <wjp> so I'll remove those run calls, and hope the setNextProcess works as well :-)
[15:31:35] <Colourless> change it if you want. the reason i did it was so simple small process will run faster
[15:31:51] * wjp nods
[15:32:08] <Colourless> previously spawn used to set cede to true, suspending the processes
[15:32:19] <wjp> yeah, I added that back
[15:32:26] <Colourless> it used to work like this
[15:32:30] <Colourless> spawn
[15:32:34] <Colourless> suspend current
[15:32:37] <Colourless> run new
[15:32:46] <Colourless> next frame
[15:32:58] <Colourless> continue first
[15:33:07] <Colourless> 'suspend' opcode
[15:33:11] <Colourless> next frame
[15:33:15] <Colourless> get return
[15:33:47] <Colourless> made that run in 2 frames, rather than 3
[15:34:39] <wjp> I made processes that get a 'wake up' signal run immediately too
[15:34:55] <Colourless> i just didn't like spawn suspending the current process, and instead i sort of made it partially work like a call opcode too
[15:35:58] <wjp> oh, before I forget: I looked at Darion's leaving-execution animation on win98. He seems to pause after every step.
[15:36:05] <wjp> We only get a pause after every two steps
[15:36:22] <Colourless> yes i noticed that problem here too
[15:36:50] <Colourless> his walking is 'different'
[15:37:35] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[15:37:36] <wjp> could that flag we were talking about indicate some kind of repeating loop?
[15:37:51] <Colourless> i've no idea
[15:41:29] <wjp> maybe you're supposed to return when that flag is set, and pick up there when the same animation is run again or something
[15:45:54] <Colourless> maybe when there is another instance of a animation with messed up sync we might be able to work it out
[15:46:39] <Colourless> but since we only seem to be having probs with darion in the excution scene, i don't know if we have enough info
[15:46:54] <Colourless> anything we say now would purely be a guess
[15:58:59] <wjp> I wonder what the first byte in the animation header means
[16:13:34] <wjp> well, that was an interesting try, but it didn't really help :-)
[16:14:34] <wjp> although... people do seem to walk more natural
[16:14:45] <wjp> it's just that Darion walks right through Tarna again :-)
[16:16:08] <Colourless> :-)
[16:16:31] <Colourless> i always thought EXCUTION would be the real sticking point :-)
[16:16:34] <wjp> I don't really get why, though... I doubled the distance he walks per frame, and halved the number of frames he walks diagonally
[16:16:49] <oreilly> does the execution scene work through the usecode? i mean, everything that happens during it is taken from the usecode? people moving, speaking, acting
[16:16:55] <wjp> yes
[16:17:50] <Colourless> eveything usecode controlled, except the playing of the animations. it tell the engine to play specific animation, which are in anim.dat
[16:19:20] <oreilly> oh, then this'll be easy ;)
[16:19:42] <wjp> what's "this"?
[16:20:03] <oreilly> i'm jk
[16:20:16] <Colourless> problem in the end is that the syncronization with darions animation seems to be shot to hell. it just doesn't work correctly since we don't know what the function params for the anim starting function are, nor do we know what all the data in the anim arrays are
[16:20:54] <Darke> wjp: The pointer to the current instantiation of a class. *grin*
[16:21:00] <oreilly> haha
[16:21:05] <oreilly> i see
[16:21:25] <wjp> Darke: ah! now it all becomes clear!
[16:21:46] <Colourless> in usecode this is at BP+06
[16:22:08] <Darke> Might the original's animation be 'nicer' because the collision detection in it is pausing the movement long enough so that it looks smoother?
[16:22:36] <wjp> there's no collision detection in there
[16:22:43] <wjp> (well, there is, but the script is broken :-) )
[16:23:59] <Colourless> the comparion is backwards :-)
[16:24:19] <wjp> so people wait when they're about to get too far _ahead_ of others :-)
[16:24:49] <Colourless> rather than when they are about to get too close behind the one in front
[16:25:51] * Darke snickers.
[16:27:29] <Colourless> example. it checks to see how far darion is infront of salkind, and if he is too far in front it will pause
[16:27:56] <Colourless> however, it is meant to be checking for how close darion is begin salkind :-)
[16:28:07] <Colourless> s/begin/behind/
[16:29:37] <Darke> Heh. At least it helps us debug this knowing that the scene is 'perfect', and is not being twiddled with in minor ways. *grin* Not that it's much of a consolation given the complexity of the scene.
[16:30:18] * Darke notices the time and immediately collapses into a ball of sleeping bunny. Should have been asleep at least an hour ago! *grin* Night!
[16:30:31] <Colourless> night :-)
[16:30:39] <wjp> night
[16:30:42] --- Darke is now known as DarkeSleep
[16:30:47] <wjp> you know... we may be on to something here...
[16:30:53] <wjp> I just took a look at the original's avatar walk anim
[16:31:03] <wjp> if you right-click just once, he takes one single step
[16:31:11] <wjp> and he alternates left and right steps
[16:31:13] <Colourless> yes
[16:31:16] <Colourless> yes
[16:31:28] <Colourless> that is if you do 2 single?
[16:31:33] <wjp> yes
[16:31:43] <Colourless> didn't realize that
[16:32:10] <Colourless> maybe that 'other' flag is run for 'n' ms or ticks or something
[16:32:19] <Colourless> s/flag/arg/
[16:32:47] <wjp> I'm not sure which one looks better... with or without returning/resuming on that flag
[16:33:04] <wjp> Darion's walk is definitely more like the original with, though
[16:33:21] <wjp> but he doesn't walk far enough before turning, so he walks too close to Tarna
[16:34:55] <Colourless> hmm, that last param is almost always 0x2710
[16:35:07] <Colourless> which obviously is 10000
[16:35:21] <wjp> yes
[16:35:36] <wjp> I think the only times where it isn't 10000 is for some death animations
[16:35:56] <Colourless> actually thats second to last
[16:36:06] <Colourless> last param is a uchar
[16:36:25] <wjp> IIRC, that one is 1 if and only if the other one isn't 10000
[16:36:39] <wjp> (or maybe it was the other way around)
[16:36:47] <Colourless> 0287: 0A push byte 01h
[16:36:49] <Colourless> 0289: 0B push 2710h
[16:36:51] <Colourless> 0A93: 0A push byte 00h
[16:36:53] <Colourless> 0A95: 0B push 2710h
[16:36:54] <wjp> ok, other way around then :-)
[16:36:58] <wjp> um, oh
[16:37:06] <wjp> so I don't remember correctly:-)
[16:37:32] --> mobill||PAGAN-ul has joined #pentagram
[16:37:56] <-- mobill||PAGAN-ul has left #pentagram ()
[16:38:00] --> mobill||PAGAN-ul has joined #pentagram
[16:38:04] <Colourless> there is a 10000, 1 in CLRLAVA::gotHit(ushort,short):
[17:01:57] <wjp> bbl, dinner
[17:20:18] <-- mobill||PAGAN-ul has left IRC (Read error: 110 (Connection timed out))
[17:33:36] <oreilly> what can i work on, i'd like to try at least
[18:05:09] <wjp> back
[18:07:40] <wjp> we can't really tell you what to work on... if just see an area where you think you can help, talk about it a bit with us
[18:07:56] <wjp> submit patches, discuss things, etc...
[18:08:58] <wjp> talking is especially important in this relatively early stage of development, since we still have a lot of things in our head which haven't been converted to code yet
[18:41:57] --> mobill||PAGAN-ul has joined #pentagram
[18:42:13] <mobill||PAGAN-ul> holy shit
[18:42:15] <mobill||PAGAN-ul> ok i was surrounded by about 10 undead
[18:42:25] <mobill||PAGAN-ul> so i cast rockflesh
[18:42:31] <mobill||PAGAN-ul> so that thye wouldnt kill me
[18:42:52] <mobill||PAGAN-ul> but they fight just wouldnet end
[18:43:36] <mobill||PAGAN-ul> so i decideded it was time to use the devastation (In vas ort corp)
[18:43:58] <mobill||PAGAN-ul> and every one was vaporized
[18:44:11] <mobill||PAGAN-ul> and then thhe avatar says "what have i done?"
[18:44:26] <mobill||PAGAN-ul> and i guess i was supposed to die or something
[18:44:32] <mobill||PAGAN-ul> but since i had rockflesh
[18:44:38] <mobill||PAGAN-ul> i just stood there
[18:44:44] <mobill||PAGAN-ul> and the computer froze
[18:44:49] <mobill||PAGAN-ul> :(
[18:45:00] <wjp> do you mean armageddon?
[18:45:10] <mobill||PAGAN-ul> i love Thaumaturge
[18:45:21] <mobill||PAGAN-ul> it might be called that
[18:45:33] <mobill||PAGAN-ul> its the 5th spell that you get
[18:45:36] <wjp> oh, it's called devastation in U8
[18:45:43] <mobill||PAGAN-ul> yeah
[18:45:47] <wjp> you're supposed to live through that
[18:45:49] <mobill||PAGAN-ul> this is in Pagan ultima 8
[18:45:57] <mobill||PAGAN-ul> weird
[18:46:18] <mobill||PAGAN-ul> well im gonna try it again
[18:46:58] <mobill||PAGAN-ul> :)
[18:47:40] <mobill||PAGAN-ul> btw how many times can you use a thaumatuge book till it runs out?
[18:47:51] <mobill||PAGAN-ul> does anybody know?
[18:48:38] <oreilly> armageddon kills everyone.. why do you want to do that
[18:53:14] <mobill||PAGAN-ul> its not armageddon, its devastation (just checked)
[19:04:52] <oreilly> k
[19:05:08] <oreilly> wonder why he says "what have i done" then
[19:05:40] <Colourless> devastation is u8's version of armageddon
[19:05:49] <Colourless> it kills everything in the game
[19:05:52] <oreilly> ah
[20:01:36] <Colourless> time for me to go
[20:01:38] <Colourless> cya
[20:01:40] <-- Colourless has left IRC ("casts invisibility")
[20:19:12] <-- mobill||PAGAN-ul has left IRC (Read error: 110 (Connection timed out))
[22:21:11] <wjp> yay, roof popping is kind of working :-)
[22:38:15] <oreilly> anyone linux saavy
[22:38:46] <oreilly> savvy*
[22:47:57] <oreilly> nm
[22:52:16] <-- oreilly has left IRC ()
[23:46:06] --> oreilly has joined #pentagram
[23:46:16] <wjp> wb
[23:46:29] <oreilly> thx :)
[23:46:49] <oreilly> have you decoded the intro and endgame flics?
[23:46:58] <wjp> Colourless did some work on that
[23:47:34] <wjp> I don't know how much exactly he know
[23:47:36] <wjp> s
[23:47:49] <oreilly> yeah
[23:48:16] <wjp> you had a linux question, btw?
[23:49:24] <oreilly> oh.. yeah, but i got it worked out.. thx
[23:51:07] <oreilly> none fo the gumps are in?
[23:51:17] <wjp> containers are working a bit
[23:51:21] <oreilly> of*