#nuvie@irc.freenode.net logs for 14 Jan 2004 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:04:05] --> Kirben has joined #nuvie
[06:05:45] --> SB-X has joined #nuvie
[06:08:23] <-- servus has left IRC ()
[06:57:39] --> sbx has joined #nuvie
[06:57:39] <-- SB-X has left IRC (Read error: 104 (Connection reset by peer))
[07:17:34] --> EsBee-Eks has joined #nuvie
[07:17:34] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[08:01:39] --> Yuv422 has joined #nuvie
[08:02:20] <EsBee-Eks> hi Yuv422
[08:02:25] --- EsBee-Eks is now known as SB-X
[08:02:33] <Yuv422> hi
[08:02:41] <Yuv422> have you looked at paul's decompiled scripts yet? :)
[08:02:50] <Yuv422> they look really good
[08:03:21] <SB-X> speaking of
[08:03:27] <SB-X> it just finished downloading
[08:03:30] * SB-X looks.
[08:05:52] <SB-X> hey that's awesome
[08:06:17] <SB-X> a lot like the ones i manually wrote when first looking at scripts
[08:07:28] * Yuv422 looks forward to trying u6edit
[08:07:31] <Yuv422> bbl
[08:08:54] <SB-X> i guess ! means print
[08:56:54] <Yuv422> back
[09:15:27] --> sbx has joined #nuvie
[09:15:28] <-- SB-X has left IRC (Read error: 54 (Connection reset by peer))
[09:19:33] <sbx> arg
[09:19:41] <Yuv422> irc arg?
[09:19:44] <sbx> yes
[09:19:52] <sbx> last 3 things i said didnt go through
[09:20:12] <sbx> shrines and guard and wisp can be spoken to now
[09:20:15] <sbx> but the portrait is still off
[09:20:21] <Yuv422> cool
[09:20:41] <Yuv422> the portrait should be correct for guards and wisps thou right?
[09:21:05] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[09:21:05] --> EsBee-Eks has joined #nuvie
[09:21:13] <EsBee-Eks> figuring that out now
[09:21:17] <EsBee-Eks> yes it is just the shrines that are off by 2
[09:21:32] * Yuv422 wonders why
[09:40:08] --> sbx has joined #nuvie
[09:40:08] <-- EsBee-Eks has left IRC (Read error: 104 (Connection reset by peer))
[09:42:16] <Yuv422> I've just tweeked MsgScroll again
[09:42:21] <Yuv422> to make it more like the original
[09:42:42] <Yuv422> now if a script asks for a wait it keeps the arrow on the current line
[09:43:05] <Yuv422> so you only get one line between paragraphs
[09:43:14] <Yuv422> instead of two
[09:48:03] <sbx> I made a timedcallback class (realize it can be used in animations). Can I send it to you and have you tell me if it's like what you were talking about?
[09:48:21] <Yuv422> sure
[09:48:36] <sbx> i think there is only one shrine pic
[09:49:22] * Yuv422 looks
[09:49:48] <sbx> it's at the bottom, it doesnt have repeatability or game-time yet
[09:51:09] <Yuv422> maybe timer_callback would be a more approperiate name
[09:51:17] <Yuv422> instead of timer_func
[09:52:22] <Yuv422> hmm
[09:52:29] <Yuv422> the names are a little confusing
[09:52:50] <Yuv422> ah k
[09:52:52] <Yuv422> I see
[09:53:05] <Yuv422> TimedCallback is the continer for the timer event
[09:54:37] <sbx> to implement game time timers i put a minute_counter in GameClock
[09:54:46] <sbx> it counts the number of minutes since start
[09:54:58] <Yuv422> ah k
[09:55:09] <Yuv422> is that in TimedEvent?
[09:55:14] <Yuv422> oh GameClock
[09:55:20] <sbx> GameClock
[09:55:29] <sbx> i suppose if you wanted to do something "in X turns" you would use the GAMECLOCK_TICKS_PER_MINUTE
[09:56:24] <Yuv422> would you ever want to do something in minutes?
[09:56:43] <Yuv422> I would have though it would all be in game_ticks
[09:56:45] <sbx> clocks
[09:56:52] <sbx> clocks/sundials
[09:57:02] <Yuv422> true
[09:57:11] <Yuv422> I guess they are in hours
[09:57:40] <Yuv422> I think we should probably provide the smallest resolution
[09:57:43] <Yuv422> for the timer
[09:57:44] <sbx> unless you want to update them every few tick and check to see if time changed
[09:57:46] <Yuv422> so game ticks
[09:57:59] <sbx> whats game ticks exactly?
[09:58:10] <Yuv422> one player move
[09:58:15] <sbx> is that one tick?
[09:58:18] <Yuv422> player action I should say
[09:58:24] <Yuv422> yes
[09:58:29] <Yuv422> 4 ticks to a minute
[09:58:32] <Yuv422> IIRC
[09:58:38] <sbx> oh!
[09:58:42] <sbx> alright
[09:58:47] <Yuv422> we don't have to call them ticks though
[09:58:52] <sbx> i was thinking it was 2 minutes to a tick or something (shrug*
[09:58:54] <Yuv422> if you can think of a better name
[09:58:55] <sbx> *shrug**
[09:59:01] * Yuv422 checks
[09:59:02] <sbx> turns?
[09:59:03] <sbx> moves?
[09:59:07] <Yuv422> turns
[09:59:23] <sbx> okay
[09:59:31] <Yuv422> #define GAMECLOCK_TICKS_PER_MINUTE 4
[09:59:42] <sbx> the reason i asked is because i put a new get_ticks() in GameClock and it returns SDL_GetTicks()
[09:59:50] <Yuv422> hehe
[09:59:59] <sbx> and get_turn() returns move_counter
[10:00:08] <sbx> and get_time() returns time_counter
[10:00:08] <Yuv422> maybe we should change that define then. ;)
[10:00:21] <sbx> *_TURNS_*?
[10:00:22] <sbx> heh
[10:00:22] <Yuv422> to GAMECLOCK_TURNS_PER_MINUTE
[10:00:26] <Yuv422> yup
[10:00:26] <sbx> its still TPM
[10:01:19] <sbx> so it doesn't change the minute until you move four times?
[10:01:24] <sbx> or is a move more than one turn
[10:02:18] <sbx> that makes sense dunno why i thought it was faster
[10:02:33] * sbx changes game timer to use ticks/turns.
[10:03:43] <sbx> and you could still use GAMECLOCK_TURNS_PER_MINUTE if you wanted a timer based on Britannian time
[10:04:18] <Yuv422> how many turns to a keg
[10:05:07] <sbx> 3 or 4
[10:05:13] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[10:05:51] <Yuv422> hmm
[10:05:52] <Yuv422> 6
[10:06:07] <sbx> close
[10:06:40] <sbx> does it take more spacebars than arrowkeys?
[10:06:55] <Yuv422> hmm
[10:07:02] <Yuv422> it went off in 4 that time
[10:07:07] <Yuv422> but I pressed esc once
[10:07:15] <sbx> its quality related
[10:07:46] <Yuv422> it went of in three that time
[10:10:00] <Yuv422> yeah it is different if you walk around
[10:10:07] <Yuv422> as to using the esc key
[10:11:03] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[10:11:03] --> EsBee-Eks has joined #nuvie
[10:11:25] <EsBee-Eks> ok
[10:11:31] <EsBee-Eks> so we know it is timed by turns
[10:12:14] <EsBee-Eks> because ESC updates a full minute doesnt it (inc_move_by_a_minute)? whereas walking just inc_move()
[10:12:37] <Yuv422> yeah
[10:12:57] <Yuv422> does that mean a minute is two turns?
[10:13:14] <EsBee-Eks> i thought a minute was 4 turns
[10:13:28] <Yuv422> so did I
[10:14:06] <EsBee-Eks> maybe ESC updates two minutes then
[10:15:37] <EsBee-Eks> is the TimedCallback anything like you wanted? besides the name timer_func at least
[10:15:41] <EsBee-Eks> the reason for making it a normal event timer was so we don't have to change or make a new time queue
[10:17:18] <Yuv422> hmm
[10:19:05] <Yuv422> it seems a bit complicated
[10:19:43] <Yuv422> you have to make an TimedEvent and pack TimedCallback inside
[10:20:07] <EsBee-Eks> no TimedCallback just inherits from TimedEvent
[10:20:23] <Yuv422> ah k
[10:20:25] <EsBee-Eks> you only make one object and usually you pass yourself to it
[10:20:53] <EsBee-Eks> new TimedCallback(this, magic_data, magic_time); ?
[10:21:10] <EsBee-Eks> for example an Actor with magic effects
[10:21:31] <Yuv422> then you have to add the resulting class to TimeQueue?
[10:21:37] <EsBee-Eks> and after that it Just Works
[10:21:41] <EsBee-Eks> the timer adds itself
[10:22:02] <EsBee-Eks> TimedEvent adds itself in the constructor
[10:22:09] <Yuv422> neat
[10:22:44] <Yuv422> you'll need to strip out alot of the highlevel classes from the callback base so it can be used at a low level
[10:23:28] <Yuv422> so move the Timed classes to another file
[10:23:45] <Yuv422> TimedPartyMove etc
[10:24:53] <Yuv422> where is the TimeQueue processed?
[10:25:12] <EsBee-Eks> you mean if we convert TimedPartyMove to use the callback?
[10:26:14] <Yuv422> no really
[10:26:28] <Yuv422> just so you don't have to much stuff included in the .h file
[10:26:40] <Yuv422> as it will be included in a few classes
[10:27:19] <Yuv422> I guess it's ok as it is
[10:29:40] --> sbx has joined #nuvie
[10:29:40] <-- EsBee-Eks has left IRC (Read error: 104 (Connection reset by peer))
[10:29:49] --- sbx is now known as SB-X
[10:29:53] <SB-X> Shamino and Sentri prepare to race.
[10:29:55] <SB-X> Shamino: "Time us from here to the edge of town and back!"
[10:29:57] <SB-X> They run off, and Sentri returns, but Shamino is nowhere to be found.
[10:29:59] <SB-X> Dupre: Oops! I mistook Shamino::clear() for Shamino::timer_func().
[10:30:15] <Yuv422> ;)
[10:30:36] <SB-X> haha okay stupid joke
[10:30:51] <Yuv422> race you to the edge of the superchunk!
[10:31:12] <SB-X> lol
[10:31:26] <SB-X> in that case somebody probably replaced the next superchunk with The Void
[10:31:33] <SB-X> and he would fall off
[10:31:37] <SB-X> :\
[10:31:49] <Yuv422> qwack
[10:32:40] <Yuv422> did you want to implement the original object creation method in nuvie?
[10:33:03] <Yuv422> so you can specify frame_n by using a large object number eg > 1024
[10:38:32] <SB-X> oh sorry, went afk for a few min
[10:38:32] <SB-X> yes
[10:38:40] <Yuv422> np
[10:38:51] <SB-X> eventually
[10:38:55] <Yuv422> k
[10:39:06] <SB-X> when someone gets around to it
[10:39:13] <Yuv422> ;)
[10:45:32] <SB-X> in PortraitView::Display
[10:45:55] <SB-X> if(portrait_data != NULL/* && (full_redraw || update_display)*/)
[10:46:17] <SB-X> is that comment sufficient to make the portrait cycle each frame?
[10:46:23] <SB-X> it works
[10:46:43] <Yuv422> yeah
[10:46:43] <SB-X> but i don't know what those variables do
[10:46:57] <Yuv422> but we'd want to only update the portrait area
[10:47:16] <Yuv422> hmm
[10:47:16] <SB-X> you have to update the entire area to clear the space behind the animating cursor
[10:47:23] <SB-X> else it draws over tiself
[10:47:24] <SB-X> itself*
[10:47:50] <Yuv422> that doesn't matter for palette cycling
[10:48:01] <Yuv422> animating cursor?
[10:48:14] <SB-X> i'm using MsgScrolls func to draw a cursor
[10:48:26] <Yuv422> ah k
[10:48:28] <SB-X> but will copy it to PortraitView
[10:48:35] <SB-X> so it can use its own character
[10:49:04] <Yuv422> basically you only want to update the bits that change
[10:49:17] <Yuv422> leave all the blank space
[10:49:40] <Yuv422> so the updates should encompass the action areas
[10:49:49] <Yuv422> only for partial redaws
[10:49:53] <Yuv422> redraws
[10:50:05] <Yuv422> when we full redraw just update the whole view
[10:50:12] <SB-X> so only fill the area if full_redraw is true?
[10:50:25] <Yuv422> for the portrait data yes
[10:50:35] <Yuv422> you'll have to fill under the cursor
[10:50:52] <Yuv422> well it's the updaterect that I was taking about.
[10:51:28] <SB-X> ok
[10:55:14] <Yuv422> ok I've added the object hack
[10:55:18] <Yuv422> as per the original
[10:57:59] <Yuv422> do you ever feel that you're just using Iolo for his magical object creation ability? ;-)
[10:58:05] <Yuv422> I know I do
[10:58:07] <SB-X> already? great
[10:58:10] <SB-X> hmm
[10:58:13] <SB-X> yes
[10:58:17] <SB-X> does he do other things?
[10:58:37] <Yuv422> hehe no
[10:58:43] <Yuv422> lazy Iolo
[10:59:18] <SB-X> in Nuvie you can make it so he spits out 1 random object every few days
[10:59:26] <SB-X> then he would be useful ;)
[10:59:37] <SB-X> well maybe, depending on what he makes
[11:00:05] * Yuv422 dials up his fav weapon the rolling pin that shoots lightening bolts!
[11:00:17] <SB-X> really?
[11:00:19] <Yuv422> 36943
[11:00:33] <SB-X> thats amazing that it works
[11:00:38] <SB-X> how hard is it to implement?
[11:00:48] <Yuv422> I'll commit my changes so you can play with hacked objects in nuvie too. ;)
[11:00:53] <Yuv422> not hard at all
[11:01:03] <Yuv422> if(obj_n > 1024)
[11:01:03] <Yuv422> {
[11:01:03] <Yuv422> frame_n = (uint8)floor(obj_n / 1024);
[11:01:03] <Yuv422> obj_n -= frame_n * 1024;
[11:01:03] <Yuv422> }
[11:01:19] <Yuv422> in Obj *Actor::inventory_new_object(uint16 obj_n, uint32 qty, uint8 quality)
[11:01:27] <SB-X> ah
[11:01:34] <SB-X> thought it was more complicated
[11:01:41] <Yuv422> nope. ;)
[11:01:46] <SB-X> now we just need lightning bolts
[11:01:52] <Yuv422> yeah
[11:01:57] <Yuv422> Zap!
[11:02:09] <SB-X> i still have animmanager stuff commented out, going to fix that real soon
[11:02:17] <Yuv422> :)
[11:02:33] <Yuv422> can it do sprite rotation?
[11:02:46] <SB-X> not now
[11:02:50] <SB-X> but it will have to
[11:03:06] <SB-X> i figured out that if you throw something left it doesnt rotate
[11:03:14] <Yuv422> really
[11:03:19] <SB-X> and then it rotates to the right as you go counter clockwise
[11:04:06] <SB-X> or do you mean changing tiles as it moves? it should already do that
[11:04:18] <Yuv422> now that would be cool
[11:04:26] <SB-X> boomerangs do that i think
[11:04:33] <Yuv422> rotating slightly as it moves based on the angle
[11:05:02] <SB-X> i mean
[11:05:05] <SB-X> yes that would be
[11:05:10] <SB-X> but i dont think u6 ever did
[11:05:14] <Yuv422> actually that wouldn't be neccecary if you shoot in a straight line
[11:05:17] <SB-X> boomerangs just go straight and come back
[11:07:29] <SB-X> should gargoyle light sources be drawn above the actors?
[11:07:38] <Yuv422> I can't remember
[11:09:24] <SB-X> i think wisps eggs would be timed
[11:09:34] <SB-X> do you remember if they mostly showed up at night?
[11:09:39] <Yuv422> right
[11:09:51] <Yuv422> I'm still trying to work out how eggs work
[11:10:08] <SB-X> could the extra schedule entries be for eggs or temp npcs?
[11:10:46] <Yuv422> hmm now there's a thought
[11:10:57] <Yuv422> do they contain values?
[11:11:28] <SB-X> their values don't look valid
[11:11:43] <SB-X> http://nuvie.sourceforge.net/phorum/read.php?f=1&i=58&t=58
[11:12:23] <SB-X> oh i didn't write the data there
[11:13:34] <SB-X> one easy way to see is to alt-500 189 and 190 and look at yourself
[11:13:39] <SB-X> and see the schedule data on stdout
[11:13:42] <Yuv422> ah k
[11:22:26] <Yuv422> ok my little changes are in CVS now
[11:28:00] <Yuv422> SB-X: did you get Paul's post to the nuvie-devel list?
[11:33:00] --> Kirben has joined #nuvie
[11:36:51] <-- SB-X has left IRC (Read error: 104 (Connection reset by peer))
[11:36:53] --> sbx has joined #nuvie
[11:37:07] <sbx> @#$!
[11:37:10] <sbx> hi Kirben
[11:37:18] <Kirben> Hi
[11:37:18] <sbx> Yuv422: yeah i got the mail
[11:37:43] <sbx> Yuv422: does spamming obj 2135 work for you?
[11:38:04] <sbx> 2135 - Nugget of the Moons
[11:39:51] <Yuv422> the problem
[11:39:59] <Yuv422> is with the grouping code
[11:40:13] <Yuv422> if the item already exists in your inventory it doesn't work
[11:40:15] <Yuv422> :(
[11:40:36] <sbx> oh because it just increases quantity
[11:40:42] <Yuv422> yup
[11:41:10] * Yuv422 walks through a moongate summoned by his nugget of moons. ;-)
[11:41:50] <Yuv422> hmm looks like this code should be changed
[11:41:56] <sbx> oh it works
[11:41:56] <sbx> lol
[11:41:57] <sbx> good show
[11:42:02] <Yuv422> as it tries to stack everything
[11:42:04] * sbx can't figure out how to use it.
[11:42:10] <Yuv422> hehe
[11:42:20] <Yuv422> talk to LB he knows about moon nuggets
[11:42:45] <sbx> heh
[11:43:07] <sbx> oh i just exchanged it for gold coins
[11:43:30] <sbx> but it replaced it with an orb of the moons
[11:48:05] <Yuv422> yeah I'm sure there are lots of area's that aren't able to handle hacked objects
[11:50:06] <sbx> it's still hacked ultima fun
[11:50:11] <sbx> J.P. Morris would be pleased
[11:50:20] <Yuv422> indeed
[11:50:29] <sbx> ;)
[11:50:52] <sbx> will pu6e or u6edit reign supreme?
[11:51:36] <Yuv422> u6edit looks like it will do alot more than just map editing
[11:52:18] <Yuv422> I wonder if Paul plans to support MD and SE?
[11:52:18] <sbx> pu6e is supposed to do more
[11:52:25] <Yuv422> true
[12:03:52] <sbx> money counting is broken
[12:04:20] <sbx> my avatar has 52 gold and i went to buy a bow for 30
[12:04:26] <sbx> Gwenneth said i didnt have enough money
[12:06:23] <sbx> something strange about that gold
[12:06:48] <sbx> i dragged it to iolo's inventory and told him to give it back to me (gather) and nuvie crashed
[12:17:26] <Yuv422> Ouch!
[12:17:48] <sbx> the gold is also marked TEMP
[12:18:07] <Yuv422> :(
[12:18:33] <sbx> it must be something about the object because the other gold is fine
[12:19:25] <Yuv422> I'm going to bed now
[12:19:58] <sbx> alright
[12:19:58] <sbx> cya
[12:20:00] <Yuv422> have fun cooking up hacked objects with spam.
[12:20:04] <Yuv422> cya
[12:20:05] <sbx> hehe
[12:20:06] <-- Yuv422 has left IRC ("BitchX: born to raise hell")
[12:20:07] <sbx> ok
[15:13:38] <-- sbx has left IRC (Read error: 54 (Connection reset by peer))
[15:13:39] --> EsBee-Eks has joined #nuvie
[15:33:27] --> sbx has joined #nuvie
[15:33:28] <-- EsBee-Eks has left IRC (Read error: 104 (Connection reset by peer))
[15:45:34] <-- sbx has left IRC ("...")
[16:20:25] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[16:50:36] --> wjp has joined #nuvie
[23:36:00] <-- wjp has left IRC ("Zzzz...")
[23:37:52] --> Kirben has joined #nuvie