#pentagram@irc.freenode.net logs for 17 May 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:22:56] --> Kirben has joined #pentagram
[00:22:56] --- ChanServ gives channel operator status to Kirben
[05:37:29] <-- servus has left IRC ()
[10:07:45] --> exultbot has joined #pentagram
[10:07:45] --- Topic for #pentagram is: Pentagram: a game engine for Ultima 8 - http://pentagram.sf.net/
[10:07:45] --- Topic for #pentagram set by wjp at Sat Mar 15 22:48:22 2003
[10:39:28] <-- wjp has left IRC (Read error: 60 (Operation timed out))
[10:43:02] --> Colourless has joined #Pentagram
[10:43:02] --- ChanServ gives channel operator status to Colourless
[10:43:38] <Colourless> wjp, i think you may find the ethereal flag may be used to sepecify an object is in the item stack.... maybe
[10:44:10] --> wjp has joined #pentagram
[10:44:45] --- ChanServ gives channel operator status to wjp
[10:45:04] <Colourless> [20:14] <Colourless> wjp, i think you may find the ethereal flag may be used to sepecify an object is in the item stack.... maybe
[10:45:23] <Colourless> "[20:15] <Colourless> [20:14] <Colourless> wjp, i think" :-)
[10:45:41] <wjp> yes, the thought crossed my mind too
[10:53:52] <wjp> I guess I'll just go with that
[10:55:41] <wjp> hm, getEtherealTop() would probably have something to do with that too
[10:55:55] <wjp> I'd guess it returns the ID of the top item on the stack
[10:55:58] <wjp> (without popping it)
[10:56:05] --> Cashman has joined #pentagram
[10:58:26] <Cashman> ello
[10:58:32] <wjp> hi
[10:59:48] <Cashman> just wondering - what sorta structure was used for animation - not that I want to try anything!
[10:59:51] <Darke> Hi.
[11:00:01] <wjp> nothing overly complex
[11:00:09] <wjp> it's basically a long list of frame numbers
[11:00:11] <Cashman> just basic frame info? e.g frame range?! -I guess its very simple
[11:00:13] <Cashman> ok
[11:00:14] <Cashman> thanks
[11:00:22] <wjp> with attached to it some movement information
[11:00:27] <Cashman> and some basic flx style skeletal structure
[11:00:43] <wjp> it's not really a flex, but it's similar
[11:01:27] <Cashman> does it have headers e.g. avatarattack1
[11:01:34] <Cashman> well thats just an example
[11:01:38] <Colourless> no
[11:01:39] <wjp> no names :-(
[11:01:45] <Cashman> oh!
[11:01:58] <Colourless> playing the animations generally reveals what they are
[11:02:06] <wjp> after some guessing :-)
[11:02:11] <Cashman> then is it function triggered like usecode
[11:02:21] <Cashman> ?? so you just need to know what range to use
[11:02:23] <wjp> usecode can trigger animations
[11:02:27] <Cashman> ok
[11:02:43] <wjp> but animations for the avatar are generally triggered by the player, obviously :-)
[11:02:50] <Cashman> yeah
[11:04:35] * Cashman reads logs
[11:05:28] <Cashman> implementing the font file should be quick and easy?! - of course your gonna keep the console for the geeks and nerds right!
[11:05:51] <Cashman> are you gonna implement the game fonts soon?
[11:06:03] <wjp> maybe
[11:06:26] <wjp> there isn't anything holding it back, I guess
[11:06:39] <Cashman> wjp I like what your've done with the console! its like common games like quake 3!
[11:06:43] <wjp> just that I'm currently focusing on usecode stuff
[11:06:51] <wjp> console is Colourless' idea, not mine :-)
[11:06:56] <Cashman> except its got other behind the scenes stuff like usecode which is interesting
[11:07:04] <Cashman> oh sorry!
[11:07:14] <Cashman> well bravo to colourless then
[11:07:23] <Colourless> console simpilfies things
[11:07:32] <Cashman> "~" was a great option and scrolling!
[11:07:34] <Cashman> yeah
[11:07:38] <Colourless> allows an easy way to get debug message
[11:08:11] <Cashman> are you thinking of having a scroll option where you can physically hold down the the page key!
[11:08:54] <Colourless> no idea, it's more flashy than anything else
[11:09:03] <Cashman> I mean for debug purposes its really slow page page page... - y
[11:09:05] <Cashman> yeah true!
[11:09:41] <Cashman> maybe a pause option for the console - so by default e.g. in the .cfg when you enter console it pauses the game
[11:10:01] <Cashman> but you can e.g. turn the game back on in the background with the console running
[11:10:19] <Cashman> thats what quake 3 does? just for future thoughts
[11:11:25] <Colourless> i am quite well aware of everything that quake 3 does
[11:11:34] <Colourless> i do not need you to tell me :-)
[11:11:43] <Cashman> hehe ok
[11:12:19] <Cashman> just that I thought wrong on the idea that most programmers dont really look into such things as games e.g. quake3
[11:12:52] <Kirben> Is music in pentagram far off ?
[11:13:01] <Colourless> if you don't like and don't play games, you shouldn't be programming them
[11:13:14] <Colourless> Kirben: yes most likely isn't going to be in there quite yet
[11:13:59] <Cashman> ok
[11:14:27] <Cashman> I really should have said hobbiest programmers.. sorry!! thats what I really ment
[11:14:44] * Darke agress with Colourless. He's a programmer 'cause he liked games, not a gamer 'cause he likes programming. *grin*
[11:14:50] <Cashman> obviously if you have a career you think seriously about it and if you hate it it shouldnt be ur career
[11:19:29] <Cashman> death disk!
[11:19:53] <Cashman> yeah man I use to love killing people with the darts!! thats the only way you cant die via devon etc.
[11:20:26] <Cashman> and I caused screw up in the game once!! devon and bevon were fighting each other when I used some flamming bottles etc..
[11:20:31] <Cashman> and killed someone
[11:21:15] <Cashman> and the game stuck - with them fighting! and the guards fighting them as well - the guards dieing after a while
[11:21:35] <Cashman> hey did the guards get some majic protective power from the ladie herself? if I can remember I think so...
[11:24:37] * Darke doesn't know. He never played u8. *grin*
[11:24:48] <Cashman> I remember that!!
[11:24:59] <Cashman> hehe well you shoudl have fun playing it soon darke
[11:25:12] <Cashman> ever thought of getting a copy
[11:25:28] <Cashman> or is it even more fun waiting for pentagram to kinda work and then playt
[11:26:08] <Darke> Not likely. I've already done the debug-test cycle for u7, and know that you really don't want to play the game again for ages after going though it all searching and eliminating bugs, I don't expect it'll be any different for u8. *grin*
[11:26:27] * Darke has multiple copies of u8, just has never had the PC to play them on, when he had the will to play them.
[11:27:42] <Cashman> ok
[11:35:47] * Cashman recompiles..
[11:36:14] <Cashman> he wants to do some finish! anyone care to go on a finish tournament someday
[11:36:48] <wjp> finish tournament?
[11:38:15] <Cashman> oops fishing!
[11:38:31] <Cashman> hehe sorry
[11:42:17] <Cashman> few warnings.. ok
[11:42:44] <wjp> anything other than 'unused variable' warnings?
[11:43:40] <Darke> Or invalid comparison between signed and unsigned types warnings. *grin*
[11:44:23] <Cashman> OBJ/DisasmProcess.o: warning: duplicate section `.data$_ZTV7Process' has different size
[11:44:31] <Cashman> the only type of warning
[11:44:37] <wjp> eh?
[11:44:57] <Cashman> wait! pentagram doesnt run - crashes on loading nps
[11:45:05] <Cashman> npcs
[11:45:05] <Cashman> rebuild all!
[11:45:09] * Cashman tries again
[11:45:43] <Cashman> didnt rebuild all lasttime
[11:50:06] <Cashman> and yeah the above doesnt mean anything - missing info, didnt all copy
[11:50:10] <Cashman> wait.
[11:52:39] <Cashman> grrr
[11:54:26] * Darke does dangerous stuff (like read the cvs info pages) and discovers that apparently if we put entries into a CVSROOT/cvsignore file, it does the ignore on a project basis, so we could put things like '.deps' and 'Makefile' and such in there rather then cluttering up the build tree with .cvsignores that contain only a couple of lines like that. *grin*
[11:54:51] <wjp> yeah
[11:54:52] <Colourless> no!
[11:54:54] <Cashman> hehe yeah.,.
[11:55:02] <Colourless> we can not have such efficency
[11:55:27] <Darke> Ah well, I guess I'll have to do it then, just to produce a flurry of commit emails and to annoy Colourless. *grin*
[11:55:31] <Cashman> hehe thats the spirit
[11:59:09] <Darke> Yay. Looks like it worked. *grin*
[12:00:12] <Cashman> eh! devon still disappears
[12:00:17] <Cashman> oh hehe
[12:03:02] <Cashman> is this correct?
[12:03:14] <wjp> no
[12:03:21] <Cashman> or have to not compile something new?!
[12:03:39] <Cashman> should devon not disappear at all!
[12:03:43] <Cashman> ?
[12:03:48] <wjp> no, devon shouldn't disappear
[12:04:21] <Cashman> i'll have to see where I went wrong then in the update
[12:04:40] * Cashman looks at changelog
[12:06:06] <Cashman> what key file(s) is this in - otherwise I could just checkout the entire cvs again!
[12:06:47] <wjp> cvs update will automatically get the latest version; doing another checkout is quite pointless
[12:06:53] <Darke> Just do a cvs diff. It'll detail any changes you made, or note any differences to the original source tree if it failed to update correctly.
[12:07:29] <Cashman> ok
[12:07:36] <Cashman> thanks
[12:07:39] <Cashman> I found the option
[12:10:58] <wjp> I guess we know enough about ethereal items to implement them now
[12:11:23] * wjp adds stack to World
[12:12:16] * Darke creates his big stack of commit emails for the week/month/year. *grin*
[12:12:44] <Colourless> my email stack was 52 deep :-)
[12:12:59] <Colourless> this occurs if i don't check my email for a day
[12:13:14] * Darke snickers.
[12:13:18] <Colourless> most of them from.. wjp!
[12:13:26] <wjp> yay!
[12:13:29] <Darke> This is why we shouldn't be so proactive with our pentagram programming y'know. *grin*
[12:13:32] <Cashman> hehe bla bla is no longer in the repository
[12:13:59] <Colourless> well, wjp was mostly just modifying the same files over and over :-)
[12:14:10] * Darke had noticed that yes. *grin*
[12:14:18] <Darke> "Commit early, commit often"? *grin*
[12:14:22] <wjp> yes :-)
[12:14:57] <Colourless> saves headaches for yourself, and can cause them for others
[12:16:46] <Cashman> is walking of the npcs mostly randomized - handled via usecode? or hardcoded in .exe
[12:17:55] <Darke> .exe I believe.
[12:18:37] <Colourless> contrary to popular belief the npcs in u8 do actually run on activity schedules
[12:18:48] <Colourless> the activities are coded into the exe
[12:18:53] <Colourless> however the schedules are usecode contolled
[12:19:13] <Cashman> makes sence..
[12:19:27] <Cashman> ....................................... - there you go Darke, more dots for ya tonite
[12:19:48] <Colourless> biggest problem for U8 was that due to the level of detail in the animations and npc sprites, and limited disk space, it wasn't possible to create complex activities
[12:20:10] <Colourless> only certain npcs, such as Mordea actually got activity animations
[12:22:52] <Cashman> yeah
[12:23:56] <Cashman> mordea - that was the her majesty the queen?
[12:24:01] * wjp nods
[12:24:09] <Colourless> yes, the Tempest
[12:25:00] <Cashman> ohh can't wait to see her again
[12:25:17] <Cashman> she's actully devon and bevons sister right?@!
[12:25:25] <Cashman> if I remember correctly
[12:25:30] <Colourless> only Deven
[12:25:42] <Cashman> hmm eh I thought they were brothers
[12:25:45] <wjp> who's bevon?
[12:25:58] <Colourless> he is thinking of Beren i think
[12:26:03] <wjp> Bentic?
[12:26:10] <Cashman> another guy who looks like devon
[12:26:15] <Cashman> no bentic works in the lib
[12:26:18] <wjp> all NPCs look alike to me :-)
[12:26:32] <Colourless> you are thinking of Beren the Sourcerer
[12:26:34] <Cashman> eh beren might be his name - he looks similar to devon!!
[12:26:40] <Cashman> I'm sure they are related?!
[12:26:51] <wjp> no
[12:27:02] <Cashman> do you know who I'm talking about though?
[12:27:10] <wjp> If you mean Beren, yes
[12:27:11] <Cashman> even though you say no to comfirm the above
[12:27:32] <Cashman> yeah that is probablly the nane
[12:27:33] <Cashman> name
[12:27:34] <Cashman> yeah
[12:28:00] <Cashman> how were they linked in a relationship again!? good friends?
[12:28:26] <wjp> did they have any kind of relationship?
[12:29:03] <Cashman> I'm sure I remember devon saying who beren was!
[12:29:17] <Cashman> if we are thinking of the same person
[12:29:22] <wjp> oh, I'm sure Devon knows Beren
[12:29:30] <wjp> Beren's the local sorcerer
[12:30:19] <wjp> hm, weird; why doesn't std::stack have a clear() function?
[12:30:59] * wjp thought all stl containers had one
[12:31:26] <Colourless> look here: http://www.sgi.com/tech/stl/index.html
[12:32:23] <wjp> I have several books on the STL
[12:32:33] <wjp> so I can look it up, but I was just wondering why :-)
[12:35:26] <Colourless> cause it might not be a container
[12:35:59] <wjp> well, it's a kind of a wrapper around a std::deque (in my implementation anyway)
[12:36:45] <Colourless> A stack is an adaptor that provides a restricted subset of Container functionality
[12:50:16] <Cashman> bugger devon still disappears - oh well I obviously havnt updated somthing
[12:50:21] <Cashman> I'll check l8er
[12:53:17] <-- Cashman has left IRC ()
[13:21:29] * wjp looks around for some usecode to test pushing/popping with
[13:22:46] <Colourless> you said the backpack was created with it... so hack in code to hatch the FIRST egg :-)
[13:23:15] <wjp> well, a backpack is created with it somewhere
[13:23:20] <wjp> I don't think it was in first, though
[13:23:50] <wjp> FREE::1EE2
[13:23:56] <wjp> which seems to be used to give items to the avatar
[13:24:22] <Colourless> ah yes, i remember, the backpack was given by the engine itself
[13:24:33] <Colourless> i think
[13:41:37] <Colourless> so i'm thinking, how should the camera be implemented. You said you didn't want singleton classes... but i can't think of another way
[13:42:10] <wjp> me?
[13:42:20] <Colourless> yes i'm pretty sure it was you :-)
[13:42:31] <wjp> I did?
[13:43:12] <Colourless> yes
[13:43:39] <wjp> hm, can't really think of a reason why
[13:43:52] <wjp> (why it shouldn't be a singleton, that is)
[13:44:30] <Colourless> [14:48:35] <wjp> hm, I don't really want to make TypeFlag another singleton
[13:44:30] <Colourless> [14:48:40] <wjp> we're starting to have too many of those
[13:44:36] <Colourless> -> http://www.math.leidenuniv.nl/~wpalenst/pentagramlog.php?log=8Mar2003
[13:44:44] <wjp> ah :-)
[13:45:02] <Colourless> see, you did say it :-)
[13:45:17] <wjp> that wasn't really meant as a general 'no' against singletons :-)
[13:46:41] <Colourless> alternitavely it could be made part of the GameMapGump... which i really should do more work on...
[13:47:01] <wjp> something can be said for that, yes
[13:47:44] <Colourless> will need a number of camera processes to do various scrolling
[14:22:02] * wjp nods
[14:22:17] <wjp> they should be fairly simple though
[14:23:55] <Colourless> yeah just thinking of the correct method of scrolling. Should we use some advanced acceleration (which i think the original did), just do a linear move or maybe a quadratic or cubic move
[14:24:32] <wjp> how advanced exactly?
[14:24:43] <Colourless> i don't know
[14:25:00] <Colourless> it speed up then slowed down when scrolling
[14:25:01] <wjp> something quadratic might look nice
[14:25:56] <Colourless> i think that the 'path' should be re-evaluated every frame when scrolling to an item, because the item may have moved
[14:26:38] <wjp> are there scrolling intrinsics to an item?
[14:26:59] <wjp> I see a Camera::scrollTo, but that takes coords
[14:27:41] <Colourless> true, only scrolls to a popint
[14:27:54] <Colourless> Camera::setCenterOn(uword) probably doesn't scroll, but it might...
[14:28:18] <wjp> track the item, you mean?
[14:28:43] <wjp> it doesn't return a process, so the initial movement probably is instantaneous
[14:30:04] <Colourless> annoying
[14:30:22] <Colourless> 0581:1C6D is what is used everywhere to scroll the camera
[14:30:49] <wjp> looks like "scroll & wait"
[14:31:39] <Colourless> it appears that it has to do a scroll before it does a setCenterOn
[14:37:43] <wjp> hm, it looks like setCenterOn means the camera starts tracking the item
[14:38:02] <wjp> setCenterOn(0) is also used
[14:38:11] <wjp> that probably fixes the camera to its current position
[14:38:50] <Colourless> yeah i would have guessed a much
[14:39:32] <Colourless> 0AB4: 0A push byte 20h
[14:39:33] <Colourless> 0AB6: 0F calli 02h 00BE (Camera::setCenterOn(ushort))
[14:39:38] <Colourless> which npc is 32?
[14:39:54] <Colourless> ah it's Beren
[14:40:09] <Colourless> which would make sense since it's in BERENHCH
[14:40:11] <wjp> that's for the entrance to Daemon's Crag then, I guess?
[15:11:24] * Darke wonders why adding a directory to cvs is instantaneous, whereas adding a file isn't, nor is removing a file or directory. Seems kinda bizzare.
[15:12:24] <wjp> cvs' handling of directories is broken, that's why :-)
[15:14:05] <Darke> That makes sense in a completely illogical way. *grin*
[15:16:07] <wjp> well, it stores metadata about a directory in the directory itself
[15:18:15] <wjp> hm, why didn't you add your changelog entry to the top? :-)
[15:18:35] <wjp> (not that I mind; just curious)
[15:19:01] <Darke> I kinda did. I just didn't count on you committing before I did. *grin*
[15:19:25] <wjp> :-)
[15:19:39] <wjp> with my commit frequency?
[15:19:46] <Darke> Commit->"ChangeLog not up to date"->update->can't be bothered messing around to realign something so trivial->commit.
[15:20:35] <Darke> Probably more of a case that I didn't expect to be delayed from my commit for about 2 hours. *grin* Got chatting with my former flatmate now working in the .uk about his new job and was distracted for a while. *grin*
[15:21:28] <Darke> There literally is nothing inside the compiler files btw. Everytime I get to try to start it, I get distracted by having to do something else before hand, before I can start it. *grin*
[15:22:59] <Colourless> :-)
[15:23:02] <wjp> heh :-)
[15:26:03] <Colourless> why does devon disappear?
[15:26:43] * wjp tries
[15:26:54] * Colourless think you are not properly updating per chunk object lists
[15:26:56] <wjp> hm
[15:27:00] <wjp> it used to work
[15:27:07] <Colourless> keep moving devon a 'long' way
[15:27:10] <wjp> yeah, I know
[15:27:14] <Colourless> then try to keep tracking him
[15:27:18] <wjp> it originally worked like this
[15:27:27] <wjp> (but then I didn't update object lists at all)
[15:27:31] <wjp> so then I fixed that
[15:27:38] <wjp> which made it work
[15:27:43] <wjp> but now I broke it again it seems :-)
[15:29:39] <wjp> hm, missed a !
[15:30:02] <wjp> it currently only updates the item lists if an item is contained, equipped or ethereal :-)
[15:30:26] <Colourless> ooh
[15:30:35] <Colourless> all the cases when it shouldn't :-)
[15:30:43] <wjp> exactly :-)
[15:30:46] * Darke laughs!
[15:30:56] <Darke> Oopsie. *grin*
[15:31:23] <Colourless> hey, i did a similar thing with my sorting code. it would attempt to only sort the items that were not overlapped :-)
[15:31:32] <wjp> :-)
[15:32:17] * Darke guesses that would be a relatively pointless endevor. "Oh look. It's sorted. La-de-dah." *grin*
[15:32:48] <wjp> well, at least it speeds things up :-)
[15:32:57] <Colourless> actually it didn't
[15:33:00] <Colourless> it slowed things down
[15:33:09] <Colourless> think about it
[15:33:24] <Colourless> far more object don't overlap another object compared to the amount of objects that do overlap
[15:34:44] <wjp> well, depends on where that condition was, I guess
[15:36:28] <Colourless> the code is like this
[15:36:55] <Colourless> if (o1.overlaps(o2)
[15:36:59] <Colourless> {
[15:37:17] <Colourless> if (o1 < o2)
[15:37:17] <Colourless> {
[15:37:18] <Colourless> }
[15:37:23] <Colourless> eles
[15:37:23] <Colourless> {
[15:37:23] <Colourless> }
[15:37:23] <Colourless> }
[15:37:30] <Colourless> or something like that
[15:37:40] <Colourless> actually think about it, it wasn't the overlaps line that i got wrong
[15:38:10] <Colourless> i think
[15:38:26] <Colourless> s/think/i think/
[15:38:34] <Darke> Hmm... what would you name a function that you would call to ensure a directory exists, creating it if necessary? I can't really think of a clean name. *grin*
[15:38:53] <wjp> mkdir? :-)
[15:39:07] <Colourless> CreateDirectory? :-)
[15:39:58] <Darke> I suppose that's the logical one. *grin*
[15:40:26] <Colourless> yes it was the overlap line that i got wrong
[15:40:38] <Colourless> i changed it between Pentagram old and Pentagram New
[15:40:55] <Colourless> this is what is is in pentagram new
[15:40:56] <Colourless> // Doesn't overlap
[15:40:56] <Colourless> if (si2->occluded || !si->overlap(*si2)) continue;
[15:41:12] * Darke was thinking more from the line of "Does the directory exist? If not create it." rather then "Just create the directory dagnabbit!". *grin*
[15:41:57] <Colourless> in old however, it didn't call continue because it worked the other way.
[15:41:58] <Colourless> // Overlaps
[15:41:58] <Colourless> if (!ss2->occluded && ss->overlap(*ss2))
[15:41:58] <Colourless> {
[15:42:04] <Colourless> }
[15:42:31] <Colourless> remembering now what happened was i forgot to right continue, so it ended up working totally wrongly
[15:43:35] * Darke blames Colourless writing code half asleep at 2am in the morning. This is, of course *not* what he's doing right now at all!
[15:44:15] <Colourless> wtf, how many commit emails?
[15:44:22] * Darke is completely 100...Zzzzzzz...% awake!
[15:44:45] * Darke grins and blames it all on wjp!
[15:45:03] <Colourless> i count 33
[15:45:13] <wjp> commit mails?
[15:45:23] <Colourless> yes
[15:46:28] <Darke> Probably my cleaning up of .cvsignore and last commit (along with a few wjp commits too).
[15:46:40] <wjp> oh, ancient history :-)
[15:47:48] <Darke> Yeah! Happened, oh, an hour at the most ago! Get with the times, you should know to clean your inbox of commit emails at least once every 5 minutes! *grin*
[15:48:22] <Colourless> i didn't have my email client open
[15:49:30] * wjp sighs... still so many Item:: intrinsics left to do :-)
[15:49:53] <Colourless> at least we sort of know what they supposed to be doing
[15:49:58] <Colourless> unlike u7 and si
[15:50:01] <wjp> :-)
[15:50:05] <Colourless> and tgwds.... ugh
[15:50:21] <wjp> we'll already have a lot of the intrinsics; just need to match them up with numbers :-)
[15:50:25] <Colourless> i guess that's a good reason why tgwde are tgwdg :-)
[15:50:32] <Colourless> uh
[15:50:32] <Darke> The question is, however, where do we start? *grin*
[15:50:36] <Colourless> kill me now!
[15:50:40] <Colourless> DO IT!
[15:50:50] <-- Colourless was kicked from #pentagram by wjp (uh, ok?)
[15:51:02] --> Colourless has joined #pentagram
[15:51:02] --- ChanServ gives channel operator status to Colourless
[15:51:04] <Colourless> oi!
[15:51:05] * Darke laughs!
[15:51:14] * Darke stabs Colourless with the blunt end of a carrot.
[15:51:20] <Colourless> oi!
[15:51:34] <Darke> Umm... didn't you say you wanted to be killed, or something?
[15:51:52] <Colourless> i said killed, not kicked
[15:51:59] <Colourless> and not prodded either
[15:52:11] <wjp> I probably didn't kick hard enough :-)
[15:52:21] * Darke must admit he's laughing himself silly at the mental image of him stabbing someone with a blunt end of a carrot. Must need sleep or something. *grin*
[15:53:11] <Colourless> does I_doAnim do anything?
[15:53:16] <wjp> it should
[15:54:03] <Colourless> well, devon is 'suppoed' to do stuff at the end of his first conversation
[15:54:22] <wjp> he should turn to look, right?
[15:54:47] <Colourless> yes
[15:55:08] <Colourless> and the avatar is suppoesd to get up, but i don't know if that's part of the usecode
[15:56:02] <wjp> hm, I don't see doAnim() being called
[15:57:31] <wjp> there are getMap() and isNPC() calls there
[15:57:35] <wjp> and those aren't implemented
[15:58:47] <Colourless> ah
[15:59:31] <wjp> I'll do those now
[16:03:09] --- Colourless is now known as Cless|Away
[16:03:16] <wjp> yay! he turns :-)
[16:03:48] <wjp> hm, in the wrong direction, though
[16:03:55] <wjp> but that may be because getDir() isn't in yet
[16:05:02] <Cless|Away> yay
[16:05:19] <Cless|Away> getDir() is going to a most interesting function to implement
[16:05:25] <wjp> yes :-)
[16:05:33] <Cless|Away> i don't know if there is an actual formular used
[16:05:36] <wjp> I'm thinking of using the last animation played
[16:05:45] <wjp> we have to store that anyway
[16:05:55] <wjp> (Npc::getLastAnimSet())
[16:10:06] <wjp> and another commit... :-)
[16:10:23] <wjp> ...must..increase..SF..activity..score... :-)
[16:12:14] <Darke> So from now on we commit everything as binary? Works for me. *grin*
[16:12:30] <Cless|Away> hehe
[16:24:56] <-- Kirben has left IRC ("Sleeep")
[16:35:51] --> sbx has joined #pentagram
[16:43:35] <wjp> bbl, dinner
[17:17:46] <-- sbx has left IRC ("X-Chat [1.6.4]")
[17:17:55] <wjp> back
[17:18:45] * Darke yays! and worships the returning wjp!
[17:18:55] <Darke> Ok, so I need sleep. So sue me. *grin*
[17:18:56] <wjp> bow before me, mortal :-)
[17:19:10] <wjp> *cough*
[17:19:19] <wjp> stop that, before I get weird ideas :-)
[17:19:29] <Darke> s/mortal/rabbit/ surely? *grin*
[17:19:40] <wjp> you're not a mortal rabbit?
[17:19:52] <Darke> You don't already have weird ideas? This is... unexpected.
[17:20:06] <wjp> see, it's already too late then!
[17:20:13] <Darke> Something like that. But you're not maximising your surreality that way. *grin*
[17:20:14] <wjp> I'm having weird ideas and I don't even realize it!
[17:21:37] <Darke> Good wjp-san. You are one with the weirdness. Let it *flow* through you, like water flows through concrete.
[17:21:55] <Darke> ("Yan always speek like this when he is on a mission!" *ahem*)
[17:22:15] * wjp hmms
[17:22:31] * wjp wonders what 'resetRef', 'setRef' do
[17:23:12] <wjp> hm, there's also a Kernel::resetRef it seems
[17:23:41] <Darke> ("That's just the *sickest* think I've ever seen! *points at Yan* Except for that poncy git over there!") Too much Giants: Citizen Kabuto it would seem. *grin*
[17:24:01] <Darke> Resets or Sets the Reference count?
[17:25:10] <wjp> Kernel::resetRef(uword, ProcessType)
[17:25:14] <wjp> resetRef(uword, uword)
[17:25:18] <wjp> setRef(uword, uword, uword)
[17:26:10] <wjp> (uword, ProcessType) could be the same things that were passed to the 'set info' opcode
[17:26:49] <Darke> *ponder* Makes sense.
[17:32:09] <wjp> the 'normal' resetRef seems to take an item number as first param too
[17:32:34] <wjp> also cases where first param is 0
[17:33:02] <Darke> What about the last parameter? Is it 0 at the same time?
[17:33:46] <wjp> don't think so
[17:34:27] <wjp> a bit hard to tell since there seems to be a wrapper usecode function around it
[17:34:58] <wjp> a lot of leaveFastArea functions for NPCs contain 4 resetRef calls
[17:35:03] * Darke nods.
[17:35:36] <wjp> first param is 0x0205, 0x0204, 0x00F0, 0x0200 then
[17:35:59] <wjp> hm, not just leaveFastArea
[17:36:03] <Cless|Away> resetRef will kill a process
[17:36:05] <wjp> lots of NPC events
[17:36:14] <wjp> ah, all processes of a given type
[17:36:15] <wjp> ?
[17:36:37] <Cless|Away> yes iirc
[17:36:56] <wjp> I don't think setRef is called anywhere
[17:37:11] <Cless|Away> there should be some comments by me about them somewhere
[17:37:32] <Cless|Away> there us a ProcessType that is used to inidicate all processes
[17:37:35] <wjp> there is one call to setRef, but that's in a FREE function that doesn't appear to be called
[17:37:43] <Cless|Away> i 'think' the first arg is the class
[17:37:55] <wjp> yeah, first arg is shape number
[17:39:25] <Cless|Away> the ProcessType is set with set info
[17:43:47] <Cless|Away> the LITZAP functions use resetRef (through the wrapper)
[17:44:11] <wjp> I can't find setRef being called anywhere
[17:44:19] <wjp> resetRef is called in lots of places
[17:44:30] <wjp> both Kernel::resetRef and resetRef
[17:45:16] <Cless|Away> i wonder what teh difference is
[17:45:32] <wjp> different programmer? :-)
[17:45:36] <Cless|Away> nothing it appears
[17:46:12] <Cless|Away> a process type of '6' means all processes for this class.
[17:46:35] * wjp wonders what's so special about 6 :-)
[17:46:55] <Cless|Away> a class of 0 means any class
[17:47:37] <wjp> so resetRef(0,0) would be pretty fatal?
[17:47:43] <wjp> (0,6)
[17:47:51] <Cless|Away> yes
[17:47:58] <Cless|Away> it would kill everything
[17:48:10] <wjp> hm, is this only usecode processes?
[17:48:23] <Cless|Away> i would think so
[17:50:15] <Cless|Away> i just can't help but think that resetRef is not entirely safe
[17:50:34] <wjp> it probably isn't
[17:51:14] <wjp> I hope they're careful with it :-)
[17:51:23] <Cless|Away> because 2 LITZAPEW/NS in the same area would kill each others processes when leaving the fast area
[17:52:05] <Cless|Away> ah, no they wouldn't
[17:52:12] <Cless|Away> what am i thinking
[17:52:31] <wjp> hm, I was confused about the same thing
[17:52:37] <wjp> they are itemnum based, not shapenum
[17:52:46] <Cless|Away> 00AD: 0A push byte 06h
[17:52:47] <Cless|Away> 00AF: 40 push dword [BP+06h]
[17:52:47] <Cless|Away> 00B1: 4C push indirect 02h bytes
[17:52:47] <Cless|Away> 00B3: 11 call 0581:2A56 (unknown)
[17:52:54] <Cless|Away> it's pushing the item number
[17:53:24] <Cless|Away> the first arg Kernel::resetRef is the item number
[17:53:50] <Cless|Away> and set info sets both the ProcessType and it sets the item number
[17:54:24] <Cless|Away> so, resetRef will kills all processes of the 'item' of the specified type
[17:55:22] <Cless|Away> question remains that you asked before, does this affect non usecode processes
[17:55:33] <Cless|Away> my guess is it does
[17:55:58] <wjp> so all processes would have an item/type?
[17:56:08] <Cless|Away> my guess is yes
[17:56:30] <Cless|Away> i'm just thinking of if a process is terminated and it has a child process
[17:57:03] <Cless|Away> that child process, 'may' be spawned by an intrinsic
[17:57:31] <Cless|Away> of course that will probably still need handling in a better manner anyway attempting to catch terminating processses
[17:58:38] <Cless|Away> as far as I can tell, child processes aren't supposed to be terminated
[18:00:36] <wjp> hm, setRef might just be setRef(pid, item, type) to set the process' info
[18:02:08] <Cless|Away> it does 'something'
[18:02:56] <Cless|Away> not that it matters much:-)
[18:19:40] * Darke yawns. Sleep was calling a few hours ago. *grin* Night!
[18:19:58] --- Darke is now known as DarkeZzz
[18:20:16] <Cless|Away> cya
[18:20:57] * DarkeZzz points out that Colourless really isn't kinda away anymore as he walks out the door. *grin*
[18:32:46] --> Dominus has joined #pentagram
[18:33:19] <Dominus> hey ho
[18:33:21] <Dominus> not too bad today
[18:35:39] * Dominus hopes someone takes pity on the makefile.mingw but is happy whenever someone does, after all he didn't yet even began "pulling his own weight" as a member of Pentagram :-)
[18:43:32] <Cless|Away> oh come on, it's not that hard to add a few files and directories to the lists
[18:43:39] <Cless|Away> :-)
[18:44:46] <Dominus> I'm actually looking at the readme right now and am going to add a section of already possible keystrokes
[18:50:44] <Cless|Away> key strokes are likely to change at any time :-)
[18:51:20] <Dominus> yeah, but it sure is nice to have them documented for other people
[18:51:34] <Dominus> and it gives me something to do :-)
[18:51:56] <wjp> not really :-)
[18:52:12] <Dominus> aehm, true
[18:52:34] <Dominus> arrow keys, ^, page up/down, mouse
[18:52:49] <Dominus> ^=~
[18:54:49] <wjp> 0-9,a-e
[18:54:49] <wjp> escape,q
[18:54:58] <wjp> [,]
[18:54:58] <wjp> t
[18:55:09] <Dominus> t = ?
[18:55:23] <Dominus> , =?
[18:55:50] <wjp> , = a separator ;-)
[18:56:10] <Dominus> he he
[18:56:21] <Dominus> so what do the brackets do?
[18:56:51] <Dominus> ok
[18:56:52] <Dominus> I remember t
[18:56:52] <wjp> try it :-)
[18:56:56] * Dominus slaps himself
[18:56:58] <wjp> (press ] first)
[18:57:32] <Dominus> where is ] located in non german keyboard?
[18:57:54] <Dominus> because Alt+Ctrl+9 does not much
[18:58:01] <wjp> [] are next to the p
[19:00:37] <Dominus> what is that supposed to be? blanking of screen? if you press ] (which is + on my keyboard) you get to see grey and a little triangular shape to the right top
[19:00:53] <Dominus> if you then scroll with the arrow keys [ does not do anything anymore :-)
[19:01:18] <Dominus> sometimes I'm thinking about getting an US-keyboard
[19:01:24] <wjp> try pressing ] a couple of hundred of times :-)
[19:01:42] <Dominus> germanh keyboard and sdl apps don't really work together
[19:02:09] <Dominus> uh
[19:02:20] <Dominus> that's very interesting
[19:02:46] <Dominus> is that the paint order?
[19:02:52] <wjp> yes
[19:03:22] <wjp> Cless|Away: so you think I should move item/type from UCProcess to Process?
[19:03:46] <wjp> s/so you/so do you/
[19:14:36] <Dominus> fishing and eating fish is nice (didn't tj´hink I could be so awed by so simple things in a game :-))
[19:15:07] <wjp> it's pretty cool :-)
[19:15:36] <wjp> I actually wrote that create item intrinsic to get fishing working :-)
[19:15:45] <Dominus> he he
[19:16:11] <Dominus> is it in the original also that it doesn't mind left or right click for target select
[19:16:14] <Dominus> ?
[19:16:23] <wjp> no idea
[19:16:31] <wjp> target select is a _really_ big hack currently
[19:16:44] <wjp> I mean, a _REALLY_ big hack :-)
[19:16:46] <Dominus> ok, so forget about it
[19:17:02] <wjp> you might notice that it actually normally processes the click too
[19:17:54] <Cless|Away> wjp: i don't know
[19:18:03] <Cless|Away> wjp: i think it should probably be moved
[19:19:52] <wjp> then the next question is of course: what should they be set to in other processes?
[19:20:22] <Cless|Away> well, item is pretty obvious
[19:20:39] <wjp> itemnum for Item, Npc, Container, etc...
[19:20:43] <wjp> 0 otherwise
[19:20:48] <Cless|Away> for processtype, i'm not entirely sure, but i'm guessing that 0 would be ok as a default
[19:20:52] <wjp> I would guess
[19:33:10] <Dominus> should I update readme with the work-dir stuff and <video><fullscreen>
[19:33:13] <Dominus> ?
[19:33:16] * wjp is implementing npcdata-reading in the meantime... *yawn*
[19:33:40] <wjp> work-dir: doesn't do anything yet I think
[19:33:48] <wjp> fullscreen: sure, why not
[19:34:01] <wjp> although it's not our fault if pentagram locks up with no way to get out :-)
[19:34:32] <Dominus> yeah, I'm mentioning it anyway so when it does it is already there :-)
[19:35:13] <Dominus> Replace '/path/to/u8/work/dir' with the work directory (not used and necessary yet).
[19:36:01] <wjp> of course that will produce the question: "what's a work dir?" :-)
[19:36:20] <wjp> (which you'll have to ask Darke, since I'm not too sure :-) )
[19:36:34] <Dominus> Replace '/path/to/u8/work/dir' with the work directory (not used and necessary yet - don't ask).
[19:37:01] <wjp> heh :-)
[19:37:21] <Dominus> something like: that's where all the preprocessed data is going whenever pentagram is doing the preprocessing
[19:38:54] <Dominus> for [ ] I wrote: first ] clears the screen, multiple presses of ] show the paint order. [ "steps" backward.
[19:44:38] * wjp fires another commit email salvo
[19:44:40] <Dominus> comitted, hope you like it
[19:45:30] * Dominus ducks
[19:46:53] <wjp> looks good
[19:47:13] <wjp> well well... only 170 intrinsics left :-)
[19:47:59] <wjp> although I guess a couple of dozen are unused
[19:48:43] <wjp> (there's about 256 intrinsics in total)
[19:50:34] <Dominus> then you've done about 1/4 now
[19:51:07] <wjp> a bit more
[19:51:18] <wjp> about one third
[19:51:41] <Dominus> yeah, I was just wondering what I'm saying here
[19:55:06] <wjp> hm, 74 unused even
[19:55:36] <Dominus> wow, that leaves a lot to not implement :-)
[19:55:45] <wjp> which puts me close to halfway :-)
[19:55:55] <Dominus> yeah
[20:44:37] <Cless|Away> i should go
[20:44:38] <-- Cless|Away has left IRC ("casts invisibility")
[20:47:36] --> Perdition has joined #pentagram
[20:48:45] <Perdition> ultima 8 game engine?
[20:48:48] <Perdition> god help you
[20:48:50] * wjp nods :-)
[20:48:55] <Perdition> you think you can make a version of u8 without 90000 bugs?
[20:48:57] <Perdition> hehe
[20:49:30] <Perdition> it was hard finishing ultima 7 and playing u8
[20:49:44] <Perdition> i never imagined i would end up jumping through walls in an ultima game :(
[20:49:52] <Perdition> best of luck :)
[20:52:22] <wjp> thanks :-)
[20:52:55] * Perdition pats you on the back
[20:53:02] <Perdition> you sir are going to be legendary
[20:53:27] <Perdition> if you and the team can knitpick god knows how many odd little F ups that game had, and somehow make it into a working program
[20:53:42] <Perdition> well i think origin would owe you something ;)
[20:56:23] <wjp> we'll have to see if we can get things running first :-)
[20:58:37] <Perdition> :) how are you going to emulate these?
[20:58:40] <Perdition> C and assembler?
[21:00:57] <wjp> what do you mean?
[21:01:44] --- Dominus is now known as Dominus|away
[21:03:24] --- Dominus|away is now known as Dominus
[21:04:03] <Perdition> the source code
[21:04:14] <Perdition> are you making the engine using C and assembler routines?
[21:05:48] <wjp> no, C++
[21:06:26] <Dominus> U8/U7 were using usecode to drive the program. Exult/Pentagram are not emulating the original but are making use of the exisiting data files (graphics and usecode)
[21:06:27] <Perdition> how long have you been coding with c++?
[21:06:35] <Perdition> oh
[21:06:38] <Dominus> usecode is some kind of scripting language
[21:07:09] * Dominus is extremely generalising now
[21:07:11] <Perdition> what kind of improvements can you make to the original games?
[21:07:21] <Perdition> i mean u8... my god
[21:07:27] <Perdition> only game where i managed to jump over a mountain
[21:07:36] <Perdition> it was like one big bug that drove me insane!!!!!! *inhales*
[21:07:50] <Perdition> you sure you want to use their datafiles for that? ;)
[21:07:51] <Perdition> hehe
[21:08:00] <Dominus> jump over a mountain?
[21:08:13] <Dominus> you sure you don't mean U9?
[21:08:26] <Perdition> u9 was great
[21:08:35] <Perdition> i actually found a way to get to yew from the first pillar
[21:08:37] <Perdition> heh
[21:08:44] <Perdition> but no, my version of ultima 8 was messed up
[21:09:08] <Perdition> i managed to jump through a wall once and land from above? odd, and i once jumped to hte top of the mountain where pyros was
[21:09:18] <Dominus> if you want to see a rewrite of U8 go to http://reconstruction.voyd.net/ and find on of the mods for Neverwinternights or Dungeon Siege
[21:09:43] <wjp> I think Colourless mentioned you get really weird effects if you run U8 in XP
[21:10:09] <Dominus> the goal of Pentagram is to make U8 playable on modern OS'.
[21:10:48] <wjp> and keep us entertained while writing it :-)
[21:10:51] <Perdition> playable huh?
[21:11:08] <Perdition> u8 and playable :( is it possible?
[21:11:35] <Dominus> I played it through on Dos 6.22 so I'd say it is playable
[21:11:54] <Dominus> and when you played it with the patch the jumping was not so horrible
[21:11:55] <Perdition> i played it on dos 6.0 on my 166
[21:12:02] <Perdition> patch?
[21:12:05] <Perdition> oh yeah, i didnt have the net back then
[21:12:06] <Perdition> hehe
[21:12:52] <Dominus> the graphics of U8 are breathtaking
[21:13:21] <wjp> music was pretty good too :-)
[21:14:01] <Dominus> it was not the best of the ultimas but I prefer U8 over U9 (which was a real letdown in regards to continuity)
[21:14:26] <Perdition> i guess, i enjoyed u9 apart from the fact it was sooooooooo slow
[21:14:44] <Perdition> i mean i was running it on a top of the line computer and the speed was unbearable at times
[21:16:40] <Dominus> It ran decent on my 266 but then I was using a Voodoo graphics card and it ran really well on these
[21:17:13] <Dominus> with the fan patches U9 at least makes a little sense
[21:17:21] <Perdition> i was using a voodoo 3 on a p3
[21:17:39] <Dominus> anyway, fruitless discussion, got to go
[21:17:41] <Dominus> bye
[21:18:01] <-- Dominus has left IRC ("enough for now")
[21:18:25] <Perdition> hehe
[21:18:28] <Perdition> fruitless discussion
[21:18:32] <Perdition> nice guy
[21:18:37] <Perdition> btw, ultima 6
[21:18:43] <Perdition> wasnt that just the best damn game for its time?
[21:18:53] <wjp> don't know
[21:19:01] <wjp> I only played it after U8 and U7
[21:19:12] <Perdition> oh
[21:19:16] <Perdition> it's the first ultima i played
[21:19:18] <Perdition> as of 1991
[21:19:20] <wjp> but it was pretty good, yes :-)
[21:19:32] <Perdition> played it for 2 years, heh, never used the moonstone until the end, i didnt even know how
[21:19:33] <Perdition> 8,12L4o8L1,0
[21:19:40] <Perdition> just kept on walking from place to place
[21:20:10] <wjp> ouch :-)
[21:21:17] <Perdition> yeah :)
[21:21:30] <Perdition> i know the road from britan to minoc like the back of my hand
[21:21:31] <Perdition> scary huh?
[21:23:19] <wjp> heh :-)
[21:26:30] <Perdition> well best of luck to you guys
[21:26:43] <Perdition> it's a hard task but i'm sure you'll do an awesome job :)
[21:26:49] <Perdition> u8 has a patch...
[21:26:50] <Perdition> hehe
[21:27:01] <Perdition> the things you pick up 6 years later
[21:27:06] <-- Perdition has left IRC ("Puppies!!!!!!!!!")