#nuvie@irc.freenode.net logs for 26 Jul 2003 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[01:25:02] --> Kirben has joined #nuvie
[03:47:50] --> SB-X has joined #nuvie
[04:13:05] --> Yuv422 has joined #nuvie
[04:13:25] <Yuv422> Hi
[05:43:28] <SB-X> hey Yuv wb
[06:10:21] <Yuv422> hey sbx
[06:10:57] <Yuv422> nobody said anything in the channel while I was away :(
[06:11:05] <Yuv422> ;)
[06:12:30] <SB-X> oh
[06:12:39] <SB-X> ive been busy looking at code
[06:12:46] <Yuv422> hehe sounds good
[06:12:50] <Yuv422> nuvie code?
[06:12:54] <SB-X> yes
[06:12:57] <SB-X> i put in pathfinding
[06:13:02] <Yuv422> excellent
[06:13:03] <SB-X> and party formation
[06:13:07] <Yuv422> wow
[06:13:12] <SB-X> but its not committed i need to clean it up
[06:13:17] <SB-X> (and finish it)
[06:13:22] <Yuv422> can I grab a copy
[06:13:34] <SB-X> i can send it to you
[06:13:40] <Yuv422> I was just about to start working on pathfinding
[06:13:41] <Yuv422> hehe
[06:13:47] <Yuv422> lucky you told me ;)
[06:13:51] <SB-X> heh
[06:13:52] <SB-X> yeah
[06:13:59] <Yuv422> is the pathfinder a class?
[06:14:07] <SB-X> there are 3 classes
[06:14:12] <SB-X> i might make it 4
[06:14:22] <SB-X> PathFinder, ZPath, AStar, LPath
[06:14:33] <Yuv422> right
[06:14:42] <Yuv422> so are the huristics subclasses
[06:14:43] <Yuv422> ?
[06:14:54] <Yuv422> or are they they helper classes?
[06:14:55] <SB-X> AStar is a parent class of LPath
[06:15:05] <Yuv422> ah k
[06:15:16] <SB-X> well actually its not even that yet
[06:15:19] <SB-X> its still one with it
[06:15:28] <SB-X> but i thought it would be cleaner if i seperated them
[06:15:38] <Yuv422> did you write your own pathfinder?
[06:16:10] <Yuv422> how are you storing your open node list?
[06:16:18] <SB-X> no not really, im just going to make LPath modify an AStar path so that the actors walk along roads in big L turns
[06:16:22] <SB-X> heh
[06:16:23] <SB-X> well
[06:16:29] <SB-X> its just a list<astar_node *> now
[06:16:37] <SB-X> sorted when i put them in
[06:16:40] <SB-X> so its slow
[06:17:03] <SB-X> i put nodes with lowest score in the front so pop_front always returns them
[06:17:11] <Yuv422> ah k
[06:17:44] <SB-X> i know there are a lot of optimizations we can do better, or we can take exult's class and modify it if we like
[06:17:55] <SB-X> but it will also be faster when the actor's can teleport off-screen
[06:17:57] <SB-X> and go through doors
[06:18:22] <Yuv422> yeah actors need to know what doors are
[06:18:23] <Yuv422> :)
[06:18:29] <SB-X> right now if there is a closed door at the destination they check the entire area around the building outside so its slow
[06:18:52] <Yuv422> hmm
[06:19:05] <SB-X> ZPath is not really a pathfinder but it uses the same base class
[06:19:10] <SB-X> its the short-range pathfinder
[06:19:13] <SB-X> for the party
[06:19:16] <SB-X> and monsters
[06:19:22] <Yuv422> cool
[06:19:23] <SB-X> and i guess some npc schedules
[06:19:43] <SB-X> do you know how i can see if a map location is in the map window?
[06:19:56] <Yuv422> map window?
[06:20:01] <Yuv422> ah k
[06:20:01] <SB-X> i have an empty MapWindow::in_window now
[06:20:11] <SB-X> i thought thats where i'd check to see if the src and dest are visible
[06:20:18] <Yuv422> you need to look at cur_x & cur_y
[06:20:32] <Yuv422> and the window width/height
[06:20:59] <Yuv422> win_width win_height
[06:21:29] <Yuv422> I've got to do some serious work to mapwindow to get map wrapping going
[06:21:37] <Yuv422> as MD has a wrapped world map.
[06:21:47] <SB-X> uh oh :)
[06:21:58] <SB-X> i saw world wrapping in exult
[06:22:03] <SB-X> but thought we wouldnt have to
[06:22:17] <Yuv422> yeah it's not nice
[06:22:56] <SB-X> cx and cy are in the center of the screen?
[06:22:56] <Yuv422> how is pathfinder hooked in
[06:23:07] <Yuv422> top left corner
[06:23:10] <SB-X> Actor::swalk(), Actor::lwalk()
[06:23:17] <SB-X> alright thats good
[06:23:49] <SB-X> to make an actor walk somewhere you pass coords to those functions
[06:23:56] <SB-X> they create different pathfinders
[06:24:02] <SB-X> (short-range/long-range)
[06:24:16] <SB-X> and then in updateActors() if there is a pathfinder it takes a step
[06:24:30] <Yuv422> rigth
[06:24:32] <Yuv422> right
[06:24:49] <SB-X> and if your at the destination it deletes and zeroes the pathfinder
[06:25:15] <Yuv422> what about impossible paths?
[06:25:31] <Yuv422> or blocked paths?
[06:25:52] <SB-X> swalk doesnt do anything
[06:25:55] <SB-X> about those
[06:26:01] <Yuv422> ah k
[06:26:03] <Yuv422> hmm
[06:26:08] <SB-X> but the pathfinder used by lwalk just wont create a path if its impossible
[06:26:16] <SB-X> i dont know if it should keep trying or stop
[06:26:24] <Yuv422> might be better to mode the path traversal to Actor
[06:26:37] <Yuv422> kinda keeps it all in one place
[06:26:47] <SB-X> what does that mean?
[06:26:51] <SB-X> mode the path traversal?
[06:26:58] <Yuv422> moving along the path
[06:27:21] <Yuv422> instead of moving the actor in updateActors() move them in Actor::update()
[06:27:28] <SB-X> oops
[06:27:32] <SB-X> did i say updateActors?
[06:27:33] <SB-X> heh
[06:27:38] <SB-X> i meant Actor::update()
[06:27:42] <Yuv422> ah k cool
[06:29:17] <Yuv422> is in party a worktype?
[06:29:50] <SB-X> no im not sure
[06:29:55] <SB-X> they have low worktype numbers when in the party
[06:29:57] <SB-X> but it varies
[06:30:15] <SB-X> i dont know if the number has any meaning
[06:30:46] <Yuv422> maybe the number is their combat mode?
[06:31:27] <SB-X> hey that could be it
[06:31:34] <SB-X> unless it changes even when their combat mode doesnt
[06:31:40] <SB-X> it seems like it changed a lot when i checked it
[06:31:47] <Yuv422> ah k
[06:32:13] <SB-X> to test it i wrote in variable printing to dupre's talk
[06:32:23] <SB-X> so that it printed all the globals up to #36
[06:32:36] <SB-X> and it seemed like worktype kept changing, but i might remember it wrong
[06:32:56] <Yuv422> don't forget you can look at the temp worktype in objlist
[06:34:11] <Yuv422> I guess what I mean
[06:34:43] <Yuv422> is do party members follow the avatar as a worktype or is it hard coded.
[06:35:07] <SB-X> i did forget about the temp worktype
[06:36:14] <Yuv422> did you see the U6 world building thread on the exult forum?
[06:36:49] <Yuv422> hmm
[06:36:55] <Yuv422> they seem to be set to 1
[06:36:58] <Yuv422> avatar is 2
[06:38:20] <SB-X> i couldnt think of anything to post :)
[06:38:52] <SB-X> is MapWindow::cur_level the same as Actor::z?
[06:38:52] <Yuv422> I think if they want to do world building
[06:39:16] <Yuv422> player z
[06:39:32] <SB-X> ok
[06:40:01] <Yuv422> it might not always be equal if you are viewing another level
[06:40:12] <Yuv422> but I can't see why you'd do that ATM. ;)
[06:40:42] <SB-X> but they measure the same thing
[06:40:49] <SB-X> so i can compare them
[06:41:10] <Yuv422> yes
[06:41:41] <SB-X> what were you going to say about world building?
[06:41:55] <Yuv422> we'd need a new mapformat
[06:42:07] <Yuv422> so they don't have the chunk hassles
[06:42:26] <Yuv422> as we load the whole map into memory we should at least remove that restriction
[06:42:57] <Yuv422> world building would be a lot easier.
[06:43:14] <SB-X> but its sort of painful updating schedules for actor's all over the world
[06:43:21] <SB-X> or unecessary at least
[06:43:27] <Yuv422> true
[06:43:31] <SB-X> so we should still load them only in sections
[06:44:27] <Yuv422> but it gets a bit complicated when updating that way
[06:44:39] <Yuv422> what if the player is on a boundary?
[06:44:43] <Yuv422> etc.
[06:45:09] <Yuv422> maybe we could do a proximity check
[06:45:21] <Yuv422> before updating actors
[06:45:32] <Yuv422> game
[06:45:41] <Yuv422> hehe whoops wrong window. ;)
[06:48:06] <Yuv422> 0x2 seems to be party leader work type
[06:48:13] <Yuv422> 0x1 seems to be party member
[06:48:19] <SB-X> could any actor be a party leader?
[06:48:54] <Yuv422> it moves the actor one tile then snaps back to the correct party leader.
[06:49:14] <Yuv422> I set shamino to 2 and avatar to 1
[06:49:36] <Yuv422> shamino moved one tile then it returned to the avatar
[06:51:17] <Yuv422> it also changed the message scroll prompt to shamino:
[06:52:17] <SB-X> did you see what they are set to in combat mode?
[06:52:43] <Yuv422> I'll check now
[06:54:56] <Yuv422> they change to 0x3 and 0x4
[06:55:23] <Yuv422> let me check their combat modes
[06:58:03] <Yuv422> front = 0x3
[06:58:07] <Yuv422> rear = 0x4
[06:58:14] <Yuv422> command = 0x2
[06:59:26] <Yuv422> 2 might not be command
[07:01:32] <Yuv422> flank = 0x5
[07:02:42] <Yuv422> from 0x12f1 looks to be party combat mode
[07:02:59] <Yuv422> can you tell me what you have at that location?
[07:07:05] <SB-X> 08 0203 0304 0808 0808 0808 0808 0808
[07:07:35] <SB-X> 8?
[07:07:39] <SB-X> whats that?
[07:07:44] <Yuv422> hmm, not sure
[07:07:56] <Yuv422> bezerk?
[07:08:02] <Yuv422> let me check
[07:08:11] <SB-X> it has those for everyone else
[07:08:26] <SB-X> even though most npc's cant even join you
[07:10:08] <SB-X> i mean it looks like it would be "no mode" or "N/A" "not in party" but then i don't know why it wouldnt be 0x00 then
[07:10:47] <Yuv422> it looks like 0x8 is assult
[07:11:04] <SB-X> assault? is that the default? :)
[07:11:09] <SB-X> when someone first joins
[07:11:40] <Yuv422> not sure
[07:12:13] <Yuv422> yup 0x8 is assault
[07:13:19] <Yuv422> so I guess
[07:13:27] * SB-X tests.
[07:13:46] <Yuv422> the others are between 0x2 and 0x8
[07:14:10] <Yuv422> berserk should be 0x6
[07:14:23] <Yuv422> and retreat should be 0x7
[07:16:19] * SB-X looks for Sherry.
[07:21:10] <SB-X> that locked chest in LB's room has an EFFect in it
[07:23:08] <SB-X> when sherry joined the team she got a Front combat mode
[07:23:33] <Yuv422> was she originaly 0x8?
[07:24:01] <Yuv422> effect?
[07:25:27] <SB-X> it was three letters EFF
[07:25:35] <SB-X> and looking at it said Thou dost see an effect.
[07:25:55] <Yuv422> interesting
[07:25:58] <SB-X> and strangely my objlist at 12f1 said 80 8080 8980 8f90 9a80 9090 8080 8090
[07:26:20] <SB-X> like normal worktypes
[07:26:28] <Yuv422> weird
[07:29:47] <Yuv422> are you sure you were looking at 0x12f1?
[07:31:08] <SB-X> lol
[07:31:08] <SB-X> sorry
[07:31:12] <SB-X> i used the command wrong
[07:31:38] <SB-X> yes she was originally 0x08 :)
[07:31:50] <SB-X> 08 0203 0304 0808 0808 0808 0808 0808
[07:33:43] <Yuv422> :)
[07:34:07] <Yuv422> the temp actors seem to have different combat modes.
[07:34:21] <SB-X> after joining her mode changed
[07:34:28] <SB-X> to front, like it said in the combat mode
[07:34:36] <SB-X> 08 0203 0304 0808 0808 0308 0808 0808
[07:35:05] <Yuv422> 0x100 bytes just for party and temp combat modes seems a bit wastefull.
[07:35:24] <Yuv422> I wonder if it changes if you attack an npc
[07:35:38] <Yuv422> or if you steal somthing in front of an npc
[07:35:49] <SB-X> if they attack you?
[07:36:05] <Yuv422> if you go and attack an npc
[07:36:16] <Yuv422> I wonder if there combat mode changes
[07:36:29] <SB-X> Jester yells for help!
[07:36:31] <Yuv422> that might be in thier flags.
[07:36:33] <SB-X> Jester critical!
[07:36:57] <SB-X> his is still the same
[07:37:05] <SB-X> the data at 12f1
[07:44:03] <Yuv422> right
[07:44:22] <Yuv422> that must be a flag then
[07:47:33] <Yuv422> we're slowly reversing this objlist file ;)
[07:47:53] <Yuv422> not much left now. :)
[07:52:23] <SB-X> i wonder what happens if i change combat mode for someone in the party to 0x08
[07:54:01] <Yuv422> they just go to assault mode
[07:54:25] <SB-X> oh its assault like you said
[07:54:28] <SB-X> k
[07:57:52] <SB-X> im trying to get nuvie compiled
[07:57:59] <Yuv422> ah k
[07:58:00] <SB-X> gcc doesnt like all the header includes
[07:58:14] <Yuv422> have you ifdef'd
[07:58:17] <Yuv422> your headers?
[07:58:57] <SB-X> yeah that seems to cause a problem with undefined classes
[07:59:39] <SB-X> the solution is just not to include classes within other header files unless necessary
[07:59:51] <SB-X> if we can use forward declaration instead
[08:00:18] <SB-X> that speeds up compile for me too
[08:04:24] <SB-X> eh
[08:04:34] <SB-X> the fact that my LPath.h has disappeared might be a problem too
[08:04:45] <Yuv422> huh?
[08:04:48] <SB-X> o_O
[08:04:49] <Yuv422> that doesn't sound good
[08:04:50] <SB-X> i dont know
[08:04:53] <SB-X> its empty now
[08:04:57] <SB-X> i have to rebuild it :|
[08:05:28] <Yuv422> :(
[08:06:08] <SB-X> i just looked at it an hour ago i dont know where it went
[08:06:31] <Yuv422> was there much in that file?
[08:06:42] <Yuv422> sound like you should make a backup now ;)
[08:08:31] <SB-X> LPath.cpp has 18 methods so LPath.h had those declarations and the variables
[08:08:50] <SB-X> since i was going to separate some of them out anyway i'll just put those in a new header
[08:09:06] <Yuv422> ah k
[09:11:05] <Yuv422> combat mode appears to be at 0x1c69
[09:29:25] <SB-X> how did you find that?
[09:29:57] <SB-X> congrats
[09:30:13] <SB-X> but then what are the other fields :)
[10:31:25] <Yuv422> just switching combat mode on and off
[10:31:36] <Yuv422> it seems to set another byte
[10:31:39] <Yuv422> too
[10:31:48] <Yuv422> but I'm not sure what that does yet.
[11:25:31] --> wjp has joined #nuvie
[11:27:04] <SB-X> hi wjp
[11:27:05] <wjp> hi
[11:28:47] <Yuv422> hi wjp
[11:29:30] * Yuv422 is looking forward to pathfinding support. :)
[11:30:32] <SB-X> oh im kind of slacking
[11:30:41] <Yuv422> ;)
[11:30:45] <SB-X> but i think ill have it compiled soon
[11:31:45] <Yuv422> we'll need to extend subclass Actor before we can add schedule support
[11:31:50] <wjp> pathfinding... *sigh*... I need to start on that for pentagram :-)
[11:31:56] <Yuv422> hehe
[11:32:06] <wjp> now if only u8 was tiled... :-)
[11:32:20] <Yuv422> I'd imagine it is going to be a bit harder for you guys. ;)
[11:33:14] <wjp> I think I finally got walking animations right last night... that was holding up pathfinding
[11:33:21] <wjp> so now I'm out of excuses ;-)
[11:33:36] <Yuv422> you can always focus on another area.
[11:33:52] <Yuv422> that's what I do.
[11:34:12] <wjp> haven't seen you around in a while, btw
[11:34:43] <Yuv422> I've just come back from a weeks holiday. :)
[11:34:48] <Yuv422> skiing :)
[11:34:53] <wjp> nice :-)
[11:34:58] <wjp> all limbs still in one piece? :-)
[11:35:05] <Yuv422> yup
[11:35:18] <Yuv422> but the weather was a bit average
[11:35:36] <Yuv422> it dumped snow just as we were leaving. :(
[11:36:06] <wjp> typical :/
[11:37:44] <Yuv422> we've got a bit more of objlist decoded today. :)
[11:37:51] <wjp> cool
[11:37:56] <Yuv422> not much unknown data left now.
[11:38:01] <Yuv422> from u6 at least
[11:38:09] <Yuv422> the others are a little different
[11:51:30] <Yuv422> hmm looks like party members get a 0 worktype when in solo mode
[11:55:19] <SB-X> what is Party Roster order of command ?
[11:55:46] <Yuv422> in objlist?
[11:56:09] <SB-X> 0xfe0, 0xff0?
[11:56:21] <SB-X> oh party positions
[11:56:26] <Yuv422> yeah
[11:56:56] <SB-X> does SE or MD allow more than 8?
[11:58:08] <Yuv422> 8?
[11:58:14] <Yuv422> party members?
[11:58:17] <Yuv422> not sure
[12:04:28] <Yuv422> 0x1c6a looks like the solo byte
[12:04:36] <Yuv422> 0xff for party mode
[12:04:47] <Yuv422> 0 for avatar solo
[12:04:54] <Yuv422> counting up for the other party members
[12:08:22] <SB-X> have you tried other actor nums?
[12:08:33] <SB-X> oh its party members
[12:08:42] <SB-X> roster order
[12:08:48] <Yuv422> yeah
[12:09:44] <Yuv422> hehe to hack solo mode
[12:09:54] <Yuv422> I've got to change several things
[12:10:32] <Yuv422> solo mode byte, current work types, npc focus.
[12:14:47] <SB-X> or to add npc's to the party
[12:15:01] <Yuv422> yup
[13:30:54] <Yuv422> time for bed
[13:30:57] <Yuv422> cya
[13:31:21] <-- Yuv422 has left IRC ("[BX] Check out the sexy BitchX pr0n at http://127.0.0.1/bx-pron.html")
[17:15:46] --> resle has joined #nuvie
[17:15:56] <-- resle has left #nuvie ()
[17:25:27] <-- ChanServ has left IRC (vinge.freenode.net irc.freenode.net)
[17:25:45] --> ChanServ has joined #nuvie
[17:41:39] <-- Kirben has left IRC ("System Meltdown")
[18:22:00] <SB-X> pathfinding seems to work fine now
[18:22:05] <SB-X> i just need to add door detection
[18:22:08] <SB-X> but... later
[18:22:14] <-- SB-X has left IRC ("ZzZZzzz")
[20:44:01] <-- laxdragon has left IRC (vinge.freenode.net irc.freenode.net)
[20:45:16] --> laxdragon has joined #nuvie
[23:17:52] <-- wjp has left IRC ("Zzzz...")