#nuvie@irc.freenode.net logs for 7 May 2003 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:13:58] --> Yuv422 has joined #nuvie
[00:14:05] <Yuv422> hi
[00:14:36] <Yuv422> I can't stay long.
[00:14:58] <Yuv422> are the Inventory functions ok?
[00:15:07] <sbx> yo
[00:15:19] <Yuv422> how do you handle gold transactions?
[00:15:23] <sbx> i made the script start method read the player gender and npc worktype vars
[00:15:23] <sbx> k
[00:15:47] <Yuv422> do you need to modify an existing inventory obj eg gold?
[00:15:49] <sbx> gold is transferred like a normal object i'd say
[00:15:55] <Yuv422> yeah I saw, looks good
[00:16:02] <sbx> i think they delete what you already have, and add a new amount
[00:16:17] <sbx> but it could vary
[00:16:21] <Yuv422> so we need a way of returning a object too.
[00:16:28] <Yuv422> hehe I think I forgot to put that in.
[00:16:42] <sbx> i didn't even look at the inventory functions
[00:16:53] <sbx> im going to make a shopkeeper work
[00:17:00] <Yuv422> cool
[00:17:19] <Yuv422> I've started party to
[00:17:44] <Yuv422> can you add a function to converse to get the actors name
[00:17:56] <Yuv422> actually that won't be needed
[00:18:09] <Yuv422> we'll just pass the name string when adding a party member
[00:18:57] <Yuv422> I'll need to find the byte for party mode
[00:19:04] <Yuv422> and solo mode
[00:19:08] <sbx> did you decode much of the objlist?
[00:19:13] <sbx> much more*
[00:19:22] <Yuv422> only what's in the objlist.txt file
[00:19:35] <Yuv422> I'm looking for some advanced savegames
[00:19:47] <Yuv422> so we can see what changes after a long time playing.
[00:20:12] <sbx> i don't know what i did with my savegame at bucaneer's den if i still have it
[00:20:26] <Yuv422> fingers crossed
[00:20:39] <sbx> why are there 16 party member names?
[00:21:02] <Yuv422> there are 16 party member slots in objlist
[00:21:16] <sbx> but you can only have 8 party members?
[00:21:20] <Yuv422> well I think that's the cas
[00:21:22] <Yuv422> +e
[00:21:32] <Yuv422> I might be mistaking 0's though
[00:21:37] <Yuv422> but that's what it looks like to me
[00:22:26] * sbx nods.
[00:23:07] <Yuv422> we'll need to start thinking about saveing games soon too. :)
[00:23:44] <Yuv422> once inventories are in we can add Get, Move and Drop
[00:24:13] <sbx> and the inventory screen
[00:24:34] <Yuv422> hehe don't remind me. I'm not looking forward to that. ;)
[00:25:16] <Yuv422> it will go along way to making the game playable though.
[00:25:23] <sbx> the graphics are all stored as tiles
[00:25:30] <sbx> so you just have to arrange them i think
[00:25:34] <sbx> except for the text
[00:25:36] <sbx> yeah
[00:25:42] <Yuv422> yeah. it shouldn't be to hard
[00:25:47] <Yuv422> just a bit messy that's all
[00:26:33] <Yuv422> We'll need the party screen, inventory screen, actor stats screen.
[00:26:52] <Yuv422> and actor look/talk screen
[00:27:38] <Yuv422> the first 0x100 bytes of objlist deffinatly looks like temp npc info
[00:27:53] <Yuv422> but it only ever seems to be set to 0x21
[00:28:00] <sbx> all of them are 21?
[00:28:24] <sbx> mine are 0
[00:28:26] <Yuv422> just the bytes that line up with temp npcs
[00:28:33] <sbx> hmm
[00:29:30] <sbx> i have 0 all the way to e0
[00:29:44] <sbx> and then just three 0x21s
[00:29:55] <sbx> and then 0 until 103
[00:30:20] <sbx> that may be because the save is right at the start
[00:31:53] <Yuv422> those three 0x21's are the temp npcs
[00:32:20] <Yuv422> gotta go
[00:32:46] <Yuv422> cya
[00:32:51] <-- Yuv422 has left IRC ("[BX] I came, I saw, I ran away screaming")
[01:33:32] --> Kirben has joined #nuvie
[03:37:50] <-- sbx has left IRC (Read error: 60 (Operation timed out))
[03:38:00] --- Eclair is now known as Kiddy_Grade|afk
[03:52:30] --> sbx has joined #nuvie
[04:01:22] <-- Kiddy_Grade|afk has left IRC (Remote closed the connection)
[04:06:02] --> animeloe has joined #nuvie
[04:06:06] --- animeloe is now known as Eclair
[06:25:10] <-- Eclair has left IRC (brunner.freenode.net irc.freenode.net)
[06:25:10] <-- ChanServ has left IRC (brunner.freenode.net irc.freenode.net)
[06:25:25] <-- servus_sominus has left IRC (brunner.freenode.net irc.freenode.net)
[06:25:25] <-- sbx has left IRC (brunner.freenode.net irc.freenode.net)
[06:25:25] <-- Kirben has left IRC (brunner.freenode.net irc.freenode.net)
[06:25:35] --> ChanServ has joined #nuvie
[06:25:35] --> Eclair has joined #nuvie
[06:25:59] --> sbx has joined #nuvie
[06:25:59] --> Kirben has joined #nuvie
[06:25:59] --> servus_sominus has joined #nuvie
[06:26:12] <-- servus_sominus has left IRC (brunner.freenode.net irc.freenode.net)
[06:26:13] <-- sbx has left IRC (brunner.freenode.net irc.freenode.net)
[06:26:13] <-- Kirben has left IRC (brunner.freenode.net irc.freenode.net)
[06:26:24] --> sbx has joined #nuvie
[06:26:24] --> Kirben has joined #nuvie
[06:26:24] --> servus_sominus has joined #nuvie
[07:52:28] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[07:58:02] --> Kirben has joined #nuvie
[08:11:41] <-- Kirben has left IRC ("System Meltdown")
[08:23:25] <-- sbx has left IRC (Read error: 113 (No route to host))
[08:24:33] --> Kirben has joined #nuvie
[08:57:22] --> sbx has joined #nuvie
[10:50:01] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[10:53:33] --> Kirben has joined #nuvie
[12:42:04] --> Yuv422 has joined #nuvie
[12:42:20] <Yuv422> hi
[12:52:34] <sbx> hello again
[12:52:39] <Yuv422> hi sbx
[12:52:43] <Yuv422> your're up late.
[12:52:46] <Yuv422> you're
[12:52:50] <sbx> im still working on shopkeepers/name lists/iolo cheat screen
[12:52:50] <Yuv422> How's things?
[12:53:26] <Yuv422> you're u6converse.txt doc is looking good btw
[12:53:30] <Yuv422> your
[12:53:31] <Yuv422> hehe
[12:54:36] <sbx> thanks
[12:54:43] <sbx> i added a couple of commands
[12:55:57] <Yuv422> how are you handling gold transactions?
[12:56:07] <sbx> i was wondering if you could make Party owned by Player and only require client classes to use Player to get Party if they need it
[12:56:20] <sbx> because it makes since i think bicbw
[12:56:34] <sbx> im not
[12:56:46] <sbx> it will be new item delete item
[12:57:09] <sbx> the script just uses Gold as the object
[12:58:48] <Yuv422> so why did you want Party via Player?
[12:59:46] <sbx> i don't want any more "global" class references in Converse that have to be passed in the constructor unless we really need them
[13:00:15] <sbx> instead i can make a Party pointer if i need it and get the party with something like player->get_party()
[13:00:44] <Yuv422> right
[13:00:54] <sbx> but if you think that doesn't make sense its not necessary to do it that way
[13:01:04] <Yuv422> let me think about it
[13:01:22] <sbx> i'd also only have to #include Player.h since it already has Party.h included
[13:01:27] <Yuv422> I'm still a bit unsure how Party will fit into the whole scheme of things.
[13:01:49] <sbx> oh
[13:02:01] <sbx> i don't know either
[13:02:03] <Yuv422> should player control party or should party control player?
[13:02:32] <sbx> Player control Party and Party reference Actors
[13:02:43] <sbx> if i know what Party is for
[13:03:18] <sbx> if Player doesn't control Party, i dont see it working in the opposite direction
[13:03:41] <Yuv422> Yeah I think what you are saying makes sense
[13:03:47] <Yuv422> I'll fix it up.
[13:04:09] <Yuv422> so Player controls Party
[13:04:11] <sbx> i actually didnt look at Party :o
[13:04:47] <sbx> either that or they aren't related at all
[13:05:18] <Yuv422> player does need party to help with solo mode selection.
[13:05:29] <sbx> ok
[13:05:33] <sbx> and it is the Player's Party
[13:05:36] <sbx> right?
[13:05:41] <Yuv422> hehe yes
[13:05:42] <sbx> Player/Avatar :)
[13:06:25] <Yuv422> how do you want to search for an object?
[13:06:48] <Yuv422> at the moment I have this.
[13:06:51] <Yuv422> bool inventory_has_object(uint16 obj_n);
[13:07:11] <Yuv422> maybe we need a inventory_get_object
[13:07:15] <Yuv422> method
[13:07:29] <Yuv422> do you search on qual,quant?
[13:07:46] <sbx> yes
[13:07:57] <Yuv422> always?
[13:08:11] <Yuv422> how would that work with gold?
[13:08:15] <Yuv422> object
[13:08:20] <sbx> no not always, im not sure
[13:08:39] <sbx> ill check
[13:10:33] <Yuv422> k
[13:12:45] <sbx> what is obj.num and qual. of Gold?
[13:12:57] <Yuv422> hmm
[13:13:31] <Yuv422> I'll have to check look
[13:14:42] <sbx> nm i found it
[13:14:42] <sbx> 88, 0x58
[13:14:56] <sbx> i mean thats the object
[13:15:02] <sbx> i don't know what quality for Gold means
[13:15:09] <Yuv422> so you check on obj_n and quality?
[13:15:21] <Yuv422> or does quality differ?
[13:16:26] <sbx> probably be safe to check for both but make quality check optional
[13:16:47] <sbx> it should return number of that item instead of true/false
[13:20:35] <sbx> it deletes whatever gold the character has already, then adds the new amount
[13:25:40] <Yuv422> maybe I could return an Obj* struct
[13:28:22] <sbx> does that have count?
[13:28:30] <Yuv422> qty?
[13:28:38] <sbx> yes
[13:28:43] <Yuv422> yes
[13:28:55] <Yuv422> the deffinition is in ObjManager.h
[13:29:11] <Yuv422> struct Obj
[13:29:11] <Yuv422> {
[13:29:11] <Yuv422> uint16 objblk_n;
[13:29:11] <Yuv422> uint16 obj_n;
[13:29:11] <Yuv422> uint8 frame_n;
[13:29:12] <Yuv422>
[13:29:14] <Yuv422> uint8 status;
[13:29:16] <Yuv422> uint16 x;
[13:29:18] <Yuv422> uint16 y;
[13:29:20] <Yuv422> uint8 z; // ??
[13:29:22] <Yuv422>
[13:29:24] <Yuv422> uint8 qty;
[13:29:26] <Yuv422> uint8 quality;
[13:29:28] <Yuv422>
[13:29:30] <Yuv422> U6LList *container;
[13:29:32] <Yuv422> Obj() {obj_n = 0; status = 0; frame_n = 0; qty = 0; quality = 0; container = NULL; };
[13:29:34] <Yuv422> };
[13:31:18] <sbx> does inventory have its own class?
[13:35:23] <Yuv422> no
[13:35:48] <Yuv422> it needs to be in ObjManager as it gets read out withall the other objects
[13:36:08] <Yuv422> Actor just calls ObjManager to get its inventory list
[13:36:37] <sbx> ok
[13:36:37] <Yuv422> when we come to save ObjManager will save all active inventories to disk
[13:36:51] <sbx> so ObjManager knows who is holding what?
[13:36:56] <Yuv422> yes
[13:37:02] <Yuv422> but it is access via Actor.
[13:37:03] <Yuv422> :)
[13:37:08] <Yuv422> accessed
[13:37:40] <Yuv422> U6LList *actor_inventories[256];
[13:37:43] <Yuv422> in ObjManager
[13:37:53] <Yuv422> bool inventory_has_object(uint16 obj_n);
[13:37:54] <Yuv422> bool inventory_add_object(uint16 obj_n, uint8 qty, uint8 quality);
[13:37:54] <Yuv422> bool inventory_del_object(uint16 obj_n, uint8 qty, uint8 quality);
[13:37:57] <Yuv422> from Actor
[13:38:17] <Yuv422> inventory_has_object will be changed to return the object
[13:38:59] <sbx> ah i see
[13:39:01] <sbx> whats a U6LList?
[13:39:12] <Yuv422> linked list
[13:39:19] <sbx> U6 specific?
[13:39:25] <Yuv422> not really
[13:39:35] <Yuv422> it's in misc/
[13:40:04] <sbx> oh ok
[13:40:10] <sbx> so i get the actor
[13:40:16] <sbx> and then check its inventory
[13:40:22] <Yuv422> yes that's the idea
[13:40:25] <Yuv422> does that sound ok?
[13:40:32] <sbx> yeah sounds good
[13:40:46] <sbx> im studying iolo's gather gold procedure
[13:41:14] <Yuv422> I've put stubs in party to gather / gice gold
[13:41:16] <Yuv422> give
[13:41:31] <Yuv422> does the original do it all in script?
[13:42:06] <sbx> yes if you have iolo do it
[13:42:19] <sbx> yes
[13:42:45] <sbx> but we could make it faster
[13:42:45] <sbx> in nuvie
[13:42:51] <sbx> i mean faster for the player, just press a key or something
[13:43:05] <sbx> optionial enhanced feature :)
[13:43:10] <sbx> optional*
[13:46:05] <Yuv422> sounds good
[13:46:20] <Yuv422> ctrl-G
[13:46:23] <Yuv422> gather gold
[13:46:38] <Yuv422> or maybe an f-key
[13:46:44] <sbx> the other one is split gold
[13:47:03] <Yuv422> well we can't really have xtrl-s to split ;)
[13:47:08] <Yuv422> ctrl-s
[13:47:12] <sbx> nope
[13:47:24] <sbx> the first function keys are for inventory
[13:49:05] <sbx> a6 05 b2, a8 (06 b2) (d3 00) (dd) (d3 58) (bb) a7 : #var5 = item_count(to_npcnum(#var6), 0x58)
[13:49:48] <sbx> oh that reminds me, a function Party would probably have
[13:50:02] <sbx> or indirectly something it would do
[13:50:06] <sbx> get npc number for party member
[13:50:19] <sbx> that is done a lot
[13:52:43] <sbx> i guess you could just do party->actor->actor_num
[13:53:02] <sbx> i guess you could just do party->get_member(0)->actor_num()
[13:53:10] <sbx> oops
[13:53:12] <Yuv422> right
[13:53:12] <sbx> something like that
[13:53:25] <Yuv422> so get actor num for party num.
[13:53:46] <sbx> yeah, you might not need another method after all
[13:55:01] <Yuv422> how about get_actor(uint8 member_num)
[13:55:24] <Yuv422> and get_name(uint8 member_num)
[13:56:33] <Yuv422> get_party_size
[13:56:57] <sbx> get_party_size is needed
[13:57:03] <Yuv422> did you end up finding that old save?
[13:57:15] <sbx> get_name seems like it makes sense for Party but i also added a method to Converse to get npc name
[13:57:28] <sbx> i didnt look for the save yet sorry
[13:57:34] <sbx> it might be in my game archive
[13:57:43] <Yuv422> np
[13:57:47] <Yuv422> when you have tie
[13:57:49] <Yuv422> time
[13:57:58] <sbx> ok :)
[13:58:05] <sbx> get_actor is a good one too
[13:58:10] <Yuv422> I'd rather a better converse than the save. ;)
[13:58:41] <sbx> i had to run all over the place in dosbox testing different npc's
[13:58:52] <sbx> and i got the party killed by gargoyles several times
[13:59:27] <sbx> so i advanced the save i was using up a little
[13:59:35] <sbx> but its still not "advanced"
[14:01:51] --> vividos has joined #nuvie
[14:01:55] <vividos> a short hi
[14:01:59] <Yuv422> hi
[14:01:59] <sbx> hello
[14:02:26] <vividos> Yuv422, I wanted to ask if I could change some "char*" parameter in different classes to "const char*"
[14:02:53] <Yuv422> it should be ok
[14:02:56] <Yuv422> where are they?
[14:03:08] <vividos> most functions only use the strings but don't change them
[14:03:40] <Yuv422> is there an advantage to declaring them const?
[14:03:46] <vividos> MsgScroll::display_string, set_string_buf, set_string_buf_append, Look::get_description ...
[14:04:16] <Yuv422> I guess it would make the code easier to read.
[14:04:17] <vividos> the advantage mostly is for the programmer to know that the string passed isn't modified
[14:04:20] <vividos> yes
[14:04:27] <Yuv422> sure go ahead
[14:04:30] <vividos> ok
[14:05:19] <Yuv422> I've just added inventories to ObjManager which I haven't cleans yet.
[14:05:33] <Yuv422> actually the whole ObjManager needs to dealloc
[14:06:08] <Yuv422> I'm going to rewrite some objmanager stuff so I'll do the dealloc then
[14:06:09] <vividos> hmm, the game seems to run ok with the const changes
[14:06:53] <Yuv422> would the compiler know if you were modifying a consy string?
[14:06:57] <Yuv422> const
[14:07:01] <vividos> quite some files changed; might give some merge conflicts when one of the other people wants to commit
[14:07:27] <vividos> the compiler would complain, unless one casts the string back to "char*" (which of course is pure evil! :)
[14:07:36] <Yuv422> ;)
[14:07:59] * sbx looks innocent.
[14:08:02] <vividos> :)
[14:08:52] <Yuv422> right those Party functions are in my copy now sbx.
[14:09:00] <Yuv422> would you like me to commit them now?
[14:09:54] <Yuv422> vividos: Did you end up reworking Look?
[14:10:03] <sbx> Yuv422: sure thanks
[14:10:08] <sbx> but im not using them yet
[14:10:15] <sbx> is the party loaded?
[14:11:15] <sbx> i can use party size immediately
[14:11:17] <vividos> Yuv422 the const changes are part of the rework, but I still have it to be done
[14:12:50] <Yuv422> ok Party changes are in
[14:13:13] <vividos> ok have to go again, but I'll commit the new Look string implementations today or tomorrow. hope I didn't cause too much trouble :)
[14:13:24] <Yuv422> hehe np vividos
[14:13:51] <Yuv422> always glad for your help.
[14:15:00] <vividos> 'till then!
[14:15:04] <sbx> bye
[14:15:04] <-- vividos has left IRC ("Leaving")
[14:17:58] <Yuv422> is gender used in converse for anything other than the 'milord', 'milady' strings?
[14:19:21] <sbx> yes
[14:19:51] <sbx> if your female the cook in lord british's castle will flirt with you, if your male then the person who runs the royal mint will flirt with you
[14:20:00] <Yuv422> ah k
[14:20:11] <Yuv422> I forgot about that. :)
[14:20:15] <sbx> you can test it in nuvie if you have savegames with male and female avatars :)
[14:20:41] <Yuv422> hehe I have a male avatar with a female portrait ATM. ;)
[14:21:07] <sbx> thats about as strange as having Sherry talk to that gypsy woman in the original u6
[14:21:33] <Yuv422> hehe and dupre is a mouse ATM
[14:24:04] <sbx> o_O
[14:24:15] <sbx> does he change to strange frames?
[14:24:46] <Yuv422> well actually sherry is second on the party list and has the name dupre
[14:25:02] <Yuv422> dupre is in sherrys slot at the end
[14:27:26] <sbx> do you have strange strings in the party list
[14:27:28] <sbx> ?
[14:27:31] <sbx> zeta
[14:27:32] <sbx> ater
[14:27:58] <Yuv422> yes
[14:28:13] <sbx> psilon
[14:28:15] <Yuv422> I think they just write the 14 bytes for each name to disk
[14:28:16] <sbx> what is that?
[14:28:20] <sbx> oh
[14:28:20] <sbx> hehe
[14:28:31] <sbx> so its from some memory?
[14:28:38] <Yuv422> so they are picking up some old data, yes
[14:29:25] <Yuv422> I'm off to bed now
[14:29:37] <Yuv422> it's 12:28AM here
[14:29:38] <sbx> ok
[14:29:48] <Yuv422> talk to you later
[14:29:50] <sbx> cya
[14:29:57] <-- Yuv422 has left IRC ("BitchX: its everywhere you want to be")
[14:30:14] <sbx> ?date
[14:30:14] <exultbot> It is now Wed May 7 14:30:14 2003 (GMT).
[14:30:14] <sbx> :)
[15:10:26] <-- Kirben has left IRC ("System Meltdown")
[15:21:32] <-- sbx has left IRC ("cya")
[15:22:23] --> wjp has joined #nuvie
[17:41:13] --- servus_sominus is now known as servus
[20:55:34] --- Eclair is now known as animeloe
[20:56:26] <-- animeloe has left IRC ("Who turned out the lights?")
[20:56:29] --> animeloe has joined #nuvie
[20:57:07] --- animeloe is now known as Eclair
[21:12:42] --> kefka has joined #nuvie
[22:16:18] --> armchair_avatar has joined #nuvie
[22:47:41] <-- armchair_avatar has left IRC ("Client Exiting")
[23:22:04] <-- wjp has left IRC ("Zzzz...")