#exult@irc.freenode.net logs for 4 Jul 2001 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:05:35] --> Kirben has joined #exult
[09:03:40] --> matt0 has joined #exult
[09:06:24] <matt0> ?seen wjp
[09:06:24] <exultbot> wjp left IRC around Tue Jul 3 21:49:06 2001 (GMT) ([x]chat)
[09:06:42] <matt0> ?dancer
[09:06:45] <matt0> ?seen dancer
[09:06:45] <exultbot> I haven't seen dancer lately
[11:59:34] --> sty_work has joined #exult
[11:59:42] <sty_work> ave
[12:38:42] <-- sty_work has left IRC ()
[13:09:05] --> Nadir has joined #exult
[13:11:34] <matt0> Nadir!
[13:13:39] <Nadir> hi
[13:13:47] <Nadir> Kirben: prohosting is sloooooooow
[13:14:15] <-- Kirben has left IRC (Ping timeout for Kirben[co3007967-a.brasd1.vic.optushome.com.au])
[13:15:22] <Nadir> I didn't say it was YOUR fault :)
[13:21:10] <matt0> lol
[13:21:47] <matt0> hey Nadir, what do you make of this macro I just came up with?
[13:21:53] <matt0> #define Z80_PEEK_WORD *( (Uint16 *) ( (Uint8 *) (opcode_base + PC)))
[13:22:16] <matt0> ugly, eh? but can you see another way to accomplish the same thing?
[13:22:45] <matt0> (opcode_base is a Uint8 * and PC is a unsigned 16-bit value)
[13:23:29] <matt0> the purpose of the macro is to read a 16-bit word from the memory position pointed to by opcode_base + PC
[13:34:06] <-- Nadir has left IRC (Read error to Nadir[natmi130.etnoteam.it]: Connection reset by peer)
[14:02:55] --> Nadir has joined #exult
[14:03:19] <Nadir> b
[14:35:01] <-- Nadir has left IRC (Read error to Nadir[natmi130.etnoteam.it]: Connection reset by peer)
[14:47:07] --> Colourless has joined #Exult
[15:23:22] --> Blckthrn has joined #exult
[15:23:27] --> fingolfin has joined #exult
[15:23:31] <fingolfin> lo
[15:23:37] <Colourless> hi
[15:24:12] <Blckthrn> Hello
[15:24:46] <Colourless> ?
[15:25:50] <Colourless> someone broke exult
[15:25:55] <Blckthrn> I have a question about Exult's scalers. Does a frame get scaled only once (after it has been loaded), or everytime is is drawn to the screen?
[15:26:15] <Blckthrn> by "frame", I mean part of a shape
[15:26:43] <Colourless> the screen is drawn unscaled, then the scaling is down when the screen is blitted
[15:27:04] <Colourless> only the parts of the screen that change should get scaled...
[15:27:36] <Colourless> however, palette cycling make it so the entire screen needs updating everyframe...
[15:28:01] <Colourless> i'm not sure but the full screen update shouldn't be required for 8 bit modes, but there is a chance it still occurs
[15:28:03] <Blckthrn> OK. I mistakenly thought that the frames were scaled once, stored into memory, and that those scaled frames were drawn into video memory.
[15:28:50] <Blckthrn> Actually, wouldn't this be an effective method for speeding up the rendering process?
[15:30:17] <fingolfin> hm, maybe
[15:30:21] <fingolfin> but also quite complicated
[15:30:25] <Colourless> perhaps. but there are some limitations. The scaling wouldn't look as good. Plus it would play havoc with palette cycling
[15:30:56] <Blckthrn> Yes, palette cycling wouldn't work anymore with this method.
[15:30:57] <fingolfin> yo right
[15:31:18] <fingolfin> right now, we need to fix the code so that it can properly deal with 3x scale etc ;)
[15:31:24] <fingolfin> I am not even sure, does 4x work?
[15:31:29] <Colourless> no
[15:31:34] <fingolfin> there is some really bad code in exult.cc
[15:31:45] <Colourless> i could probably fix all the problems with the scale code
[15:31:52] <fingolfin> but...?
[15:31:53] <Colourless> i've already looked at it once before
[15:32:37] <Colourless> some places assume the scale value is a power of 2, others assume that 2 = on and all other values = off. It's really is a big mess
[15:32:52] <fingolfin> IMHO, we should get rid of the scale variable in exult.cc
[15:33:01] <Blckthrn> Another question: Jeff said on the Exult forum that smpeg can use OpenGL. Now I'm wondering, how could an MPG movie replayer benefit from using OpenGL?
[15:33:07] <fingolfin> and replace it with a new one, like scaleFactor - or maybe cal getScale() whenever we need it
[15:33:25] <fingolfin> OpenGL is also very nice for 2d Accel!
[15:33:45] <Colourless> fingolfin yeah. I think that imagewindow stores the scale factor
[15:33:51] <fingolfin> e.g. I know sprite engines that use OpenGL to draw the sprites - you basically put your graphics as a texture on a simple shape
[15:34:14] <fingolfin> ryan: you forgot that some places assume 1 = on ;)
[15:34:23] <fingolfin> fingolfin: so it is indeed a big mes
[15:35:09] <Colourless> it's a bigger mess than I though.
[15:35:11] <Colourless> thought
[15:35:42] <Blckthrn> Fingolfin, so smpeg uses OpenGL to draw the different frequency components (as sprites) to the screen?
[15:36:24] <Colourless> smpeg: it probably just continuely updates a texture that contains the mpegs decoded frame
[15:36:37] <Colourless> that is the easiest way of using OpenGL to do scaling.
[15:36:43] <fingolfin> I think ryan is probably right
[15:36:47] <fingolfin> never used smpeg, though
[15:36:56] <Colourless> ther more complex way is to use OpenGL as a sprite renderer.
[15:37:59] <Colourless> getting Exult to use opengl as a sprite renderer would be nice, but it would require a large rewrite of exult.
[15:38:44] <Blckthrn> Well, it would be nice to have opengl support, but if it's that much work, I think we can do without it.
[15:39:23] <Colourless> doing a simple scaler using a single texture would be quite possible.
[15:40:10] <Blckthrn> A single texture? But isn't texture size limited to 64x64 in most 3D-accelerators?
[15:40:23] <Colourless> you are kidding me.
[15:40:55] <Blckthrn> No, I'm not joking. I just don't know very much about 3D accelerators :)
[15:41:18] <Colourless> 64x64 is tiny. The Voodoo 3 and earlier cards had a 256x256 limitation. All newer cards have limits of at least 1024x1024
[15:41:50] <Blckthrn> Well, I have a Voodoo 3 :)
[15:41:59] <fingolfin> the main propblem actually is:
[15:42:01] <Blckthrn> But I think I'll be getting a new card sometime soon.
[15:42:08] <fingolfin> you can only use textures of size 2^n * 2^n
[15:42:13] <fingolfin> so you usually waste a lot of space
[15:42:25] <Colourless> but it doesn't really matter
[15:42:31] <fingolfin> yeah ;)
[15:42:58] <Blckthrn> Fingolfin, I think most games circumvent this problem by "recycling" this unused space.
[15:43:06] <Colourless> it is an unavoidable problem, unless tiling is used
[15:43:30] --- fingolfin is now known as Fingolfin|learning
[15:43:34] <Colourless> tiling can cause lines to appear at the edges of the tiles though. it can look really really bad
[15:43:38] <Fingolfin|learning> gotta prepare a bit for my exam on friday
[15:43:47] <Colourless> ok
[15:46:30] <-- Blckthrn has left IRC ()
[16:05:05] --> lex has joined #exult
[16:06:07] <lex> exult rocks!
[16:06:11] <lex> just had to say that.
[16:06:24] <lex> ultima 7 was my favorite, and being able to play it on linux is very nice
[16:06:32] <Colourless> hi
[16:06:58] <Colourless> :)
[16:13:01] <-- lex has left #exult
[16:21:10] --- Fingolfin|learning is now known as Fingolfin
[16:21:40] <Fingolfin> ryan: I will leave now, some soccer training. Tomorrow, students play against profs/assitants ;)
[16:21:48] <Fingolfin> at least in the Math department, where I am nin
[16:22:00] <Fingolfin> I hope itīll be a lot of fun, afterwards we do a BBQ
[16:22:04] <Colourless> ok, cya
[16:22:16] <Fingolfin> cya, greet all team members from me ;)
[16:22:20] <-- Fingolfin has left IRC (Client Exiting)
[18:26:40] <-- Colourless has left IRC (Ping timeout for Colourless[ppp433.adelaide.on.net.au])
[21:02:08] <-- matt0 has left IRC (Laserdisc Arcade Emulation Project: http://daphne.rulecity.com , get your CVS password today! =])