#nuvie@irc.freenode.net logs for 15 Aug 2007 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage

[01:00:05] <-- SB-X has left IRC (Remote closed the connection)
[01:02:39] --> Kirben has joined #nuvie
[01:18:50] --> SB-X has joined #nuvie
[01:41:16] <-- Kirben has left IRC ()
[01:49:39] --> Kirben has joined #nuvie
[03:10:34] <-- Kirben has left IRC ()
[03:22:41] --> Kirben has joined #nuvie
[05:38:08] --> luteijn has joined #nuvie
[05:56:22] <SB-X> hi luteijn
[08:00:14] <SB-X> eh, when dragging an object from the map to another location, it somehow stays linked to the old location
[08:00:25] <SB-X> so you can drag from there again to move it somewhere else
[08:00:38] <SB-X> but the object is still shown in the new location
[08:03:10] <SB-X> i changed DropEffect::hit_target to use ObjManager::moveto_map instead of add_obj, but that doesn't change anything
[08:03:17] <SB-X> also getting a double-free on program exit
[08:03:45] <SB-X> actually... *** glibc detected *** ./nuvie: corrupted double-linked list: 0x082e72b0 ***
[08:05:47] <SB-X> (probably a map location's object-stack list)
[09:06:57] --> servus_ has joined #nuvie
[09:09:56] <-- servus has left IRC (Nick collision from services.)
[09:09:57] --- servus_ is now known as servus
[09:14:23] <servus> Moo moo moo!
[11:30:24] --> Yuv422 has joined #nuvie
[11:32:21] <Yuv422> hey SB-X
[11:32:35] <Yuv422> where did you get that u6 tile set?
[11:36:20] <SB-X> hi, Eric
[11:36:41] <SB-X> it was from a forum about games development on some portable system
[11:36:51] <Yuv422> cool
[11:36:58] <Yuv422> I wonder if they finished it
[11:37:01] <SB-X> they were collecting monochrome sprites
[11:37:08] <SB-X> don't think so
[11:37:30] <SB-X> i just saved the image when i saw it (was looking for random ultima images)
[11:37:32] <Yuv422> is that technically monochrome
[11:37:39] <SB-X> we could port nuvie to a gameboy :)
[11:37:47] <Yuv422> nice
[11:37:53] <SB-X> dunno
[11:37:58] <SB-X> it's gameboy colors anyway
[11:38:03] <Yuv422> imagine the code restructure to get the memory down
[11:38:09] <SB-X> no thanks
[11:38:26] <Yuv422> I've been making lots of progress reversing game.exe
[11:38:44] <Yuv422> looking at probabilities for different events
[11:38:59] <SB-X> wow, that's nice
[11:39:05] <Yuv422> 1 in 8 for getting a poison hit
[11:39:07] <SB-X> i'm interested in some of that
[11:39:23] <SB-X> or all of it :)
[11:39:25] <Yuv422> let me know what you want and I'll try to find it
[11:39:30] <Yuv422> well maybe not all
[11:39:31] <SB-X> ok
[11:39:32] <Yuv422> ;-)
[11:39:36] <SB-X> np
[11:40:14] <SB-X> what about chance of losing poison?
[11:40:31] <SB-X> and the damage it causes
[11:40:35] <Yuv422> does it ever go away by itself?
[11:41:04] <Yuv422> the objlist is loaded almost directly into memory
[11:41:06] <SB-X> well, there's a poison counter in U6Actor, so we must have thought so
[11:41:25] <SB-X> that's what i thought
[11:41:31] <Yuv422> the poison counter counts between poison hits
[11:41:38] <SB-X> oops, ah k
[11:41:44] <SB-X> wasn't reading it very carefully
[11:41:53] <Yuv422> but I'm looking at how it is done in the real game.exe
[11:41:57] <SB-X> and it just hits for 1dmg, that's right
[11:42:10] <Yuv422> yeah game.exe is 1 point
[11:42:18] <Yuv422> I've found the damage actor function. :)
[11:42:19] <SB-X> sounds like you found a lot
[11:42:41] <Yuv422> the logic flows out when you get the main struct identified
[11:42:51] <SB-X> hmm
[11:42:54] <Yuv422> and it's stored in the data segment
[11:43:00] <SB-X> interesting
[11:43:02] <Yuv422> no crazy malloced memory
[11:43:03] <SB-X> what is?
[11:43:06] <Yuv422> so it's easy to see
[11:43:11] <Yuv422> objlist dataa
[11:43:17] <SB-X> oh
[11:43:24] <SB-X> yeah
[11:43:37] <SB-X> there was something else i wanted to know, can't remember now
[11:44:00] <Yuv422> hehe
[11:44:03] <SB-X> just document everything :)
[11:45:50] <SB-X> anything at all about tangle vines
[11:46:11] <SB-X> what determines the gold dropped by some monsters
[11:46:30] <SB-X> that's a different area though
[11:47:10] <SB-X> just the different probabilities of various things
[11:47:51] <Yuv422> yeah so many questions
[11:48:01] <SB-X> so little time
[11:48:08] <Yuv422> I'm going to look at combat and inventories a bit more first
[11:48:11] <Yuv422> hehe
[11:48:15] <SB-X> can you reproduce my bug?
[11:48:31] <Yuv422> let me try
[11:48:36] <SB-X> about inventories, can you see if they match the original docs?
[11:49:00] <SB-X> in my draft monster class i was assuming they do
[11:49:18] <SB-X> whenever you get around to it though
[11:49:26] <Yuv422> righto
[11:49:40] <Yuv422> yeah I can move an object twice
[11:49:48] <Yuv422> let me try moving to inventory
[11:50:20] <Yuv422> looks like it's just moving on the map
[11:50:38] <Yuv422> maybe map to map doesn't remove properly from the last location.
[11:51:23] <SB-X> must be a bug in how ObjManager's object lists are handled
[11:52:03] <SB-X> because the functions being called to dragndrop an object didn't change that much
[11:52:14] <Yuv422> let me check
[11:52:22] <SB-X> lately (and I didn't notice the bug until recently)
[11:52:25] <SB-X> ok
[12:14:25] * Yuv422 debugs through a lot of Event evilness
[12:15:56] <Yuv422> hmm it's setting the ok to take flag
[12:16:22] <Yuv422> so moving an object on the map bypasses the stealing check. ;-)
[12:19:11] <Yuv422> It's trying to remove the object from an inventory
[12:19:27] <Yuv422> maybe it moves the object to the actor then back to the map.
[12:22:52] <SB-X> heh
[12:23:15] <Yuv422> looks like dropeffect assumes all objects come from an actor
[12:23:22] <Yuv422> just on the surface of things
[12:23:44] <SB-X> yeah but if they aren't, could that cause any problem?
[12:23:57] <SB-X> it should add to the map the same way
[12:24:00] <Yuv422> well it isn't removing the object from the map
[12:24:17] <SB-X> isn't that done in moveto_map?
[12:24:49] <SB-X> (i changed the add_obj() call to moveto_map() and the bug is still there)
[12:25:04] <Yuv422> ah I see now
[12:25:19] <Yuv422> it removes the original engine location when trying to remove from the inventory
[12:25:38] <Yuv422> it does that regardless of whether it actually is in the inventory
[12:25:50] <SB-X> o_o
[12:25:56] <Yuv422> so the moveto_map doesn't remove from the map as the object appears to be location less
[12:26:16] <SB-X> aah
[12:26:21] <SB-X> ahh*
[12:26:27] <Yuv422> :)
[12:26:49] <SB-X> whew, glad you figured that out
[12:27:15] <SB-X> is there any way to make Obj protect against that kind of thing, even if it was a mistake to try to remove it from inventory?
[12:30:13] <SB-X> I didn't notice the bug before since the addition of a universal "engine location" is relatively new. How did ObjManager know where it was on the map before that?
[12:31:39] <Yuv422> we could just check if it's an inventory object before trying to remove it
[12:32:59] <SB-X> ok
[12:34:06] <Yuv422> hmm
[12:34:16] <Yuv422> put a check in and it's still doing it
[12:34:24] <SB-X> did the bug always exist and we just not notice?
[12:34:32] <Yuv422> probably
[12:34:37] <Yuv422> right I'm off to bed
[12:34:40] <SB-X> ah k
[12:34:44] <SB-X> well, thanks for investigating
[12:34:47] <SB-X> im going to sleep too
[12:34:47] <Yuv422> I'll have a closer look tomorrow
[12:34:50] <SB-X> cya
[12:34:53] <Yuv422> unless you get at it first
[12:34:57] <Yuv422> righto
[12:34:58] <Yuv422> cya
[12:35:04] <-- SB-X has left IRC ("*casts gate travel*")
[12:39:51] <-- Yuv422 has left IRC ()
[14:48:16] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[15:29:31] <luteijn> looking at the monochrome tiles, it looks that they have white, light gray, dark gray, black. for colors, so more or less like cga, but with different dithering?
[22:04:47] --> Yuv422 has joined #nuvie
[22:10:18] <-- Yuv422 has left IRC ()
[22:45:17] --- harbingerkun is now known as harb[away]