#exult@irc.freenode.net logs for 14 Nov 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[03:33:27] --> EsBee-Eks has joined #exult
[03:34:17] <-- SB-X has left IRC (Killed (NickServ (Ghost: EsBee-Eks!~sbx@
[03:34:19] --- EsBee-Eks is now known as sb-x
[04:05:05] <-- sb-x has left IRC ("X-Chat [1.6.4]")
[05:16:54] --- Darke|zzZ is now known as Darke
[06:40:53] --> matto has joined #exult
[06:43:40] --> slacked has joined #exult
[08:58:47] <slacked> hellloo :)
[08:58:54] <slacked> How's the exult project going these days?
[08:59:09] <slacked> I see that Dancer added 3dnow and MMX functions to exult.
[09:21:38] <slacked> hello?
[09:21:49] <slacked> not very talkative are we?
[09:32:14] <Darke> A bit idle, yes. *grin*
[10:10:43] <-- slacked has left IRC ("I like core dumps")
[10:30:30] --> slacked has joined #exult
[10:48:19] --> Zxcvb has joined #exult
[10:48:38] <Zxcvb> who is working on the zaurus port of exult
[10:48:47] * Darke points to artaxerxes.
[10:49:00] <Darke> Oh, yeah, 'hi'. *grin*
[10:49:13] <Zxcvb> hi
[10:49:35] <Zxcvb> any idea when exult 1.1.x will be accurate enough for general use?
[10:50:10] --> Colourless has joined #Exult
[10:50:10] --- ChanServ gives channel operator status to Colourless
[10:50:26] <Darke> Greetings, oh non-coloured one.
[10:50:34] <Colourless> hi
[10:50:38] <Darke> Zxcvb: It should be already I think.
[10:50:48] <Zxcvb> Darke: how accurate is it?
[10:51:04] <Zxcvb> Darke: like can you steal in u7 (not serpent isle) just by opening a container
[10:52:23] <Darke> Zxcvb: As accurate as 1.0? IIRC the main reason we branched when we did was to add the ogg and zaurus support (opengl as well too, IIRC, and any of the more 'invasive' modifications for ES), they had a chance of breaking the game significantly, and we didn't want to introduce more bugs.
[10:52:27] <Zxcvb> Darke: if not, would a "real ultima" mode be possible, so everything except the new keybindings (like k to search through keys) is the same as ultima 7 or serpent isle?
[10:53:37] <Darke> Zxcvb: No clue. That requires a devteam member to care to exactly emulate the orignal u7/si. I, personally, don't particularly care to replicate all the bugs (some would call them 'features' *grin*) of the original.
[10:54:03] <Zxcvb> Darke: is the stealing thing emulated?
[10:54:28] <Zxcvb> Darke: oh, and can you now fly over the isle of the avatar without hosing the game?
[10:56:07] <Darke> (isle of avatar) Good question, I don't really know. I think that may be a usecode/egg bug that we can't fix though.
[10:56:29] <Darke> (stealing) I don't remember there being any significant difference between the stealing code in 1.0 and 1.1.
[10:56:40] <Zxcvb> Darke: usecode is essentially a script, right?
[10:56:52] <Zxcvb> Darke: and exult is the interpreter
[10:56:57] * Darke nods. Yep.
[10:57:04] <Zxcvb> Darke: then exult could fix usecode bugs
[10:57:19] <Darke> usecode is actually a compiled script. Like java compiling into java bytecode.
[10:57:32] <slacked> hello Zxcvb,I remember you from the forums
[10:57:42] <Zxcvb> Darke: yeah, and a Java VM could work around bugs in specific bytecode
[10:57:47] <slacked> I'm Blah on the forums, just so you know.
[10:57:52] <Zxcvb> slacked: ah
[10:58:00] <Zxcvb> how does stealing work in exult?
[10:58:31] <Darke> Only if you found the usecode bug, and worked out how to 'fix' it, then actually hand wrote a fix. If we made a 'fix' for that particular problem in the engine, who knows what else we might break because they relied on the fix though?
[10:58:40] <Darke> (stealing) No idea. *grin*
[10:58:55] <slacked> From the looks of it there has been some work on the stealing on 1.1
[10:59:03] <Darke> s/relied on the fix/relied on the 'unfixed' way things worked/
[10:59:04] <Zxcvb> slacked: how does it work in 1.0
[10:59:14] <slacked> not sure
[10:59:16] <-- Kirben has left IRC ("System Meltdown")
[10:59:20] <Zxcvb> Darke: the fix is simple, if on the flying carpet, then don't close the door
[10:59:41] <slacked> brb
[10:59:42] <-- slacked has left IRC ("I like core dumps")
[11:00:39] <Zxcvb> Darke: you have a flag, on_carpet, which is 1 if true, and 0 if false
[11:00:54] <Zxcvb> Darke: if on_carpet == 1, then you simply don't run the close door instruction
[11:00:55] <Darke> Zxcvb: Sure. But what happens if there is a situation somewhere else in the usecode (in both U7 _and_ SI), that relies on you never being allowed to get into an area (having the door automatically closing) whether you arrived by carpet or by foot? (Or wagon, or ship, or whatever...)
[11:01:23] <Zxcvb> Darke: there isn't
[11:01:29] <Zxcvb> Darke: at least for ultima 7
[11:01:35] --> Kirben has joined #exult
[11:01:35] --- ChanServ gives channel operator status to Kirben
[11:02:06] <Zxcvb> Darke: and it should be possible to detect whether ultima 7 or serpent isle is being used
[11:02:25] <Darke> Zxcvb: You've checked all the usecode in detail to find out? *grin* This is a problem we have had continously, we change the way something works, only to find out 6 months later the 'fix' broke some other bit of code somewhere else in the world.
[11:02:46] <Zxcvb> Darke: no, I played the game
[11:02:50] <Zxcvb> Darke: including all the subquests, etc
[11:03:29] * Darke has too, extensively, and he can't be sure. *shrug* But he knows that usecode is tempremental enough that you can never be sure. *grin*
[11:03:57] <Zxcvb> Darke: in the forge of virtue, you can use the carpet to gain access the the love quest when you can't by the moongate (i.e. you have completed the love quest)
[11:04:01] <Darke> I do agree though, the bug should be fixed. *grin*
[11:04:12] <Zxcvb> Darke: but that's not nearly the same thing
[11:04:28] <Zxcvb> Darke: as the moongate being disabled is triggered by getting the talisman of love
[11:05:27] <Zxcvb> Darke: any chance of having items remain where you put them in your inventory (or ship's hold)
[11:06:09] <Darke> Not a clue. Did it happen in the original?
[11:06:17] <Zxcvb> Darke: no
[11:06:28] <Zxcvb> Darke: it would autoarrange your inventory to "help" make things more compact
[11:06:48] <Zxcvb> Darke: in ultima 8, I can put a potion in say, the bottom right corner of a backpack, and it will stay there
[11:06:53] * Darke suggests you post these things to the exult-general mailing list. You'll likely get more solid answers on some of these things then you will from him. *grin*
[11:07:29] <Zxcvb> Darke: it is even worse in the ships hold, as you can't effectively have more than 7 (8 if you ditch the anchor) barrels
[11:07:47] * Darke doesn't know if it's possible to make the objects 'stay'. Would be good though.
[11:07:48] <Zxcvb> Darke: try to start a third row, and the 8th/9th barrel will be on top of the others in the ship's hold
[11:08:33] <Zxcvb> Darke: usecode is basically a more advanced version of z-code, right?
[11:08:55] <Zxcvb> Darke: with a different VM system
[11:09:09] <Darke> Not sure, I don't know z-code.
[11:10:00] <Zxcvb> Darke: it was a write once, run anywhere system for infocom games
[11:10:29] <Zxcvb> Darke: they wrote the game for the z-machine, then wrote interpreters for x86, c64, atari, apple, nintendo, etc
[11:10:51] <Darke> It's just a 'basic' stack based assembly language. Like the one in the Fallout series of games. *nod* I know that much about z-code, I don't know the assembly language well enough to say it's 'the same' or more advanced or whatever.
[11:11:29] <Zxcvb> Darke: is there anything more to voodoo than real mode without segment limits?
[11:12:28] <Darke> It's 'just' like EMM, just differently implemented and no doubt has different features. I don't think anyone knows much about Voodoo.
[11:12:59] --> slacked has joined #exult
[11:14:32] <Zxcvb> Darke: it's flat real mode, and is still quite populear
[11:14:40] <Zxcvb> Darke: I hear some of the freedos utilities use it
[11:15:03] <Zxcvb> Darke: it lets you access full 32 bit flat memory without ever leaving real mode
[11:15:32] <Zxcvb> Darke: http://www.df.lth.se/~john_e/gems/gem0022.html
[11:15:55] <Darke> Cool. I never had to worry about memory management in dos. Went straight from BASIC to programming in C with DJGPP. *grin*
[11:16:10] <Zxcvb> Darke: it's a bug in the x86 CPU
[11:16:30] <Zxcvb> Darke: that site has info and ASM code to use voodoo mode
[11:16:48] <Zxcvb> Darke: and one other site has code that will kick out emm386/qemm, instead of just failing to work
[11:19:06] * Darke reads. Ick, yeah it does look like a bit of a 'hack'. *grin* Interesting though.
[11:19:53] <Colourless> problem with the 'bug' is intel fixed it in virtual86 mode
[11:20:18] <slacked> hello again
[11:20:24] <slacked> so does the Opengl work now?
[11:20:47] <Colourless> no it still doesn't work properly
[11:20:51] <slacked> Have they fixed that bug?
[11:20:52] <Zxcvb> Colourless: would it be possible to modify ultima7.com to bypass the setup in protected mode where the segment limits are changed?
[11:20:55] <slacked> okay
[11:21:15] <Zxcvb> Colourless: if so, then it would work on dosbox now, as dosbox never checks segment limits, but only does 386 real mode right now
[11:21:28] <Colourless> Zxcvb: u7dpmi is supposed to around the problem
[11:21:52] <slacked> I compiled it the other night with ./configure --enable-opengl and when I begun the game it couldn't find some palattes file. Dancer_ had the problem as well. He said he was working on it
[11:21:55] <Zxcvb> Colourless: and I am sure transmeta could "unfix" that in v8086 mode as well
[11:23:27] <Colourless> i'm sure the could too, but it might cause just a bit of havok to winnt which isn't expecting v86 mode to work like that
[11:23:28] <Zxcvb> Colourless: if ultima7 could be hacked to not do the protected mode setup, and just do flat real mode anyway, then dosbox could easily run it
[11:23:52] <Zxcvb> Colourless: dosbox doesn't check segment limits, so the protected mode setup is useless
[11:24:32] <Zxcvb> Colourless: after all, how much software depends on the 64k segment limits existing like they should
[11:26:06] <Zxcvb> Colourless: in pure real mode, that is
[11:27:06] <Colourless> the person who wrote u7dpmi would really the person to talk to about those things
[11:27:17] <Colourless> i've no idea how the program works
[11:27:30] <Zxcvb> Colourless: or u7win9x?
[11:27:47] <Colourless> written by the same person afaik
[11:28:05] <Zxcvb> Colourless: I expect ultima 7 to be the first i386 protected mode game to work on dosbox (after all, it doesn't do that much in protected mode, just some setup)
[11:39:02] <-- slacked has left IRC (Remote closed the connection)
[11:39:10] --> slacked has joined #exult
[11:45:24] <-- slacked has left IRC (Read error: 104 (Connection reset by peer))
[11:46:29] <-- Zxcvb has left IRC ()
[12:03:02] --- Colourless is now known as Cless|Away
[12:06:25] --> Kirben2 has joined #exult
[12:06:41] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[12:06:41] --- Kirben2 is now known as Kirben
[12:42:04] --- Cless|Away is now known as Colourless
[13:36:55] --> Fingolfin has joined #exult
[13:36:56] --- ChanServ gives channel operator status to Fingolfin
[13:37:14] <Fingolfin> hi
[13:37:21] <Colourless> hi
[13:37:35] <Darke> Hi.
[15:06:53] --- Fingolfin is now known as SomeStranger
[15:08:01] --- SomeStranger is now known as Fingolfin
[15:37:28] --- artaxerxes is now known as artaxerxes|zombi
[16:41:21] --- Fingolfin is now known as Fingolfin|afk
[17:13:06] <-- Fingolfin|afk has left IRC ("Oops. This machine just fell asleep")
[17:15:54] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[17:17:14] <Darke> Pity sbx isn't here, he missed out oh his chance to get his hands on my vim u8usecode highlighter. *grin*
[17:24:11] --> SB-X has joined #exult
[17:24:25] <SB-X> hi all
[17:24:35] <Colourless> hi
[17:25:07] * Darke laughs. Guess that's one way of summoning SB-X. *grin*
[17:26:47] <SB-X> ...
[17:26:48] <SB-X> shit
[17:26:57] <SB-X> i didn't even see that in the logs
[17:27:08] <SB-X> hehe
[17:27:21] * SB-X files a new request with Darke.
[17:31:09] <Darke> Just fiddling with it a bit more. I figured I should actually check it against u8's usecode and found it actually has a bit more variation in it's opcode use then remorse. *grin*
[17:34:39] <SB-X> I don't know why I wanted to see it, I don't even use vim. :-)
[17:35:07] * SB-X does use elvis sometimes though, so how much different could it be.
[17:42:26] <Darke> "I have no backpack! " <- From the u8 usecode. Any idea when that string was barked? It's most unusual. *grin*
[17:44:33] <SB-X> Is it on the Avatar?
[17:45:24] <SB-X> maybe if you try to check inventory when he doesn't have a backpack
[17:45:37] <SB-X> and, if he doesnt need a backpack, maybe they removed that
[17:45:49] <SB-X> well, i don't know about u8 sorry :P
[17:45:50] <Darke> Nope. In AIRSPEL.
[17:45:57] <SB-X> oh
[17:45:59] <SB-X> air spell?
[17:46:39] <Darke> Yup.
[17:46:53] <SB-X> that make no sense
[17:47:06] <Darke> The problem is the function calls before it make no sense. *grin*
[17:52:55] <SB-X> What does spawn null do in U8?
[17:53:05] <SB-X> Or just spawn, however you said it worked.
[17:53:34] <Darke> Eh? What? Who? Ha?
[17:54:03] <Darke> spawn inline?
[17:54:20] <SB-X> You said that an address is pushed and then spawn is called
[17:54:27] <SB-X> or no address is pushed and spawn 00 is called?
[17:55:31] <Colourless> you are confused :-)
[17:56:15] * Darke will let Colourless untangle SB-X. He's feeling particularly incoherent at the moment, probably since he should have been asleep an hour a go. *Grin*
[17:56:36] * Colourless is in not state to untangle anything
[17:57:08] <SB-X> it looks like the spawn opcode always takes either 00 or 02 as it's 'sizeof this pointer' value. I wonder why? It either pushes a dword before it as a 'this' in the instance of an 02, or a dword 'null' value in the instance of a 00.
[17:57:17] <SB-X> -- Darke
[17:57:30] <SB-X> i was wondering what does the second one do?
[17:58:52] <Colourless> how much do you know about 'this' pointers?
[17:59:12] <SB-X> nothing
[17:59:29] <Colourless> hmm, then it might be a bit difficult to explain
[17:59:35] <SB-X> this = myself
[17:59:42] <SB-X> i dont know anything about u8 usecode
[17:59:45] <SB-X> just this in C++
[18:00:08] <Colourless> well you would know that the this pointer is a pointer to the current object
[18:01:08] <Colourless> all darke noticed was that in some cases the this pointer was being passed as to a new process was NULL
[18:02:25] <SB-X> i got that...
[18:02:42] <Darke> AFAICT, the functions it was spawning were all 'library' functions and appear not to use a pointer to the original object anyway. So having a 'null' this pointer (which is never used) wouldn't be a problem.
[18:04:04] <SB-X> ok
[18:04:18] <SB-X> that is what i was asking, why it was doing that
[18:04:24] <SB-X> but i should have asked, what is spawn? :)
[18:05:06] <Colourless> spawn creates a new thread of execution
[18:05:42] <SB-X> so.. the existing one continues
[18:05:50] <Darke> s/creates/manually creates/ To be pedantic, since most threads are created automatically. *grin*
[18:06:14] <Darke> Yup. Continues in parallel, compared to a `call` which waits for the function call to return.
[18:08:56] <SB-X> i see
[18:09:02] <SB-X> thank you, masters of Pentagram
[18:09:11] * SB-X goes to meditate on the subject.
[18:14:04] <Colourless> i think i'll go
[18:14:05] <-- Colourless has left IRC ("casts invisibility")
[18:21:24] * Darke finishes updating his knowledge of Fallout modding and decides to disappear into the ether. *grin* Night!
[18:21:39] --- Darke is now known as Darke|zzZ
[18:36:25] --> Fingolfin has joined #exult
[18:36:27] --- ChanServ gives channel operator status to Fingolfin
[19:31:30] --- artaxerxes|zombi is now known as artaxerxes
[19:31:47] <artaxerxes> hi
[19:32:31] <artaxerxes> message for Colourless and Darke: the DVD does it all!!!!! My possession in 3 hours!
[19:32:44] <artaxerxes> s/DVD/DVD player/
[19:39:10] <SB-X> hi
[19:39:18] <SB-X> artaxerxes: you must be busy :)
[19:40:29] <SB-X> since you have not been available when you're in here
[19:40:51] <artaxerxes> I stay connected but I forget to change my nick ....
[19:41:08] <SB-X> did you get my message about mode +a?
[19:41:25] <SB-X> and also did you see if si-french package was corrupted?
[19:41:39] <artaxerxes> neither!
[19:41:52] <artaxerxes> however the si-french was also reported by KK and it's corrected now
[19:42:26] <SB-X> oh, alright :) someone else was here asking about it
[19:43:19] <artaxerxes> there was some pb when I ftped up the file... I should have noticed since version 0.5.0 was shown as being smaller than 0.4.0 although we translated 50% of what was left over!
[19:43:42] <artaxerxes> but all is back to normal now... so what about that +a sign ?
[19:44:01] <artaxerxes> +o means op, +e mean registered (I guess)
[19:44:58] <SB-X> i dont see modes in x-chat like that
[19:45:13] <artaxerxes> lemme guess... @ for admin right ?
[19:45:27] <SB-X> @ for op
[19:45:31] <SB-X> no
[19:45:36] <SB-X> hehe
[19:45:39] <SB-X> i mean green circle
[19:45:42] <SB-X> i dont see admin
[19:45:46] <artaxerxes> yes... I meant op... :)
[19:45:48] <SB-X> i think +a is admin
[19:45:55] <SB-X> but i thought it might be away before
[19:47:02] <SB-X> does freenode have +a?
[19:47:06] <artaxerxes> ?
[19:47:12] <artaxerxes> I'm using KSirc
[19:47:22] <artaxerxes> I'm glad to see more and more ppl are using exult on the zaurus!
[19:47:35] <SB-X> the server defines what the modes are
[19:47:46] <SB-X> yeah i wish i had a portable computer
[19:48:28] <artaxerxes> my next task is to enable the OGG sounds
[19:49:04] <SB-X> wont that be even slower than fmopl?
[19:49:08] <SB-X> and power draining
[19:50:47] <artaxerxes> I'd say the opposite.
[19:51:12] <artaxerxes> since it's full integer decoder and less CPU intensive as being a midi mapper
[19:52:17] <SB-X> hmm
[19:52:43] <SB-X> i guess it depends on the amount of floating point operations the other one does
[19:55:16] --> sbx has joined #exult
[19:55:25] <artaxerxes> Colourless says it's not that much
[19:55:29] <artaxerxes> maybe 10 per note
[19:55:35] <artaxerxes> but still
[19:55:52] * sbx slaps SB-X around with a small 50lb Unix Manual
[19:56:15] <-- SB-X has left IRC (Killed (NickServ (Ghost: sbx!~sbx@
[19:56:29] --> SB-X has joined #exult
[19:56:44] <-- sbx has left IRC (Killed (NickServ (Ghost: SB-X!~sbx@
[19:56:52] <SB-X> hmm
[19:57:17] <SB-X> i didn't see any +a's in ksirc :)
[19:59:25] <artaxerxes> http://www.zeb.uklinux.net/encoding.html
[19:59:42] <artaxerxes> there's a blurb about Ogg on the zaurus/mp3 on the zaurus
[20:07:53] <SB-X> but ultima7 uses a lot of resources
[20:07:55] <SB-X> did you check it yet?
[20:08:01] <SB-X> how much memory and cpu
[20:09:08] <artaxerxes> not checked
[20:12:04] <artaxerxes> I'll do that now
[20:24:09] <artaxerxes> got exult running and the remote login to lunch commands
[20:24:20] <artaxerxes> unfortunately, there is no top command
[20:24:39] <artaxerxes> any other clue on what I can use ?
[20:28:01] <artaxerxes> root 10827 0.0 0.2 1372 68 ? SN 20:22 0:00 /bin/sh /home/Qtroot 10828 21.3 40.2 21148 11332 ? RN 20:22 0:50 /opt/QtPalmtop/broot 10830 0.0 40.2 21148 11332 ? SN 20:22 0:00 /opt/QtPalmtop/broot 10831 0.0 40.2 21148 11332 ? SN 20:22 0:00 /opt/QtPalmtop/b
[20:28:17] <artaxerxes> root 10828 21.3 40.2
[20:28:22] <artaxerxes> from ps aux
[20:28:46] <artaxerxes> 21.3% of cpu and 40% of memory
[20:28:55] <artaxerxes> without the sound!
[20:32:21] <artaxerxes> root 10842 31.2 41.1
[20:32:25] <artaxerxes> root 10858 48.0 41
[20:32:37] <artaxerxes> with sound (2 relevant processes)
[20:33:14] <artaxerxes> 31% cpu and 41% mem for engine and graphs and 48% cpu and 41% mem for sound
[20:35:35] <SB-X> i bet it could be reduced
[20:37:06] <SB-X> at least now you can make some estimates about how low you want to get the resource usage
[20:37:30] <SB-X> if at all
[20:53:27] <artaxerxes> true
[22:45:44] --> dancer has joined #exult
[22:56:34] <-- SB-X has left IRC (Read error: 60 (Operation timed out))
[23:45:56] <-- Fingolfin has left IRC ("good night")