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

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:20:43] --> Kirben has joined #pentagram
[00:20:43] --- ChanServ gives channel operator status to Kirben
[05:01:22] --> Jett has joined #pentagram
[05:26:07] <-- DarkeZzz has left IRC (Read error: 110 (Connection timed out))
[05:27:13] --- Jett is now known as Darke
[05:27:56] --- ChanServ gives channel operator status to Darke
[09:48:45] --> CashZzz has joined #pentagram
[09:48:55] * CashZzz had to change freenode servers ggr
[09:49:00] --- CashZzz is now known as Cashman
[10:12:49] <Cashman> Hi
[10:53:11] <Cashman> what you doing darke?
[10:54:45] <Darke> Mrf. Umm... *think* something that looks vaguely like nothing, but I'm being really quite productive!
[10:57:21] <Cashman> hehe
[11:01:20] * Cashman gets out his amf files
[11:01:42] <Cashman> oooow "welcome to the origin gateway!"
[11:03:38] --> Cashman2 has joined #pentagram
[11:03:56] <Cashman2> hey cashman
[11:04:01] <Cashman> hey cashman two
[11:04:23] * Cashman kills cashman 2 - hes just an idiot
[11:04:26] <-- Cashman2 has left IRC (Client Quit)
[11:24:06] --> Colourless has joined #Pentagram
[11:24:09] --- ChanServ gives channel operator status to Colourless
[11:24:31] <Colourless> hi
[11:25:03] <Cashman> hey! as you can see by the above nothing much is happening
[11:25:15] <Cashman> hows ur day been?
[11:25:30] <Colourless> i am here to work, not to talk
[11:25:59] <Darke> Greetings anti-coloured one!
[11:26:26] * Cashman hides for trying to talk to colourless about meaningless stuff - not work related
[11:41:02] --> wjp has joined #pentagram
[11:41:02] --- ChanServ gives channel operator status to wjp
[11:41:22] <Darke> 'ello.
[11:41:28] <wjp> hi
[11:41:48] <Colourless> hi
[11:42:16] <Cashman> hey
[12:13:43] <Cashman> hehe a local tv station just froze to a windows nt system message!
[12:19:46] <wjp> heh, I've seen that happen too :-)
[12:21:07] <Cashman> first time for me
[12:51:48] --- Cashman is now known as CashZzz
[13:23:03] <Colourless> note for when it's implemented, NO closing gumps while a mouse button is pressed of when dragging. Otherwise we might get a mouse down in one gump, and a mouse up in another, or worse.
[13:23:47] <Colourless> i've mentioned it before, the original game used to pause everything when dragging
[13:24:28] <Colourless> of course, usecode 'might' decide to close a gump while a mouse button is being held, so i don't know what we'd do there
[13:26:15] <Darke> Hope that it doesn't happen? *grin*
[13:28:33] <wjp> "mouse down in one, mouse up in another" sounds like what's supposed to happen while dragging
[13:30:03] <Colourless> yes, but it's expected in that case :-)
[13:30:46] <Colourless> i remember in exult it being painful when you attempted to drag an item, and you closed the gump and you could actually place the item at the destination :-)
[13:30:58] <Colourless> s/could/couldn't/
[13:31:02] <Darke> Hmm... if it closed a gump whilst moving the gump itself, we 'could' just abort the move (I presume we'd test if the gump still exists in the 'mouse up' event *grin*).
[13:31:48] <Darke> That'd actually be quite useful. *grin* I remember there was another rpg or two that allowed you to do that, though I can't remember off paw at the moment.
[13:32:18] <Colourless> actually you should do the detection in the close routine
[13:33:12] <Colourless> looking at how the original handled closing gumps while the mouse was held, but not dragging that would appear to be what it did. You basically go to the mouse button handlers if you are doing anything with 'this' gump, make it invalid
[13:33:41] <Colourless> just checking the original, if you attempted to drag from a gump that was closed, the mouse cursor is always an X
[13:34:56] <Colourless> of course doing that isn't easy as you are not allowed to close gumps while dragging it seems, and the game will automatically start dragging if you hold the button down for a short amount of time, even if you don't move the mouse. Basically you have to click and hold the mouse button, then press backspace almost right away
[13:36:47] <Darke> Heh. Nice to see they were thorough.
[13:39:05] <Colourless> I was almost thinking that mouse up and down handling should be a bit like this. On Mouse Down we store which gump handled the mouse down event. Then the mouse up event would be sent back to that gump. If the gump is closed between mouse down and mouse up, the mouse up would be invalidated
[13:41:27] <Darke> Makes sense.
[13:41:28] <Colourless> For dragging, the entire world would be paused, and no key input would be allowed, execpt perhaps for 'modifier' detection. It might be nice to have a key that we could hold that would automatically drag all of an item with quantity without bringing up the slider dialog
[13:44:29] <Darke> Oooooh. That would be useful. *grin*
[13:54:32] <-- CashZzz has left IRC ()
[14:01:19] * Darke hops off to do battle with the Evil Demons of Sleep. Hopefully he will return victorious tommorow! Night!
[14:01:38] --- Darke is now known as DarkeZzz
[14:31:21] <-- Kirben has left IRC (Read error: 54 (Connection reset by peer))
[15:59:32] <wjp> Colourless: can I request an extra function in idMan?
[15:59:47] <wjp> (mark a fixed ID as used, specifically)
[16:01:01] <wjp> used for actorIDs, so it can be exponential for all I care :-)
[16:02:01] <Colourless> more details about what you want?
[16:02:25] <wjp> newly created actors need an objid in the 1-255 range
[16:02:38] <wjp> but I need to mark the 'real' NPCs as used in that range
[16:03:36] <wjp> so their objids will have to be moved from the unused to the used list
[16:04:02] <wjp> ...although I think I have idMan figured out now, so I can add it myself if you want :-)
[16:04:15] <Colourless> idMan is very simple :-)
[16:04:27] <wjp> walk through linked list starting at first until you arrive at the id
[16:04:37] <wjp> and then link the previous one to the next one
[16:05:05] <Colourless> ids[i] returns the next in the linked list
[16:05:30] <Colourless> yes that is about right
[16:05:39] <wjp> what does last do?
[16:05:57] <Colourless> last is the last free id
[16:06:05] <wjp> so ids[last] == 0?
[16:06:05] <Colourless> when an id is freed, it becomes last
[16:06:10] <Colourless> yes
[16:08:07] <Colourless> idMan is a random access list :-)
[16:08:17] <Colourless> kind of :-)
[16:08:18] <wjp> not entirely
[16:09:48] <wjp> so an id is used if (ids[id] == 0 && id != last)
[16:09:52] <wjp> ?
[16:10:15] <Colourless> yes
[16:10:21] <wjp> in that case isIDUsed is buggy :-)
[16:11:03] <Colourless> good thing it's never used :-)
[16:11:23] <Colourless> i obviously forgot about last terminating with 0
[16:12:45] <wjp> bbl, dinner
[16:12:49] <Colourless> since 65535 is a reserved number, that could be used
[16:13:00] <Colourless> for either terminator, or for unused
[16:14:45] <Colourless> another feature of msvc.net. When i do a Create Class in pentagram, it automatically add #include "pent_include.h"
[16:14:49] <Colourless> to the top of the files
[16:15:33] <Colourless> of course i think it just detects if precompiled headers are enabled and inserts it
[16:17:52] <wjp> can it also add the GPL header? :-)
[16:18:07] <Colourless> no :-)
[16:18:12] <wjp> (_without_ 'accidentally' changing some lines to assign all copyright to MS ;-) )
[16:18:14] <Colourless> so it's not that interesting :-)
[16:18:54] <Colourless> of course there may be some project option that would automatically add a copyright header
[16:19:46] <wjp> anyway, really gone now :-)
[16:19:54] <Colourless> :-)
[16:19:57] <Colourless> i wont speak
[16:42:51] <wjp> back
[16:42:56] <Colourless> wb
[16:55:02] <wjp> grr... why isn't guard spawning working...
[16:59:57] <wjp> ah... it's trying to create actor #0
[17:00:55] <wjp> ...which is apparently because all NPCs are in use :-)
[17:01:35] <Colourless> which is the default state :-)
[17:01:39] <wjp> yes :-)
[17:01:39] <Colourless> it just fills all used
[17:02:05] <wjp> I was creating all NPCs (1-255)... now I'm only creating those with shape != 0
[17:10:59] <wjp> yay! guards :-)
[17:11:20] <Colourless> :-)
[17:11:23] <Colourless> do they do anything?
[17:11:39] <wjp> well, no :-)
[17:11:49] <Colourless> uh
[17:11:56] <wjp> I don't really think they should be doing anything, though
[17:12:10] <Colourless> some 'talk'
[17:12:12] <wjp> you can talk to them, if you want
[17:12:14] <Colourless> sort of
[17:12:21] <Colourless> they bark stuff
[17:12:27] <wjp> hard to tell...
[17:12:35] <wjp> usecode is scrolling by at scary rates :-)
[17:13:09] <Colourless> i am busy working on gumps as we speak ;-)
[17:13:32] <Colourless> of course something is broken :-)
[17:13:36] <wjp> of course :-)
[17:13:48] <wjp> things are always broken... *sigh* :-)
[17:15:01] * wjp is looking forward to BarkGumps :-)
[17:17:48] <Colourless> a BarkGump is/will be a child of type ItemRelativeGump :-)
[17:18:05] --> oGre has joined #pentagram
[17:18:18] <wjp> hi
[17:18:22] <oGre> hi
[17:18:26] <Colourless> hi
[17:18:35] <oGre> hi evrybody
[17:21:12] * wjp blinks...
[17:21:17] <wjp> MonsterEgg::hatch: created actor #79 with shape 2755
[17:21:21] <wjp> that doesn't sound entirely right
[17:21:30] <Colourless> um, no :-)
[17:21:48] <wjp> wasn't the shape to create the low 12 bits of q?
[17:23:50] <wjp> hm, maybe it's 11 bits
[17:24:05] <wjp> if I remove the highest bit I get shape 707, which is a peasant
[17:24:42] <Colourless> &0x7FF
[17:25:19] <Colourless> Probibilty >> 0xB
[17:25:50] <wjp> right, so I was one bit off :-)
[17:27:23] <Colourless> can you check something. in p_dynamic_cast.h for the P_ENABLE_DYNAMIC_CAST macro, is Classname used? (my file is heavily modified so it's different)
[17:28:06] <-- oGre has left IRC ()
[17:28:27] <wjp> #define ENABLE_DYNAMIC_CAST(Classname) \
[17:28:27] <wjp> static const RunTimeClassType ClassTypeConstant; \
[17:28:27] <wjp> virtual void * DoDynamicCast(const RunTimeClassType *type);
[17:28:49] <Colourless> just as I thought... unused :-)
[17:29:21] <Colourless> mine is different
[17:29:24] <Colourless> #define ENABLE_RUNTIME_CLASSTYPE() \
[17:29:24] <Colourless> static const RunTimeClassType ClassType; \
[17:29:24] <Colourless> virtual bool IsOfType(const RunTimeClassType & type); \
[17:29:24] <Colourless> template<class T> inline bool IsOfType() { return IsOfType(T::ClassType); } \
[17:29:24] <Colourless> virtual const RunTimeClassType & GetClassType() { return ClassType; }
[17:33:15] <wjp> hm, I see
[17:42:58] <wjp> well, from one bug to the next... now hatched monsters aren't showing up... :-)
[17:45:19] <wjp> typo... *sigh*
[17:45:30] <Colourless> what was it?
[17:45:41] <wjp> I was displaying the monster egg instead of the monster :-)
[18:16:56] <wjp> let's see if I can get those guard vs. peasant 'fight' scenes to happen
[18:17:11] <wjp> class 1219... so egg q. 68
[18:19:32] <wjp> ah, those are the eggs with two path 'numbers' around them
[18:20:50] <wjp> "Really, I was at home with my poor, sick mother."
[18:21:16] <wjp> "I swear on my mother's grave that I had no part in that."
[18:21:48] <wjp> something's going wrong with creating the NPCs though
[18:21:58] <wjp> they're talking, but they're not there :-)
[18:30:32] <-- Colourless has left IRC (sterling.freenode.net irc.freenode.net)
[18:30:40] --> Colourless has joined #pentagram
[18:36:39] <wjp> ugh
[18:37:22] * wjp stares at usecode output
[18:38:00] * wjp hits self
[18:38:45] <wjp> those "ARG_CONTAINER" macros are nice, but you should only use them for the 'this' pointer :-)
[18:39:07] <Colourless> :-)
[18:39:55] <Colourless> should have ARG_<itemtype>_POINTER and ARG_<itemtype>_ID macros to make things clearer
[18:41:03] <wjp> hey, one of the guards just lowered and raised his halberd
[18:41:17] <wjp> "Boy, this weapon gets heavy..."
[18:41:19] <Colourless> omg :-)
[18:41:32] <wjp> we must be doing _something_ right :-)
[18:42:36] <wjp> also something wrong, since they're _still_ not showing up :-)
[18:42:59] <Colourless> are you adding them to the chunk lists?
[18:43:18] <wjp> Npc::create creates an ethereal item
[18:43:31] <Colourless> ah ok
[18:43:34] <wjp> and it should be popped into the map properly
[18:43:51] <Colourless> check for valid shape and frame nums
[18:45:43] <wjp> hmm.. getting some of these "Warning: non-FFFF value passed to container search" too
[18:46:03] <wjp> hey
[18:46:05] <wjp> they do show up
[18:46:14] <wjp> maybe I was just looking at the wrong egg
[18:46:33] <wjp> there's probably another one around
[18:52:08] * wjp hmms...
[18:52:24] <wjp> I'm still getting some of these from time to time:
[18:52:25] <wjp> ==4538== Conditional jump or move depends on uninitialised value(s)
[18:52:26] <wjp> ==4538== at 0x807A265: ItemSorter::AddItem(Item*) (world/ItemSorter.cpp:607)
[18:52:46] <wjp> I thought it was map switches, but now I just got one on the map I started on
[19:02:10] <wjp> could the 'prev' lerped be uninitialized?
[19:02:54] <Colourless> it shouldn't be
[19:03:13] <Colourless> however, it might
[19:04:24] <Colourless> i put in a check, if the object wasn't just in the fast area, then the i_prev = i_next
[19:05:30] <Colourless> // Setup prev values, if not fast
[19:05:34] <Colourless> if (!(flags & FLG_FASTAREA)) l_prev = l_next;
[19:05:44] * wjp nods
[19:05:48] <Colourless> that is 'after' l_next is set in Item::setupLerp
[19:05:48] <wjp> should be ok
[19:07:08] <wjp> ack!
[19:07:11] <wjp> objid 18 again
[19:07:52] <wjp> objid 18, shape 4294951040, frame 1098383872, x 1098383872, y 0, z 0
[19:08:06] <wjp> npcnum 0, mapnum 0
[19:08:11] <Colourless> um no :-)
[19:08:21] <wjp> (i.e., garbage)
[19:08:29] <Colourless> 18 Rhian
[19:08:36] <wjp> yes...
[19:13:05] <wjp> it's rather suspicious that I got the exact same frame/shape combo yesterday
[19:13:56] <wjp> shape 0xFFFFC080, frame 0x41780200
[19:18:43] <wjp> (I got this in a different map and a different place than yesterday)
[20:00:18] --> Dominus has joined #pentagram
[20:00:50] <Dominus> hey ho
[20:01:04] <Colourless> hi
[20:12:49] --> Dark-Star has joined #pentagram
[20:26:26] <wjp> Colourless: how's the gump stuff going? Any ETA on a commit? :-)
[20:32:41] <Colourless> i could probably commit it now, but no BarkGump yet
[20:34:36] <wjp> heh, that's ok :-) BarkGump can wait :-)
[20:36:43] <Colourless> i might commit, i might not. just have to see. otherwise i'll commit when i get up
[20:37:00] <Dark-Star> in World.cpp, line 135: shouldn't that be "p_dynamic_cast<...>(...)" ?
[20:38:11] <Colourless> uh, i haven't updated a something like 2 or 3 days
[20:39:41] <Colourless> yes that should be p_dynamic_cast
[20:40:02] <Dark-Star> the same in line 185
[20:40:03] <Colourless> of course, i'm going to have to change those anyway
[20:40:21] <Colourless> cause camera has been moved
[20:41:29] <Dark-Star> well I was just wondering because MSVC complained that I should enable RTTI, which was never needed before...
[20:42:06] <Dark-Star> well it still doesn't work...
[20:42:28] <Colourless> why not?
[20:42:38] <Dark-Star> 'ClassTypeConstant' is not a member of 'GUIApp' / 'DoDynamicCast' is not a member of 'CoreApp'
[20:42:55] <Colourless> oh yes
[20:43:19] <Colourless> that would make sense. p_dynamic_cast isn't supported on the App classes... yet (i already enabled it here)
[20:44:16] <Colourless> change it to a static_cast for now
[20:44:54] <Colourless> the code there is such that if it's not returning a GUIApp, it's going to crash anyway
[20:49:16] <wjp> I don't like that code
[20:49:36] <wjp> GUIApp::get_instance() should simply return a GUIApp
[20:52:49] <Colourless> GUIApp::get_instance() is just calling CoreApp::get_instance() cause it's inherited
[21:01:00] <wjp> yeah, which is what I don't like :-)
[21:01:30] <wjp> it seems my mother managed to get stranded somewhere again
[21:01:36] <wjp> so I've got to go pick her up...
[21:01:41] * wjp sighs and will bbl :-)
[21:01:45] <Colourless> :-)
[21:30:18] <wjp> idiots
[21:30:38] <wjp> anyway, I should really go now... work tomorrow
[21:30:42] <wjp> night
[21:30:46] <Dominus> bye
[21:30:52] <Colourless> cya
[21:30:56] <Colourless> i should go to
[21:30:56] <-- wjp has left IRC ("Zzzz...")
[21:30:59] <-- Colourless has left IRC ("casts invisibility")
[22:26:22] <-- Dominus has left IRC ("enough for now")
[22:41:54] --> Kirben has joined #pentagram
[22:41:54] --- ChanServ gives channel operator status to Kirben
[22:50:06] <-- Dark-Star has left IRC ()