code logs -> 2007 -> Sun, 15 Apr 2007< code.20070414.log - code.20070416.log >
--- Log opened Sun Apr 15 00:00:53 2007
00:04 Raif [~corvusign@Nightstar-22484.hsd1.ca.comcast.net] has joined #Code
00:04 mode/#code [+o Raif] by ChanServ
00:37 * McMartin notices he has failed to implement > GIVE {NPC} WHAT FOR as a synonym for > ATTACK, fixes this grievous oversight
01:15
<@McMartin>
Understand the command "raid" as "search".[* The Scholars launch plenty of raids, but the only item the player is ever really cued to raid is the fridge.]
01:28 Doctor_Nick [~fdsaf@Nightstar-27777.rag-a.fsu.edu] has joined #code
01:29 * gnolam hugs his 68k.
01:29 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has joined #code
01:29 mode/#code [+o Thaqui] by ChanServ
01:30
<@McMartin>
Doing some old-school Amiga hacking, are we?
01:31
<@gnolam>
I was digging through x86 code a couple of minutes ago. I felt I needed to cleanse myself.
01:31
<@Vornicus>
That, or Sega Genesis, or old-school Mac
01:31
< MyCatVerbs>
Amiga was 68k?
01:32 * gnolam thwaps MyCatVerbs over the head with a Fat Agnus.
01:35
<@McMartin>
68030 by the end of its useful life, IIRC, MCV.
01:35
<@McMartin>
IMNRC, though.
01:35
< MyCatVerbs>
Oook.
01:36
<@gnolam>
International Multidisciplinary Neuroscience Research Center?
01:36
< MyCatVerbs>
Didn't Amigas use to be able to run DOS code or something like that?
01:36
<@McMartin>
gnolam: I May Not Remember Correctly
01:36
<@McMartin>
MCV: By jamming an x86 in the cartridge slot, IIRC.
01:36
<@gnolam>
Unless you're referring to AmigaDOS.
01:37
< MyCatVerbs>
Good place to stick it.
01:37
< MyCatVerbs>
gnolam: that might well be it, I'm fuzzy on details.
01:38
<@gnolam>
I should really rescue my old Amiga from the moldy old cellar it's stored in. :-/
01:40 * gnolam decides to crash his computer instead.
01:40
<@gnolam>
30 s to go...
01:47 Otto_Flick [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
01:47 gnolam is now known as NSGuest-1371
01:47 Otto_Flick is now known as gnolam
01:48 NSGuest-1371 [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Ping Timeout]
01:51
<@ToxicFrog>
I should probably document and release this framework now that it's finished.
01:52
< MyCatVerbs>
Documentation would be an awesome idea.
02:07 Derakon[AFK] [~Derakon@Nightstar-12737.sea2.cablespeed.com] has quit [Connection reset by peer]
02:07
<@ToxicFrog>
...says the person who's never going to use it.
02:11
< MyCatVerbs>
You *entirely* sure of that?
02:18
<@ToxicFrog>
Well, given your total lack of interest in, and knowledge of, Lua...
02:19
< MyCatVerbs>
^6
02:19
< MyCatVerbs>
*^^
02:25 * ToxicFrog fiddles with tableproxies
02:27
<@ToxicFrog>
Aha! I think I see how to do this.
02:27
< MyCatVerbs>
?
02:29
<@ToxicFrog>
The proxy is a userdata of size 1. It has a metatable. This metatable, when generated, gets a function for each metamethod on the object it's a proxy for; this function merely invokes the corresponding metamethod on the proxied object with the correct self.
02:30
<@ToxicFrog>
Furthermore, default metmethods for __index and __newindex will be provided if none are present in the metamethods, as otherwise the proxy is kind of useless.
02:42
<@ToxicFrog>
This also means you can overload __len and __gc and whatnot and they'll work, as well as __index and __newindex triggering on every event rather than acting as fallbacks.
02:48
<@ToxicFrog>
local proxy = mkproxy()
02:48
<@ToxicFrog>
getmetatable(proxy).__index = obj
02:48
<@ToxicFrog>
getmetatable(proxy).__newindex = obj
02:48
<@ToxicFrog>
for k,v in self.meta do
02:48
<@ToxicFrog>
if type(v) == 'function' then
02:48
<@ToxicFrog>
getmetatable(proxy)[k] = function(P, ...)
02:48
<@ToxicFrog>
return self.meta[k](obj, ...)
02:48
<@ToxicFrog>
end
02:48
<@ToxicFrog>
end
02:48
<@ToxicFrog>
end
03:02 MyCatVerbs is now known as MyCatSleeps
03:08 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Quit: ]
03:30 * ToxicFrog pokes the other #codizens
03:30
<@ToxicFrog>
I need a name for this library.
03:30
<@Vornicus>
What's it do?
03:31
<@ToxicFrog>
OO for lua (again) with a smalltalk-style recursive class tree and full operator overloading via proxy userdata.
03:32
<@Vornicus>
SmallLua? idunno
03:39
< Doctor_Nick>
"the awesome library"
03:44
<@ToxicFrog>
Too generic. Leaves no way to distinguish it from my other libraries. ??
03:48
<@Vornicus>
pff
03:54 * Vornicus beats POV-Ray. The syntax is fine! You are an idiot!
03:54
<@ToxicFrog>
Can't just call it "oolua" or somerthing either, because that conflicts with my other OO libraries, plus I know of at least four out there that I haven't written.
03:56
< Doctor_Nick>
"oolalua" :D
04:05 * Vornicus throws Doctor_Nick off the earth
04:05
<@Vornicus>
TF: so what do the other OO libraries out there do?
04:16
<@ToxicFrog>
The same thing, mostly, but in different ways.
04:17
<@ToxicFrog>
One's fully prototype-based - no classes, everything's an object with a perfect copy operator - most of them work by accepting definition tables, which results in very messy and syntactically finicky class definitions.
04:18
<@ToxicFrog>
As far as I know I'm the only person to use setfenv() trickery to get around that.
04:22
< Doctor_Nick>
Vornicus: Thats a good name! :(
04:45 * Vornicus fiddles with POV-Ray, goes "oopsies" as he arrives at a silly error.
04:59 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
05:01 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has left #code [Leaving]
05:10 ReivSLEP is now known as ReivOut
05:14 * ToxicFrog finds a serious flaw in his library ;.;'
05:14
<@Vornicus>
?
05:14
<@McMartin>
40,729 words.
05:15
<@ToxicFrog>
Because of the order in which environments are fiddled, Foo = Class(Bar) is legal, but classes.Foo = Class(Bar) is not.
05:18
<@ToxicFrog>
Basically, the problem is that by the time Class() returns, the environment has changed.
05:18
<@ToxicFrog>
So it now tries to assign the new class definition into the class definition itself.
05:21
<@ToxicFrog>
...also, while going from the proxy to the object is transparent, going from the object to the proxy is not possible.
05:21
<@ToxicFrog>
I'm not sure if that's a flaw or not, but I think it is.
05:27
<@ToxicFrog>
Gnar.
05:27 * ToxicFrog flails at it
05:27
<@ToxicFrog>
The problem is that, in a sense, it doesn't really return until endclass() is called.
05:27
<@ToxicFrog>
But then we end up writing:
05:27
<@ToxicFrog>
Class(Superclass)
05:27
<@ToxicFrog>
...
05:27
<@ToxicFrog>
Subclass = endclass()
05:28
<@ToxicFrog>
Which just looks wrong.
05:28
<@Vornicus>
eeew
05:30
<@ToxicFrog>
Now, I consider both of these preferable to the definition-table syntax:
05:30
<@ToxicFrog>
Subclass = Class(Superclass) { ... }
05:30
<@ToxicFrog>
Because within the table, we end up with stuff like:
05:30
<@ToxicFrog>
someMethod = function(self, args) ... end;
05:31
<@ToxicFrog>
And god help you if you forget a semicolon.
05:33
<@Vornicus>
...it is wahooni-shaped
05:33 * Vornicus tries to figure out what the hell he did wrong.
05:40 * ToxicFrog flails, goes to sleep.
05:41
<@ToxicFrog>
...actually.
05:41
<@ToxicFrog>
How does this look?
05:41
<@ToxicFrog>
Subclass = Class(Superclass) -- at this point Subclass is a 'proto-class' and cannot actually be instantiated
05:41
<@ToxicFrog>
Subclass:startdef()
05:41
<@ToxicFrog>
-- stuff goes here
05:41
<@ToxicFrog>
enddef()
05:47 * ToxicFrog pokes
05:48
<@Vornicus>
That... hm
05:49
<@Vornicus>
looks almost okay.
05:51
<@ToxicFrog>
Possible improvements?
05:52
<@Vornicus>
hrm
05:52
<@Vornicus>
Well, I don't know - it feels like the Superclass thing shoul... no, you had a problem with that
05:54 ReivOut is now known as Reiver
05:55
<@ToxicFrog>
?
05:57
<@Vornicus>
It feels like it should show in or after startdef
05:59
<@ToxicFrog>
...it could, but that feels really weird and disturbing.
06:08 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: I have soap in my eye. ]
08:05 Mahal [~Mahal@Nightstar-763.worldnet.co.nz] has joined #Code
08:05 mode/#code [+o Mahal] by ChanServ
09:07
<@McMartin>
o/~ Fuzzy dalek funny dalek dalek dalek TRUCK o/~
09:07 * McMartin should be sleeping, but I7 has him in the grip of madness
09:07 * Reiver blinks.
09:07
<@Reiver>
Do I want to know the reference, McM?
09:08
<@McMartin>
... you haven't seen The Dalek Song?
09:08
<@Reiver>
I mean, other than a Doctor Who new series thing, um...
09:08
<@McMartin>
Have you seen the Llama Song?
09:08
<@Reiver>
No?
09:08
<@McMartin>
OK, one moment
09:09
<@jerith>
Yay Dalek song!
09:09
<@McMartin>
15:52 <+McMartin> Original: http://www.albinoblacksheep.com/flash/llama.php
09:09
<@McMartin>
15:52 <+McMartin> Parody: http://artistic-insanity.net/song/daleksong.html
09:09
<@McMartin>
15:52 <+McMartin> Original: http://www.albinoblacksheep.com/flash/llama.php
09:09
<@McMartin>
15:52 <+McMartin> Parody: http://artistic-insanity.net/song/daleksong.html
09:09
<@McMartin>
Urk
09:09
<@McMartin>
http://www.livejournal.com/userpic/51225707/426703
09:09
<@McMartin>
There we go
09:09
<@McMartin>
Second parody
09:10
<@McMartin>
The reason it came up is a bug in the WSIF buglist, which isn't particularly spoily:
09:11
<@McMartin>
"The truck in chapter 5 should be referencable even though it appears and leaves in the same turn."
09:12
<@jerith>
I love that planet one...
09:14
<@Vornicus>
The dalek one is funnier than the llama one.
09:14
<@McMartin>
It is.
09:14
<@McMartin>
In part because the past tense of "to slay" is "slew".
09:15
<@McMartin>
"Slayed" is not correct under any circumstance.
09:15
<@Reiver>
09:15
<@Reiver>
09:15
<@Reiver>
The dalek one wins, yes.
09:15
<@McMartin>
"Sleighed" is correct, but means something entirely difference
09:16
<@jerith>
Did anything ever come of your Dalek medics?
09:16
<@Vornicus>
Did you ever see a dalek touch a dalek on a dalek?
09:16
<@McMartin>
DE FIB RIL LATE
09:16
<@McMartin>
DE FIB RIL LATE
09:16
<@McMartin>
No; they became an I7 bug report. ;_;
09:16
<@jerith>
Yep, those ones.
09:16
<@jerith>
:-(
09:16
<@McMartin>
In other news, WSIF is pushing 40,000 words now.
09:17
<@jerith>
After the refactoring?
09:17
<@Vornicus>
I thought it had passed 40k.
09:17
<@McMartin>
Er, yes.
09:17
<@McMartin>
It's pushing 41,000.
09:17
<@McMartin>
jerith: Yeah. The refactoring made it look much nicer.
09:17
<@McMartin>
I'm not totally ashamed to look at my own code anymore.
09:17 * Reiver reads the second spoof.
09:18 * Reiver has to watch it twice before he gets it, and then pffffhahahha
09:18
<@jerith>
Reiv: The planets?
09:18
<@jerith>
That's awesome.
09:19
<@Reiver>
So totally is.
09:19
<@jerith>
This iPod thing is so tiny.
09:20
<@jerith>
('Tis a Nano. The 8gb version.)
09:24
<@jerith>
It's small enough that it verges on uncomfortable to operate.
09:25
<@Vornicus>
...and of course I have to deal with split points in my translation function.
09:25 * Vornicus spews hate.
09:25 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
09:26 * jerith catches and distills it.
09:26
<@Vornicus>
what, are you building a Spider Jerusalem?
09:26 * jerith puts the seething bottle of Essence of Hate on the shelf next to the others.
09:27
<@jerith>
No, just adding to my collection.
09:27
<@jerith>
It might be useful later.
09:27 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
09:27 mode/#code [+o AnnoDomini] by ChanServ
09:27
<@jerith>
I have Avarice, Lust and Rage there as well.
09:28
<@jerith>
Rage looks similar to Hate, but has a rather different composition.
09:28
<@jerith>
Also, it needs a reinforced bottle.
09:28
<@McMartin>
You still haven't managed wrath. Weak.
09:29
<@jerith>
When I tried to elicit it I got Rage instead.
09:29
<@McMartin>
Ah well.
09:31
<@jerith>
I suppose I need to target someone a little higher in the hierarchy.
09:31
<@jerith>
You need a certain kind of person to extract wrath.
10:08 Doctor_Nick [~fdsaf@Nightstar-27777.rag-a.fsu.edu] has quit [Ping Timeout]
10:28 Mahal is now known as MahalGONE
10:47 You're now known as TheWatcher
11:22 You're now known as TheWatcher[afk]
11:45 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
11:45 mode/#code [+o gnolam] by ChanServ
11:52 MyCatSleeps is now known as MyCatBoozes
12:38 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Quit: Juffo-Wup is a *candle*. It is filled with many *candy bars*.]
12:39 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
12:39 mode/#code [+o AnnoDomini] by ChanServ
12:48 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Quit: Kill the interloper! Rip out its life!]
12:51 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
12:51 mode/#code [+o AnnoDomini] by ChanServ
12:54 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Quit: If nothing we do matters, all that matters is that we do.]
13:06 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
13:06 mode/#code [+o AnnoDomini] by ChanServ
13:07 You're now known as TheWatcher
14:22 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Quit: Don't trust the skull.]
14:36 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
14:36 mode/#code [+o AnnoDomini] by ChanServ
15:24 * ToxicFrog looks at his code, looks at the metamethod resolution code, swears quietly.
15:48
<@ToxicFrog>
Hmm.
15:48
<@ToxicFrog>
I think the name actually goes in startdef.
15:55
<@ToxicFrog>
The problem with using proxy objects is that getmetatable() and pairs() behave very oddly when used externally.
16:00
<@ToxicFrog>
Ok. Now comes the bootstrapping.
16:10
<@ToxicFrog>
It bootstraps!
16:11
<@ToxicFrog>
NewClass = Class()
16:11
<@ToxicFrog>
NewClass:startdef "Class"
16:11
<@ToxicFrog>
name = false
16:11
<@ToxicFrog>
def = {}
16:11
<@ToxicFrog>
meta = {}
16:11
<@ToxicFrog>
proxymeta = {}
16:11
<@ToxicFrog>
env = false
16:11
<@ToxicFrog>
16:11
<@ToxicFrog>
__call = Class.meta.__call
16:11
<@ToxicFrog>
__tostring = Class.meta.__tostring
16:11
<@ToxicFrog>
__init = Class.meta.__init
16:11
<@ToxicFrog>
def.instanceof = instanceof
16:11
<@ToxicFrog>
enddef()
16:11
<@ToxicFrog>
Class = NewClass
16:40 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Ping Timeout]
16:48 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Quit: Those who slay dragons become dragons themselves. Stare into the abyss long enough, and it will stare back at you.]
16:53 * ToxicFrog glares
16:53
<@ToxicFrog>
Ok, I need to whiteboard this.
16:54
<@Reiver>
?
16:55
<@ToxicFrog>
My design is getting messy.
16:55
<@ToxicFrog>
I'm going to do away with the bootstrapping, it leaves too much clutter, and just hand-assemble the first Class.
16:57
<@ToxicFrog>
Also I need to come up with a good way of getting at the real metatable from inside methods.
16:57
<@ToxicFrog>
getmetatable(self) won't work, because it isn't actually applied; instead a copy of the metatable proxy is applied to the proxy userdata, and passes things on.
16:58 * ToxicFrog ponders. A method meta(key) which returns the corresponding value in the real metatable?
17:05
<@ToxicFrog>
Ok. Here is the design.
17:05
<@ToxicFrog>
An object is actually a one-byte full userdata, with an attached metatable.
17:05
<@ToxicFrog>
This metatable is a copy of the 'real' metatable, with each function replaced by a short closure that replaces self with the object table.
17:06
<@ToxicFrog>
__index and __newindex, as well as the new metafield __obj, redirect to the object table, which holds all the actual members and methods.
17:07
<@ToxicFrog>
The method meta(key) is provided, which gets you entries from the real metatable; in particular, "proxy" will get you the proxy object, "obj" will get you the object table, and "type" will get you the class object that this object is an instance of.
17:09 * Vornicus completes his map projection, complete with code to generate and code to apply.
17:09 You're now known as TheWatcherp[afk
17:09 You're now known as TheWatcherp[afk]
17:09 You're now known as TheWatcher[afk]
17:16
<@ToxicFrog>
...shit, that won't work. The metatable is common to all objects of that type, but the object table is unique.
17:16 Doctor_Nick [~fdsaf@Nightstar-27777.rag-a.fsu.edu] has joined #code
17:16 * Reiver seriously thinks Vorn should tell this to actual real life cartographers, if he knows any, because it is Worthy of such.
17:27 Reiver is now known as ReivZzz
17:38 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
17:38 mode/#code [+o gnolam] by ChanServ
18:22 You're now known as TheWatcher
18:32 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has joined #Code
18:32 mode/#code [+o AnnoDomini] by ChanServ
18:43 GeekSoldier [~IceChat7@Nightstar-2716.pools.arcor-ip.net] has joined #code
18:44
< GeekSoldier>
any Python volken here? stupidly simple but insanely mindboggling question here.
18:44 * GeekSoldier prepares self-flagellation unit.
18:44 * Vornicus is Mr. Python
18:44
< GeekSoldier>
:)
18:45
< GeekSoldier>
there is a builtin function to convert from hex to dec, correct?
18:45
<@Vornicus>
If you have a string in hexadecimal, int(s,16) will convert it to an integer.
18:46
< GeekSoldier>
oh wait...
18:46 * GeekSoldier invokes self-flagellator.
18:47
<@Vornicus>
if it's an 0x hexadecimal string, int(s, 0) will do it, and octal, and decimal
18:47
< GeekSoldier>
declared a variable in hex, when printed, it did so as decimal...
18:47
<@Vornicus>
Heh
18:47
< GeekSoldier>
thanks Vorn. had a stupid moment.
18:47
< GeekSoldier>
perhaps I should play around in IDLE before asking a question next time.
18:53 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
19:27 KBot [~karma.bot@Nightstar-29683.neoplus.adsl.tpnet.pl] has joined #Code
19:27 AnnoDomini [~farkoff@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
19:28 KarmaBot [~karma.bot@Nightstar-29170.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
19:28 KBot is now known as KarmaBot
19:33 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has joined #Code
19:33 AnnoDomini [~farkoff@Nightstar-29683.neoplus.adsl.tpnet.pl] has joined #Code
19:33 mode/#code [+o AnnoDomini] by ChanServ
19:34
< Attilla>
There are a lot of computer scientists or students thereof on this network, but then again these are "The Tubes" and so that gets somewhat high compared to other professions anyway.
19:35
<@Vornicus>
Yes.
19:35
<@Vornicus>
Welcome to teh intarnewbs, where you're either a jackass or a hacker
19:38
< Attilla>
So what sorts of things are discussed here then? I assume something coding-related, and I could converse about an array of silly and annoying programs I once made in Delphi whilst goofing off in a CompSci lecture.
19:38
<@Vornicus>
Everything code.
19:39
< GeekSoldier>
those would be acceptable.
19:39
< GeekSoldier>
I use it as a sounding board for all my stupidity and oversight.
19:39
<@Vornicus>
Over the past few days, everything from the underlying madness of object models to disassemblers to Interactive Fiction to, apparently, Daleks.
19:39
< GeekSoldier>
right, Vorn?
19:39
<@Vornicus>
Something like that
19:42 Vornicus is now known as Vornicus-Latens
19:48 Derakon [~Derakon@Nightstar-12737.sea2.cablespeed.com] has joined #code
19:48 mode/#code [+o Derakon] by ChanServ
19:49
<@Derakon>
Okay, here's an interesting stylistic question...
19:49
<@Derakon>
I'm writing a function to determine the degree to which a given sprite intersects another sprite, given the first sprite's velocity and assuming the second sprite is stationary.
19:50
<@Derakon>
Now, I want to check the case where the sprite's velocity is negligible and the two sprites are colliding, because that would result in an infinite loop, or close enough.
19:50
<@Derakon>
Is it better to do "if (vel.magnitude() < EPSILON && this->collides(altSprite)" before I enter the loop, or put "if (vel.magnitude() < EPSILON)" inside the loop?
19:51
<@Derakon>
The former ensures I don't do a conditional every time through the loop, but involves a usually-redundant collides() call; the latter avoids the redundant call but adds redundant if statements.
19:51
< Doctor_Nick>
Attilla: Sorry, this chatroom is dedicated solely to the discussion of Dan Brown books
19:51
<@Derakon>
Here's the current code, minus check: http://pastie.caboo.se/54023
19:52 * Derakon drops the Encyclopaedia Brittanica on Nick, one volume at a time.
19:53
< Doctor_Nick>
Jokes on you, that's the digital edition!
19:53
<@Derakon>
Printed out.
19:53
<@Derakon>
In binary.
19:54
< GeekSoldier>
how heavyweight are the two options? it seems that the first check costs more than the inner one.
19:54 * Janus peer reviews the binary.
19:54
<@Derakon>
The collide check does a bounding-box check, and then iterates over pixels in the box intersection area.
19:57 Otto_Flick [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
19:57 gnolam is now known as NSGuest-1388
19:57 Otto_Flick is now known as gnolam
19:58 NSGuest-1388 [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Ping Timeout]
19:59 * Derakon puts it outside the loop, on the theory that velocity will rarely be infinitesimal so the collide check will usually be avoided.
20:02
< GeekSoldier>
that makes sense. plus, you could cut back on excessive collide checks.
20:02
<@Derakon>
Eh?
20:03
< GeekSoldier>
were the check in the loop, you'd hawe to call it each iteration, right?
20:03
<@Derakon>
Yes, but it'd only be a check of if the velocity were infinitesimal.
20:04
<@Derakon>
Since I'd already know if they'd collided.
20:04
<@Derakon>
Basically my options are either 1 extra collide check, or a bunch of extra velocity checks.
20:04
< GeekSoldier>
oh. ok.
20:05 * GeekSoldier was bass acwards.
20:05
<@Derakon>
Heh.
20:12 MahalGONE is now known as Mahal
20:16
<@Derakon>
Ahh, now I have non-jittery collision between player and ground without using a walking stick...except that I've lost the ability to detect when I'm grounded. Hrm.
20:17
< gnolam>
Check for parents screaming at you.
20:17 * Derakon facepalms.
20:29 Otto_Flick [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
20:29 Otto_Flick [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Client exited]
20:34 GeekSoldier [~IceChat7@Nightstar-2716.pools.arcor-ip.net] has quit [Quit: Oops. My brain just hit a bad sector]
20:40 * Derakon fixes, woot.
20:40 Mahal is now known as MahalGONE
20:45 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has quit [Ping Timeout]
20:46 AnnoDomini is now known as Kiers
20:47 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has joined #Code
20:53 Trunk [~rTrunk@Nightstar-23968.217_74_245_110.kubangsm.ru] has joined #Code
20:53
< Trunk>
hi
20:54
< Trunk>
syka pidory
20:55 Trunk [~rTrunk@Nightstar-23968.217_74_245_110.kubangsm.ru] has left #Code []
21:15
<@ToxicFrog>
stack traceback:
21:15
<@ToxicFrog>
[C]: ?
21:15
<@ToxicFrog>
[C]: in function 'meta'
21:15
<@ToxicFrog>
class.lua:30: in function 'meta'
21:15
<@ToxicFrog>
class.lua:30: in function 'meta'
21:15
<@ToxicFrog>
class.lua:30: in function 'meta'
21:15
<@ToxicFrog>
I think I have an endless recursion!
21:16
<@Derakon>
Just possibly!
21:18 You're now known as TheWatcher[T-2]
21:22 You're now known as TheWatcher[zZzZ]
21:26 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has quit [Ping Timeout]
21:28 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has joined #Code
21:29 * ToxicFrog finds the problem.
21:29
<@ToxicFrog>
All functions are wrapped in a translation function:
21:29 Kiers is now known as AnnoDomini
21:30
<@ToxicFrog>
function(proxy, ...) return original_function(proxy:meta("obj"), ...) end
21:30
<@ToxicFrog>
This includes :meta().
21:37
<@Derakon>
Whups.
22:52 * Derakon shoots a Deathwalker 9000 with his Marro Warrior: 2 skulls. Deathwalker 9000's defense roll: 9 skulls, 1 shield.
22:55
<@ToxicFrog>
...
22:55
<@ToxicFrog>
Pfffftftft.
22:55
<@Derakon>
That Deathwalker killed about six Marro warriors throughout the game. Fortunately I had one hiding behind a tree and standing in water.
23:04 Janus is now known as Jan[dinneryays]
23:23 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has quit [Connection reset by peer]
23:24 Attilla [~The.Attil@Nightstar-25595.ipt.aol.com] has joined #Code
23:34 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has joined #code
23:34 mode/#code [+o Thaqui] by ChanServ
23:37 Jan[dinneryays] is now known as Janus
--- Log closed Mon Apr 16 00:00:53 2007
code logs -> 2007 -> Sun, 15 Apr 2007< code.20070414.log - code.20070416.log >