#pentagram@irc.freenode.net logs for 28 Oct 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[01:32:21] --> SB-X has joined #pentagram
[05:07:46] --> watt has joined #pentagram
[05:08:16] <watt> Hey all.
[05:10:20] <watt> Couldn't find an anvil, but I found a nifty hammer.
[05:28:02] <watt> yum, love the 6 line main.
[05:28:59] <watt> although I'm wondering why you guys called new for the guiapp
[05:29:29] <watt> more java-ish?
[05:49:41] <-- sdogi has left IRC (Remote closed the connection)
[06:10:15] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[06:13:00] --> Kirben has joined #pentagram
[06:13:00] --- ChanServ gives channel operator status to Kirben
[06:46:20] <DarkeZzzz> watt: Probably because I was fiddling with creating ConApp and other things at the time, and a #ifdef or to was quicker and more elegant then defining them static?
[06:46:46] <DarkeZzzz> Can't remember, really. *grin*
[06:48:58] <DarkeZzzz> Hrm... I do wonder sometimes why we have one forum for each remake, shouldn't we just all get together and put up, say a phpBB type forum, where you have multiple forums integrated into it? That way it'd save the 75% of people who look at all the forums, having to register on each one of them, and check at multiple different places a day.
[06:50:20] <DarkeZzzz> No doubt it'd require way too much organisation for the different projects to bother. *grin*
[07:53:00] <watt> duh.. huh? #ifdef? where? I was referring to main in pentagram.cpp... now I'm really confused.
[07:54:17] <watt> Oh.. I haven't been paying attention for an hour.. my process switching isn't very good.
[07:54:37] <watt> But I have subversion working!
[07:58:20] <DarkeZzzz> (#ifdef) It was never in cvs, was used when I was testing things. *grin*
[07:59:04] <DarkeZzzz> I think the 'new' stuff was simply an artifact of testing. Plus we are going for a very OO, nicely structured approach... or at least trying to, so it fitted in nicely anyway.
[08:02:49] <watt> hmm.. yeah, dealing with pointers/references is usually nicer IMO than the object directly. Less copying, nicer for collections.
[08:04:00] <watt> plus, I hate operater overloads.. hides too much when you try to read the code.
[08:08:28] <DarkeZzzz> I like them, provided they're used appropriately. Using + to concatinate two strings is perfectly acceptable, but there's not intuitive use for - on strings, so it shouldn't be there. Most people seem to use them 'because they can' though, which is annoying.
[08:13:27] <watt> fair enough.. I mostly just have a problem when some body can set one collection equal to another and it make a copy all of the elements.
[08:14:12] <watt> If for any reason that is done, i'd perfer a named method
[08:16:06] <DarkeZzzz> *shrug* I find that perfectly intuitive, provided it's a deep copy, rather then shallow. But for most complex stuff I need to copy, I end up using pointers, simply because it's much more efficient then other methods, and I do appropriate const-ing, so things are protected properly.
[08:21:54] <watt> well. to each his own. Guess I should move to the point. I'm actually fairly interested in contributing, but I would like a steer in the right direction. Is there anything (like refactorings) that some new do help on?
[08:22:44] <watt> s/some/some one/
[08:23:18] <watt> s/do/could/
[08:23:47] <watt> I simply can't speak english properly right now.
[08:25:30] <DarkeZzzz> At the moment, there's actually little happening. *grin* Most of us are distracted by RL atm. I think your best bet would be to try and play the game a little, see if there's anything that's 'missing' you would like to work on, or you think you could add/fix, then dig around the appropriate code. The structure of things is relatively 'simple' and clear, so finding what you're looking for shouldn't be too hard, it's trying to integrate it into the Gran
[08:25:31] <DarkeZzzz> d Scheme(tm) and actually coding it that tends to be difficult. *grin*
[08:28:37] <watt> I was thinking of getting the combat cursor able to be toggled, but I was concerned that it may be a wasted effort right now since "For now, reference point is (near) the center of the screen"
[08:29:31] <watt> I'm guessing the reference point will be moved to the avatar's position on the screen, and thus the code would be moved as well
[08:31:16] <watt> maybe
[08:34:45] * DarkeZzzz isn't qute sure. He doesn't really have much to do with the graphical side of things. *grin*
[08:36:46] <watt> ah. Well, I think I'll try.. It doesn't look too hard to do, and it *might* be a good place to start.
[08:55:05] <DarkeZzzz> If you're feeling adventurours, it couldn't hurt to try and fix the problem with dropping and dragging not putting stuff where you expect it. *grin*
[08:58:32] <watt> ooo.. I have noticed that.. It might be scary for a first attempt, but sure..
[08:59:01] <DarkeZzzz> Or the levitating guards... or walking/running 'issues' such as stairs, or... *grin*
[09:52:25] <watt> ok.. well, found my first problem. I don't quite get intrinsics
[09:53:08] <DarkeZzzz> How do you mean?
[09:54:47] * DarkeZzzz could give you a 10 word, or 10 page response to that comment. More precision is needed. *grin*
[09:57:05] <watt> well, in Actor the INTRINSIC macro is used to define a number of methods. I'm not sure how to call any of this method (or if I even should) due to the parameters on them. In short, intrinsics?
[09:58:09] * watt scratches head. Like many things this was never mentioned in any of my classes
[10:00:25] <DarkeZzzz> Hrm... in short intrinsics are part of the virtual machine.
[10:00:28] <DarkeZzzz> They
[10:00:38] <DarkeZzzz> They're simply functions that are called from usecode.
[10:01:54] <watt> oh... that does shed light on the reason I couldn't find them being called anywhere.
[10:01:59] <DarkeZzzz> As a result they've got odd parametrs when they're called.
[10:02:04] <DarkeZzzz> Yup. *grin*
[10:02:22] <watt> I'm guessing they are called though reflection?
[10:02:56] <DarkeZzzz> If you hunt around, I believe you'll find a pointer array of them all somewhere, the appropriate index of which is extracted from the usecode before calling them.
[10:03:11] <watt> ok.
[10:04:04] <DarkeZzzz> The original u8 (and No Regret/Remorse) had a rather hackish, but workable method of doing the same, but our way is just a little more portable. *grin*
[10:04:14] <watt> OOOOOHHHHHH.. they're static methods!
[10:04:25] <DarkeZzzz> Yup. *grin*
[10:04:38] <watt> that clears things up alot
[10:04:40] * DarkeZzzz points to usecode/intrinsics.h it holds most of the secrets of them.
[10:13:28] <watt> so, would it be ok to create an isInCombat method? I notice that many of the simple inspectors are duplicated (getStr(), getDex(), etc.), but combat is not quite as simple (but still easy)
[10:14:20] <DarkeZzzz> I don't see why it would be a problem, myself.
[10:18:03] <watt> equivilent or similiar code in 2 different places.. not a big deal, it just upsets some of the people I know
[10:21:38] <DarkeZzzz> You'll find most of us here are used to coding in the 'real world' where strict adherence to design theories are regularly ignored in favour of code that works and is easily maintained (or even code that's hard to maintain, but works and we don't want to touch it for fear of breaking everything *grin*). I'm sure some people looking at Colourless' Macro Infested Nightmare(tm) of rendering code would have heart attacks, but it works, it's maintainable,
[10:21:38] <DarkeZzzz> so it's good. *grin*
[10:31:43] <watt> right. A group I worked in over the summer had a bit too much of a problem with design theory being constantly changed. One of the members continued to make major refactorings right up to the final day that he could be a part of the project (because he was moving). The changes were good, but it caused the remainder of us to have to work an extra 2 weeks to finish the final parts of the project.
[10:33:02] <watt> I like clean code, but I like working code better. I enjoy sleep, especially a week before the semester begins.
[10:33:09] <DarkeZzzz> Yup. *grin*
[10:35:45] <DarkeZzzz> Generally, that sort of stuff happens on an 'as needed' basis, usually by those who know the code. Or by me, who occasionally causes consternation when I decide to implement part of The Grand Plan(tm) and abstracts something a bit that touches just a few too many bits, that I normally don't touch. *grin*
[10:37:27] --> servus has joined #pentagram
[11:05:17] <watt> ugh.. I'm getting SDL Parachute Deployed
[11:07:16] <servus> So stop segfaulting :D
[11:07:27] <watt> That would be nice.
[11:07:41] <watt> although, I don
[11:07:41] <servus> You're probably not allocating [enough] memory before trying to use it?:)
[11:08:43] <watt> although, I don't know what could've changed to cause it. Didn't touch any memory functions
[11:13:54] <servus> What's your compiler?
[11:14:14] <watt> you're gonna hit me, aren't you?
[11:14:35] <servus> I've encountered problems. I've solved problems. There is a slight chance I may be able to help. :)
[11:14:52] <watt> 3.3.2
[11:15:03] <watt> I run bleeding edge.
[11:15:12] <watt> I'm insane
[11:15:22] <servus> Use alpha 0.0.1:)
[11:15:48] <servus> gdb through it and see where things go bottom-up.
[11:19:12] <watt> that's strange. I don't even have gdb on this system.. must've not rebuilt it when I upgrade.. well, that's about to change
[11:19:59] <servus> Use MSVC++ >:-)
[11:20:48] * watt shivers
[11:21:18] <servus> I program Linux in MSVC++, it's great! Mwuahaha.
[11:21:34] <servus> s/Linux/for Linux
[11:21:58] <watt> .net might be fine, but before then.. ehw. but they do have a damn fine editor and debugger.
[11:22:11] <servus> Ermmpphhh*choke*gurgle*
[11:22:32] <watt> well, editor anyways.
[11:22:46] <servus> The MSVC++6 debugger is top-of-the-line!
[11:23:08] <servus> That's my main motivation for using MSVC++, plus the editor is very efficient.
[11:26:02] <watt> well, a clean compile from cvs works right.... I think I messed up somewhere.
[11:26:57] <servus> diff it:)
[11:29:19] <DarkeZzzz> I can't stand either the v6 or .NET editors. Full of cruft, badly designed (especially .NET where things appear and disappear depending upon the phase of the moon, and precicely how you've got the screen configured, already sick of students complaints that "It doesn't work" when all they've done is hidden some unimportant pane, which shuts out half the tools), and just clunky to use. Most other people seem to find them ok though, for some reason. *gri
[11:29:19] <DarkeZzzz> n*
[11:31:05] * DarkeZzzz suspects the problem might be that you're referencing something using a pointer, that may or may not exist at the current point in execution time.
[11:31:24] * DarkeZzzz really should stop talking in his sleep one of these days. *grin*
[11:36:35] --> wjp has joined #pentagram
[11:36:35] --- ChanServ gives channel operator status to wjp
[11:36:38] <wjp> hi
[11:36:44] <DarkeZzzz> Greetings.
[11:43:15] <-- watt has left IRC (Remote closed the connection)
[11:44:34] --> watt has joined #pentagram
[11:44:54] <-- watt has left IRC (Client Quit)
[11:45:20] --> watt has joined #pentagram
[11:49:40] <watt> found the line.. now to find the problem
[11:56:55] <watt> found it! MainActor isn't always initialized when getMouseFrame is called.
[11:58:10] <watt> just a null check needed.
[12:01:36] <watt> hmm only 14 lines in the diff... but combat mouse cursor works. It toggles on 'm'
[12:25:40] <servus> Well, it's not fair to base something's general worth on a personal opinion. :P
[12:32:21] <wjp> next step: have the avatar switch to combat stance, and make the combat stance the default stance in the avatar animator :-)
[12:32:42] <wjp> (and the other way around when leaving combat mode)
[12:33:40] <wjp> I'm not sure how the original U8 behaved when you tried to toggle combat mode while the avatar is still drawing or sheathing his weapon
[12:33:48] <wjp> may need to check the original for that
[12:34:08] <wjp> (although I don't really mind if it isn't entirely faithful as long as it's sensible)
[12:34:34] <servus> It'd stop the animation midway and start doing what you wanted.
[12:34:52] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[12:35:18] <wjp> really?
[12:35:27] <wjp> stopping animations isn't done all that often
[12:35:59] <servus> I can doublecheck
[12:36:00] <watt> I can give it a try.
[12:36:50] <wjp> did we already have an 'in combat mode' flag in one of the flag fields?
[12:36:54] <servus> Apparently, it finishes the current animation and immediately starts the animation of what you changed your mind to, but it happens so fast...
[12:36:56] <wjp> or did you add one yourself?
[12:37:24] --> sdogi has joined #pentagram
[12:37:54] <servus> (It queues)
[12:38:28] <wjp> ah, we already have an ACT_INCOMBAT
[12:48:51] <DarkeZzzz> From an email I just got (and tend to get regularly, like, once a day? *grin*): "A.Word.A.Day--avatar" It kind of does mention the Ultima instance of the term, under "2. An embodiment of a concept."
[12:52:22] <wjp> what does it give as other meanings?
[12:55:19] <DarkeZzzz> "1. A manifestation of a deity in Hinduism." and "3. A representation of a person or thing in computers, networks, etc."
[12:55:51] <watt> One who has a head shaped like an upside-down bucket? :)
[12:56:05] <wjp> s/Hinduism/Hinduism and D&D/? :-)
[12:56:52] <DarkeZzzz> s/D&D/D&D and almost every other 'medieval' RPG in existance/?
[13:10:32] <watt> is a combat advance the same length as a step or a walk?
[13:16:19] <wjp> it looks more like stepping I think
[13:17:08] <watt> yeah.. I think so..
[13:18:08] <watt> yeah.. it is, but that looked hilarious
[13:19:35] <wjp> what are you trying to do?
[13:20:13] <watt> make avatar move in combat stance
[13:20:44] <wjp> that's animation 8
[13:21:06] <wjp> so I'd add an 'const unsigned int combatadvance = 8;' or something
[13:21:11] <wjp> s/an/a/
[13:21:26] <wjp> (this info is in docs/u8anim.txt, btw)
[13:22:24] <watt> yup.. already there
[13:22:55] <watt> I need to get retreat and then the stance switch now
[13:23:06] <wjp> retreat is 9
[13:23:18] <wjp> draw weapon is 5, sheath weapon is 6
[13:23:31] <wjp> (of course there's always a chance we misidentified those animations :-) )
[13:32:36] <-- DarkeZzzz has left IRC (Read error: 104 (Connection reset by peer))
[13:35:47] --> DarkeZzzz has joined #pentagram
[13:37:28] <watt> retreating could be a problem. It appears that an actor cannot move in one direction and face another.
[13:40:14] <watt> am I mistaken?
[13:41:17] <wjp> the retreat animation probably has negative move distances
[13:41:51] <wjp> so just play it with the direction the actor is facing, and it should move backwards
[13:41:56] <watt> hmm...
[13:42:24] <wjp> do you know about animdisp in the 'old' cvs repository?
[13:43:15] <watt> yeah
[13:43:30] <watt> I think a copy somewhere.
[13:52:58] <sdogi> hi :)
[13:54:59] <wjp> hi :-)
[13:55:02] <watt> hi
[13:58:21] <sdogi> yesterday started using c again... don't you love that feeling after many hours that you are tottaly dumb, but usually there is a little stupid mistake you made
[13:58:50] --> Fingolfin has joined #pentagram
[13:58:50] --- ChanServ gives channel operator status to Fingolfin
[14:00:51] <wjp> hi Fingolfin
[14:00:58] <Fingolfin> hi
[14:24:22] <sdogi> heh
[14:24:49] <sdogi> i discovered, that learning from others script isn't always the best thing to do
[14:25:31] <sdogi> anyone got a simple recv() send() client source that works?
[14:29:58] <sdogi> heh
[14:30:15] <sdogi> it seems that only tcp won't work
[14:41:33] <watt> hmm.. ok so where does the distance traveled in a animation get handled?
[14:45:14] <watt> I'm in a C course as well, my instructor keeps some fairly good on his site... http://arioch.unomaha.edu/~jclark/cs1840/
[14:46:15] <watt> I don't know if it's exactly what you're looking for.
[14:49:20] <wjp> ActorAnimProcess handles running the animation
[14:49:39] <wjp> in the run() method, the new (x,y,z) are calculated and set
[14:49:53] <wjp> (look for a collideMove() call)
[14:51:15] <wjp> ActorAnimProcess::run is longer than I'd like it to be
[14:51:56] <wjp> the part which determines where to have needs to be moved to another function sometime, because the pathfinder needs that
[14:52:13] <wjp> s/to have needs/the actor needs/
[14:52:18] <wjp> interesting 'typo', that :-)
[14:52:34] <wjp> ugh... no, that didn't fix it :-)
[14:53:06] <wjp> "the part which determines where the actor needs to be moved needs to be moved to another function", sounds better :-)
[15:00:31] <watt> well.. I think I'm done for now.. couldn't get retreat, but most of the combat movement.
[15:02:03] <watt> would you like the diff.. it's fairly short
[15:03:18] <wjp> sure
[15:03:30] <wjp> (make sure it's a diff -u)
[15:08:34] <watt> good?
[15:13:15] <wjp> one minor nitpick is that the ACT_CHANGEDSTANCE flag probably should be 0x01000000
[15:13:26] <wjp> (so that it doesn't 'overlap' with something from npcdata)
[15:14:03] <wjp> also, it looks like it currently will switch to a normal walk/run anim when you have a medium/long arrow, rigth?
[15:14:08] <wjp> s/rigth/right/
[15:14:24] <watt> OK, I wasn't sure you'd completely except a new flag.
[15:14:33] <wjp> not sure if it's necessary
[15:15:02] <wjp> it's probably possible to deduce it from the current animation and the state of the INCOMBAT flag
[15:16:34] <watt> right... the animation for walk and run remain the same in combat..
[15:16:51] <wjp> it worked a bit different in the original
[15:17:03] <wjp> both 'short' and 'medium' arrows caused normal advance/retreat anims
[15:17:09] <watt> I'm not completely sure what it was like in the original.. I'll check it out when I reboot.
[15:17:20] <wjp> and when you started running, you would sheath your weapon, run, and draw it again when you stop running
[15:17:24] <wjp> U8 runs in dosbox, btw
[15:17:29] <wjp> (dosbox.sf.net)
[15:17:37] <watt> hmm....
[15:18:16] <wjp> although you need a pretty fast machine to run it at an acceptable speed in dosbox
[15:20:33] <watt> I'll have to try that some time soon.
[15:21:21] <watt> Although, ideally I should just crank up my 90Mhz laptop with it.
[15:26:43] <wjp> time to go home
[15:26:45] <wjp> I'll bbl
[15:26:47] <-- wjp has left IRC ("bbl")
[15:35:45] <-- watt has left IRC (sterling.freenode.net irc.freenode.net)
[15:35:54] --> watt has joined #pentagram
[15:39:43] <sdogi> fck
[15:41:44] <sdogi> just once... once leave your passport home when you are going to buy some beer and shopkeeper won't recognit you anymore
[15:41:55] <sdogi> arrgh
[15:42:03] * sdogi is away: again... with password
[15:42:11] * sdogi is away: again... with passport
[15:57:21] --> wjp has joined #pentagram
[15:57:21] --- ChanServ gives channel operator status to wjp
[18:18:23] <sdogi> huh
[18:18:58] <sdogi> haven't seen so much spicy meat for a long time
[18:19:45] <sdogi> i don't fit to my pants anymore
[18:25:11] --- wjp is now known as wjp|away
[19:16:15] <-- watt has left IRC ("using sirc version 2.211+KSIRC/1.2.4")
[19:22:11] <-- servus has left IRC ()
[19:26:34] <-- sdogi has left IRC ("Client exiting")
[19:47:00] --> watt has joined #pentagram
[20:11:25] <-- watt has left IRC (Remote closed the connection)
[20:12:19] --> watt has joined #pentagram
[20:13:53] <watt> I checked how the mouse worked in U8 and I'm making the alterations now.. it should be complete soon
[21:42:04] <-- watt has left IRC (Remote closed the connection)
[22:11:23] --> Dark-Star has joined #pentagram
[22:17:38] --- wjp|away is now known as wjp
[22:44:41] --> watt has joined #pentagram
[22:46:12] <watt> alright.. I finally finished.. combat movement works closer to what it should. It's not the best solution, but it's definately better than what I wrote before.
[22:48:46] <watt> anyone accepting diffs right now?
[22:53:59] <wjp> sure :-)
[22:54:13] <wjp> don't have time to really look at it tonight anymore, though
[22:54:16] <wjp> (near midnight here)
[22:54:47] <watt> ok.. I be sleeping soon myself.
[22:56:28] <watt> I tried to clean up the return madness in AvatarMoverProcess, with some success.
[22:57:14] <watt> and my functions probably need renaming.
[23:00:11] <wjp> is retreating in yet?
[23:01:04] <wjp> could you submit the patch into the SF patch tracker, btw?
[23:01:14] <wjp> http://sourceforge.net/tracker/?group_id=53819&atid=471708
[23:01:38] <wjp> I have to go... have to get up early again tomorrow :-)
[23:01:39] <wjp> 'night
[23:01:46] <SB-X> bye
[23:01:52] <wjp> (I'll take a better look at your patch tomorrow evening)
[23:01:54] <-- wjp has left IRC ("Zzzz...")
[23:07:22] <watt> sure
[23:11:10] <-- watt has left #pentagram ()
[23:12:37] --> Kirben has joined #pentagram
[23:12:37] --- ChanServ gives channel operator status to Kirben
[23:13:11] --> servus has joined #pentagram
[23:58:53] <-- Fingolfin has left IRC ("42")