#exult@irc.freenode.net logs for 13 Aug 2003 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[01:02:16] --> Kirben has joined #exult
[01:02:16] --- ChanServ gives channel operator status to Kirben
[01:05:37] --- SB-X is now known as sbx|afk
[01:05:51] <jan_here> night
[01:05:55] <-- jan_here has left #exult ("Client Exiting")
[01:33:04] <-- Matt_O has left IRC (adams.freenode.net irc.freenode.net)
[01:33:04] <-- Kirben has left IRC (adams.freenode.net irc.freenode.net)
[01:33:04] <-- DarkeZzz has left IRC (adams.freenode.net irc.freenode.net)
[01:33:50] --> Kirben has joined #exult
[01:33:50] --> Matt_O has joined #exult
[01:33:50] --> DarkeZzz has joined #exult
[02:34:39] --> Colourless has joined #Exult
[02:34:43] --- ChanServ gives channel operator status to Colourless
[02:37:31] <Colourless> hi
[03:15:31] --- Colourless is now known as Cless|feeding
[03:27:00] --> mike_fictiti0us has joined #exult
[03:27:49] <-- mike_fictiti0us has left IRC (Client Quit)
[04:04:54] --- Cless|feeding is now known as Colourless
[04:59:48] --- sbx|afk is now known as sb-x
[06:15:02] <-- Colourless has left IRC ("casts invisibility")
[07:34:42] <-- sb-x has left IRC ("ZzZZzzz")
[10:05:18] --> verhaever has joined #exult
[10:05:57] <-- verhaever has left #exult ()
[10:08:54] --> jan_here has joined #exult
[11:31:16] <-- jan_here has left IRC ("Client Exiting")
[12:13:50] --> Colourless has joined #Exult
[12:13:50] --- ChanServ gives channel operator status to Colourless
[12:14:14] <Colourless> hi
[12:23:57] --> jan_here has joined #exult
[12:29:24] <jan_here> hi
[12:31:26] <Colourless> hi
[12:32:08] <Colourless> can you give an example of a function that passes 0 to set_new_schedule
[12:36:11] <jan_here> wait
[12:36:50] <jan_here> Func00E6 : UI_set_new_schedules(0xFFEB, 0x0000, 0x000A, [0x0986, 0x0766]);
[12:37:14] <jan_here> or just run grep over a complete dump with ucxt
[12:37:47] <jan_here> or Func00FA: UI_set_new_schedules(var0009, 0x0000, Func084D(var0009, var0004)
[12:37:48] <jan_here> , Func084E(var0009, var0004));
[12:37:59] <Colourless> we properly support that it looks
[12:38:02] <Colourless> USECODE_INTRINSIC(set_new_schedules)
[12:38:03] <Colourless> {
[12:38:03] <Colourless> // set_new_schedules ( npc, time, activity, [x, y] )
[12:38:03] <Colourless> //
[12:38:03] <Colourless> // or
[12:38:03] <Colourless> //
[12:38:05] <Colourless> // set_new_schedules ( npc, [ time1, time2, ...],
[12:38:07] <Colourless> // [activity1, activity2, ...],
[12:38:09] <Colourless> // [x1,y1, x2, y2, ...] )
[12:38:11] <Colourless> //
[12:38:59] <jan_here> yes, but in the source it seems that just time slot 0 is changed when 0 is given, it is not that slots 1-9 are cleared if i read the code correct.
[12:39:20] <jan_here> therefore the rest of the schedule seems to stay intact.
[12:39:48] <Colourless> yes, that would seem like a bug in our code
[12:41:49] <Colourless> not hard to fix
[12:42:11] <jan_here> I'm more carefull with what I post. Here I just say what comes to my mind.., however rushed.
[12:42:48] <jan_here> is it correct that certain objects cycle through different frames ? Like the bloody hand?
[12:43:34] <Colourless> yes
[12:45:57] <Colourless> is the value always 0? is it any other value?
[12:46:05] <Colourless> the reason is
[12:46:44] <Colourless> if you set a single schedule for 12 am (which is time 0), then that is the schedule the npc will use all day
[12:47:15] <Colourless> and as such, our current behaviour is correct
[12:47:31] <jan_here> its always 0x0000 or [0x0000] or an array
[12:47:51] <Colourless> i think we are doing it correct
[12:47:56] <jan_here> well, but if there is a different schedule at 6Am it will be changed again
[12:48:21] <Colourless> yes it will under that case
[12:48:31] <jan_here> otherwise all characters would sleep all day
[12:48:48] <Colourless> yes, but an array would be used to set the schedule then
[12:49:04] <Colourless> B6 is used to set an entire new set of schedules for an actor
[12:49:07] <jan_here> my interpretation is that with 0 as an argument the whole day is cleared and only this one schedule is set for the whole day.
[12:49:20] <Colourless> it would appear from what you've said that B5 is used to update a schedule
[12:49:27] <Colourless> that is how it works at the moment
[12:49:30] <jan_here> yes, it appears so
[12:49:50] <Colourless> all schedules are cleared when B6 is called, and replaces with the new ones passed as the args
[12:50:14] <Colourless> if an npc only has a single scheduled activity, then that is the activity they will do all day
[12:51:43] <jan_here> because you create a whole new, clear list that gets passed as a whole to the actor?
[12:52:13] <Colourless> yes
[12:52:31] <Colourless> actor->set_schedules(list, count); discards all the old schedules
[12:52:37] <jan_here> I had wrongly assumed you only update the existing list..
[12:54:52] <jan_here> thats cleared then and does not need resolving (dont fix if it aint broken :) )
[12:57:08] <jan_here> there is another thing I was wondering about but am currently researching a little, it seems that for certain objects the usecode expects you to disregard or know about special conditions of an item (frame number) when concerning count_objects.
[12:58:10] <Colourless> that would make sense
[12:58:29] <Colourless> such things are usually specified by passing some 'value'
[13:00:43] <jan_here> its a little more tricky.. the bloody hand for example
[13:00:55] <jan_here> the hand has frames 0-5 of err something..
[13:01:06] <jan_here> the other frames are other severed limbs
[13:02:15] <jan_here> the Necromage for example has function 097D check if you have it in your inventory.
[13:02:35] <jan_here> but he only uses one statement with a frame value of 0
[13:02:59] <jan_here> so if the hand currently has frame 2 , the function naturally tells him, "no they dont have it"
[13:03:47] <jan_here> he cant use FE99 (any) as a frame value as that would cover all severed limbs.
[13:04:55] <Colourless> interesting
[13:05:35] <jan_here> another such thing happens with some filari in your inventory..
[13:06:08] <jan_here> you carry around a list with items that got exchaged in your inventory.
[13:07:15] <Colourless> send an email to exult general about the frame stuff
[13:07:53] <jan_here> I'll do that.
[13:08:02] <Colourless> i'm guessing we will need to add in code that will properly handle animated shapes
[13:09:33] <Colourless> which is a pain since the information about how animated shapes are handled is hard coded
[13:09:46] <Colourless> oh how i like the way ultima 8 did things :-)
[13:12:14] <jan_here> how _do_ they do it?
[13:14:05] <Colourless> all the animation information is actually stored in a data file :-)
[13:14:12] <jan_here> handy
[13:14:22] <Colourless> and it doesn't have silly things 'counting' intrinsics
[13:15:38] <Colourless> what it did do though was allowed you to get a list of all the items in a container/in an area that matched a small script
[13:16:20] <Colourless> then to count objects, you had to write usecode that did the counting manually
[13:17:18] <Colourless> so the usecode would have looked something like this
[13:17:44] <Colourless> for each item matching 'script' in Avatar do
[13:17:45] <Colourless> {
[13:17:45] <Colourless> }
[13:18:10] <Colourless> or something like that anyway
[13:18:42] <Colourless> much more flexible than how ultima 7 worked
[13:20:46] <Colourless> also to make things easier, ultima 8's usecode has lots of utility functions
[13:21:00] * jan_here nods.
[13:21:36] <jan_here> well, this one has some too.. but they are a little hard to grasp sometimes..
[13:25:04] <Colourless> usecode is like that :-)
[13:25:43] <jan_here> can you tell me what item 25F is? Shape 25f is just pictures of numbers.
[13:26:30] <Colourless> that's probably a path egg
[13:26:38] <jan_here> I mean I have here get_cont_items with item nr 25F
[13:26:53] <Colourless> be warned, si does really odd stuff with path eggs
[13:27:09] <jan_here> I can carry them around?
[13:27:22] <Colourless> yes :-)
[13:27:30] <Colourless> but you don't know it :-)
[13:27:41] <Colourless> there's a strange thing known as the 'usecode container'
[13:27:49] <jan_here> well, that makes a lot more sense now..
[13:27:51] <Colourless> it's a hidden item that the avatar carries around
[13:28:06] <Colourless> inside the usecode container is lots and lots of path eggs :-)
[13:28:30] <Colourless> as far as I know, it uses them as flags some how or something
[13:31:10] <jan_here> weird
[13:31:17] <Colourless> http://www.users.on.net/triforce/uccont.png
[13:31:52] <jan_here> LOL
[13:34:26] <Colourless> you'd need to ask jeff about those, since he know what the are actually used for
[13:34:46] <Colourless> normally, path eggs are used to set way points for the npcs
[13:35:20] <jan_here> this one is somehow related to Fawn. I was trying to find out what certain functions do.
[13:35:35] <jan_here> apropos Fawn, was that you with the item database?
[13:38:40] <-- Colourless has left IRC (Read error: 104 (Connection reset by peer))
[13:38:51] --> Colourless has joined #Exult
[13:39:02] --- ChanServ gives channel operator status to Colourless
[13:41:48] <jan_here> can you tell me (before I go nuts taking the city apart) is there a magic armour (item 666) in the city of fawn (just as an object lying around) at all?
[13:42:13] --> Cahaan has joined #exult
[13:43:58] <Colourless> there is a magic armour krystila's place (i've probably spelt her name wrong)
[13:44:22] <jan_here> you have the coords?
[13:45:04] <jan_here> i have been to her sleeping room (at least i think it was hers) but didn't find anything.
[13:46:54] <Colourless> should be in the chest of drawer
[13:47:00] <Colourless> s
[13:47:09] <jan_here> Ive been trying to figure out wether something is wrong with the usecode for her for quite some time..
[13:47:24] <Colourless> coords:
[13:47:41] <Colourless> hex 03d7, 0694
[13:47:55] <Colourless> dec 0983, 1684
[13:48:16] <Colourless> (not quite at the exact spot, but real close)
[13:50:09] <jan_here> bitch... thats why I could not find it.. according to her schedule she sleeps somewhere else..
[13:52:45] <jan_here> sometimes looking too much at usecode dulls your sense for the game..
[14:20:54] <Colourless> usecode will rot your brain
[14:22:05] <Colourless> example: you will turn into darke if you look at too much usecode
[14:33:27] <jan_here> argh..
[14:33:34] <jan_here> Im doomed...
[14:37:18] <DarkeZzz> Oi! I resemble that remark!
[14:37:26] <DarkeZzz> I mean, *resent* that remark!
[14:37:52] <DarkeZzz> I am a completely *unique* rabbit, and don't you forget it! *stomp!*
[14:38:45] <DarkeZzz> Usecode does, however, rot your brain. You will quickly loose your mind if you're not careful, or of you're like Colourless or myself, you've already lost it so you don't care. *grin*
[14:40:49] <Colourless> :-)
[14:41:37] * jan_here <-- careless.
[14:42:37] <Cahaan> did you guys contact/ask origin to know their opinion about Ulima copyright issues ?
[14:43:13] <jan_here> I think that was in the FAQ somewhere?
[14:43:58] <Cahaan> I don't have enough time to read every FAQ in the world though :P
[14:44:44] <Cahaan> and my question is not about copyright, it's about contacts between exult team and origin
[14:45:10] <DarkeZzz> We've asked them repeatedly, like almost all other ultima remakes, and they never answer.
[14:45:35] <Cahaan> damn :( not cool
[14:45:40] <Cahaan> even Lord British?
[14:46:28] <DarkeZzz> Ahh... you see he's *not* origin anymore, hasn't been for ages.
[14:46:36] <Cahaan> yes I know
[14:46:39] <DarkeZzz> Most of the dev team we've had contact with have liked the project.
[14:46:43] <DarkeZzz> Including LB.
[14:46:55] <Cahaan> great :)
[14:47:12] <DarkeZzz> However, their opinions on anything have no legal bearing as to Ultima copyright issues, since none of them own the copyrights. *grin*
[14:47:18] <Colourless> Jeff attempted to work something out with Origin a long time ago, however, that was just before LB left and stuff
[14:47:37] <Colourless> since then any email has been unanswered
[14:48:11] <Cahaan> having bought the game twice a while ago, I don't feel concerned but then why not linking a DL to the original files of part I and part II on the website ?
[14:48:25] <Colourless> he had discussions with LadyMOI
[14:48:38] <Colourless> because that would be piracy
[14:48:52] <Cahaan> yes I see
[14:49:02] <Cahaan> you can find them on different abandonware places though
[14:49:09] <Colourless> it is still piracy
[14:49:17] <Cahaan> yes right
[14:49:42] <Cahaan> tolerated piracy somehow
[14:53:55] <jan_here> could ucxt be changed in a way that instead of UNKNOWN it puts out something like UNKNOWN-D5 ? otherwise comparing is a little diffucult.
[14:54:32] <Colourless> my rabbit?
[14:55:32] <DarkeZzz> Hrm... I thought it did do that. Might have been code I never got around to committing.
[14:56:19] * DarkeZzz will check, then really probably should try to sleep again. *grin*
[14:57:40] <jan_here> wud puts out something löike UNKNOWN@04 but 04 is not the function number.. whats that?
[15:01:48] <DarkeZzz> ucxt does some dubious stuff trying to get the function names out of the appropriate bgintrinsics and siintrinsics header files. It might be an artifact of a changed header and ucxt not having been updated to handle it.
[15:03:05] <DarkeZzz> Ewww... what a mess.
[15:05:47] <DarkeZzz> ?date
[15:05:47] <exultbot> It is now Wed Aug 13 15:05:47 2003 (GMT).
[15:07:05] <Colourless> @04 is the number or args
[15:07:38] <Colourless> a/or/of/
[15:07:43] <Colourless> s/a/s/
[15:08:31] * DarkeZzz says nozink! Nozink!
[15:09:52] * Colourless shoots DarkeZzz with a tranq dart
[15:11:01] <DarkeZzz> Ok, the 1am-and-I-really-should-be-asleep hack is to append the function number to the end of all functions. Having just committed this, I'm having pangs of the "I really should do this right..." and now want to put proper code in to account for the unknowns. *grin*
[15:12:30] * Colourless shoots DarkeZzz with another tranq dart
[15:12:39] <Colourless> damn it, you'd think one would be enough for a rabbit
[15:12:49] * DarkeZzz halts the darts in mid air, with a strategicly placed cartoon stop sign. He'll need those soon. *grin*
[15:13:57] <DarkeZzz> Any idea if anon-cvs is properly syncing again?
[15:14:33] * DarkeZzz decides to leave the fix 'til tommorrow at work during lunch.
[15:18:09] <DarkeZzz> The only affected files are the u7{bg|si}intrinsics.data files, which contain all the function names. So if it isn't synced, and you don't want to wait 'til tommorrow for the updates, harass a devteam member who actually builds ucxt (should be just under the general tool chain) for those files from his usecode/ucxt/data directory. *grin*
[15:18:46] * DarkeZzz flips the sign to 'go' and fwumps as multiple tranq darts hit him. NighZzzzzzzz....
[15:23:40] <jan_here> I think I tried something similar before but the compiler complained that a function UNKNOWN5d was not handled by something or other.. probbaly changed the wrong file..
[15:27:13] <-- Colourless has left IRC (adams.freenode.net irc.freenode.net)
[15:27:13] <-- Kirben has left IRC (adams.freenode.net irc.freenode.net)
[15:27:22] --> Colourless has joined #exult
[15:27:22] --> Kirben has joined #exult
[16:21:34] <-- jan_here has left IRC (adams.freenode.net irc.freenode.net)
[16:21:46] --> jan_here has joined #exult
[16:55:33] <-- Cahaan has left IRC (adams.freenode.net irc.freenode.net)
[17:58:15] <-- Colourless has left IRC ("casts invisibility")
[17:59:01] --> Dominus has joined #exult
[17:59:05] --- ChanServ gives channel operator status to Dominus
[17:59:35] <Dominus> hi
[18:08:48] --> olivieryk has joined #exult
[18:14:01] <jan_here> hi
[18:18:04] <olivieryk> there
[18:24:10] --- Dominus is now known as Dominus|away
[18:31:19] <-- olivieryk has left IRC (Read error: 104 (Connection reset by peer))
[18:32:17] --> olivieryk has joined #exult
[18:47:42] <-- olivieryk has left IRC ()
[18:47:55] --> olivieryk has joined #exult
[18:50:57] <-- olivieryk has left IRC (Client Quit)
[18:54:26] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[19:10:25] --- Dominus|away is now known as Dominus
[20:36:59] --> olivieryk has joined #exult
[21:00:11] <-- olivieryk has left IRC ()
[21:32:40] <-- jan_here has left IRC ("Client Exiting")
[22:10:11] <Dominus> bye
[22:10:15] <-- Dominus has left IRC ("a pooka invited me to Charlie's")