#exult@irc.freenode.net logs for 17 Feb 2001 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:01:29] <Fingolfin> hmmm
[00:02:04] <Fingolfin> maybe it is also related to the Marten crash? that was caused by teleportation, too.... it tried to access objects in a bad place or so...
[00:02:30] <wjp> which was in turn related to another bug in despise :-)
[00:05:31] <wjp> boom... crashed again
[00:06:40] <wjp> Program received signal SIGSEGV, Segmentation fault.
[00:06:40] <wjp> 0x8057122 in Actor::attacked (this=0x840a7e0, attacker=0x8890fc8,
[00:06:40] <wjp> weapon_shape=857, ammo_shape=857) at actors.cc:2102
[00:06:40] <wjp> 2102 if (attacker && attacker->get_schedule_type() == Schedule::duel)
[00:08:12] <Fingolfin> hm
[00:08:25] <Fingolfin> so, can these values for this and attacker be valid?
[00:08:58] <wjp> hmm... possible I guess
[00:09:22] <wjp> although I can't derefence them in gdb
[00:09:28] <wjp> dereference, even
[00:09:42] <wjp> but that may be because the process already crashed... not sure
[00:10:33] <wjp> (gdb) print this->npc_num
[00:10:33] <wjp> Cannot access memory at address 0x959ef30
[00:10:43] <wjp> (gdb) print attacker->npc_num
[00:10:44] <wjp> Cannot access memory at address 0x9a25718
[00:10:56] <wjp> (gdb) print gwin->game_window
[00:10:57] <wjp> $4 = (Game_window *) 0x40ce9008
[00:11:10] <wjp> that one does work, so they may be invalid pointers
[00:11:23] <Fingolfin> hrm
[00:11:45] <wjp> called from effects.cc:337 (Projectile_effect::handle_event)
[00:12:03] <wjp> called from tqueue.cc:156 (Time_queue::activate0)
[00:13:47] <wjp> hmm... that handle_event function is messing with coordinates
[00:18:25] <Fingolfin> I wonder what will happen in those cases when attacker == 0 (we don't have that here, but still)... shoudln't Projectile_effect::handle_event() check for that before using that pointer?
[00:20:08] <wjp> it doesn't really use it, right? it just passes it
[00:20:28] <wjp> in fact, it probably has to be 0 when the attacker is a trap
[00:20:47] <Fingolfin> well yes that is right, but...
[00:21:10] <Fingolfin> the question is if attacked() copes with 0 correctly
[00:21:12] * Fingolfin checks that
[00:21:18] <wjp> IIRC, it does
[00:22:05] <wjp> yup, attacked() does...
[00:22:11] * wjp checks figure_hit_points
[00:22:18] <Fingolfin> there are three attacked(), I hope you noticed that ;)
[00:22:21] <Fingolfin> overloaded
[00:22:28] <Fingolfin> figure_hit_points does not check
[00:22:33] <wjp> not always
[00:22:39] <Fingolfin> and attack_object() does not check always, either
[00:22:52] <Fingolfin> maybe this will never cause a problem, I dunno
[00:23:09] <Fingolfin> it doesn't solve your problem, either
[00:24:27] <wjp> I think I'll put a breakpoint on that handle_event function
[00:25:27] <wjp> now it crashed somewhere else:
[00:25:32] <wjp> Program received signal SIGSEGV, Segmentation fault.
[00:25:32] <wjp> 0x807b0a5 in Combat_schedule::now_what (this=0x8934440) at combat.cc:415
[00:25:32] <wjp> 415 opponent->get_flag(Obj_flags::invisible))
[00:27:35] <wjp> ok, I'm now in handle_event, probably right before a crash
[00:28:12] <wjp> this is valid, attacker is invalid
[00:28:51] <wjp> attacker got deleted on teleport, I assume
[00:30:11] <Fingolfin> hmmm
[00:30:13] <Fingolfin> maybe
[00:31:26] <Fingolfin> err, you were in Need_new_opponent, not in now_what, right?!?
[00:31:37] <wjp> ?
[00:32:14] <wjp> oh, line number, I see
[00:32:19] <Fingolfin> yeah
[00:32:21] <wjp> must be because that's inline
[00:32:31] <Fingolfin> propably
[00:32:49] <wjp> gdb seems to get the current function from the stack
[00:33:07] <Fingolfin> so what value has "this->opponent" ?
[00:33:32] <wjp> 0x888d1b8
[00:33:47] <wjp> (realistic pointer value)
[00:33:51] <Fingolfin> yeah
[00:35:10] <wjp> I can dereference it too, but the contents seem pretty bogus
[00:35:49] <Fingolfin> hmm
[00:35:53] <wjp> shapenum = -21846, framenum = 169
[00:36:03] <wjp> cx = 139, cy = 142
[00:36:23] <Fingolfin> so... either data was deleted to earyl, or get_objects was used with bogus cx/cy value; these would be my guesses
[00:36:25] <Fingolfin> hm
[00:36:34] * Fingolfin scratches his head
[00:38:46] <wjp> maybe I should compile with these poisoning new and delete function
[00:40:16] <Fingolfin> well, yeah
[00:40:25] <Fingolfin> one more thing: get_objects_safely is actualy sort of an ugly workaround
[00:40:42] <Fingolfin> it is there to navigate around some ugly bugs, that's all
[00:41:10] <Fingolfin> a better solution would be to scrap get_objects_safely, and add asserts to get_objects, then run Exult, and debug all the resulting crashes ;)
[00:41:17] <wjp> :-)
[00:41:34] <Fingolfin> not crashes, though: assert is triggered
[00:42:02] <wjp> I'll insert that assert anyway
[00:43:14] <wjp> maybe we should have more of them
[00:45:14] <wjp> all those compile warnings are getting annoying too
[00:47:17] <Fingolfin> hm, i turned off a lot of them a long time ago :/
[00:47:34] <wjp> yeah, me too, but I enabled them again a few days ago :-)
[00:48:01] <Fingolfin> well, SDL headers contain code that gives warnings, too
[00:48:07] <Fingolfin> I will tell Sam about those
[00:48:19] <wjp> one of my system headers too. (something in the red-black tree)
[00:48:32] <Fingolfin> <g>
[00:48:59] <wjp> that assert in get_objects isn't triggered
[00:50:52] <wjp> so now I'm recompiling with alternate allocators
[00:50:55] <Fingolfin> what does it look like?
[00:51:05] <wjp> the assert?
[00:51:14] <wjp> assert(cx >= 0 && cx < c_num_chunks && cy >= 0 && cy < c_num_chunks);
[00:51:32] <wjp> (the same check as in get_objects_safely)
[00:52:10] <Fingolfin> ok
[00:55:57] * wjp is installing mozilla 0.8 in the meantime
[00:57:29] <wjp> mozilla startup time is pretty bad when you're compiling exult :-)
[00:59:37] <wjp> hmm... in fact, it's not starting at all
[01:03:50] <Fingolfin> bad :(
[01:03:55] <Fingolfin> oh my, I better go to bed now!
[01:04:12] <Fingolfin> I will try tomorrow if I can reproduce your crash (unless you fixed it till then <g>)
[01:04:13] <wjp> ok, goodnight
[01:04:20] <Fingolfin> same to you
[01:04:21] <-- Fingolfin has left IRC (42)
[01:35:42] --> Kirben has joined #exult
[01:55:12] <-- wjp has left IRC (sleep)
[02:51:02] <-- mattownby has left IRC (Laserdisc Arcade Emulation Project: http://daphne.rulecity.com , get your CVS password today! =])
[05:20:17] --> AD_Slade has joined #exult
[05:20:30] <AD_Slade> Hello
[05:26:58] <-- AD_Slade has left IRC (Leaving)
[11:03:31] <-- Kirben has left IRC (System Meltdown)
[13:27:45] --> Fingolfin has joined #exult
[13:30:46] --> Colourless has joined #Exult
[13:32:04] <Colourless> hi
[13:43:01] <Fingolfin> hi
[14:01:15] <Fingolfin> gotta go, bbl today
[14:01:17] <-- Fingolfin has left IRC (42)
[15:29:23] <-- Colourless has left IRC (Apipoussan)
[17:05:38] --> wjp has joined #exult
[17:05:49] <-- wjp has left IRC (Leaving)
[17:40:25] --> Fingolfin has joined #exult
[18:09:44] <-- Fingolfin has left IRC (bbl)
[18:21:37] --> Fingolfin has joined #exult
[19:44:05] <-- Fingolfin has left IRC (Ping timeout for Fingolfin[p3EE03DF6.dip.t-dialin.net])
[19:55:07] --> Fingolfin has joined #exult
[20:07:28] --> matt0 has joined #exult
[20:11:24] --> wjp has joined #exult
[20:11:29] <Fingolfin> hi wjp
[20:11:31] <Fingolfin> hi matt0
[20:11:32] <wjp> hi
[20:11:56] <wjp> my internet connection just came back up
[20:11:59] <matt0> Fingolfin!!!
[20:12:03] <matt0> wjp!!!
[20:12:08] <wjp> hi matt
[20:12:12] <Fingolfin> wjp: ah, very good
[20:12:23] <Fingolfin> question: who is sablefr?
[20:12:28] <Fingolfin> sablefr: are you alive now? ;)
[20:13:09] <matt0> Fingolfin: an interloper, no doubt =]
[20:15:29] <Fingolfin> well, he's been here since yesterday
[20:15:54] <wjp> yup
[20:16:49] * matt0 was up until 5 am reading
[20:16:49] <wjp> oh, btw, could you reproduce that crash from last night?
[20:16:59] <wjp> matt0: what book?
[20:17:16] <matt0> I think it's called "Darkness at Sethanon" .. it's part of the Riftwar Saga
[20:18:15] <wjp> hmm, that rings a bell
[20:24:00] <Fingolfin> wjp: sorry, I was distracted in a chat with a SF employee...
[20:24:13] <Fingolfin> wjp: I will try it immediatly, sorry, I didn't do it so far :(
[20:24:31] <Fingolfin> wjp: what exactly should I do again?
[20:24:58] <wjp> teleport into despise, attract a few dragons, wait for them to breath fire at you, and then teleport out again. (to somewhere far away)
[20:31:07] <Fingolfin> ok, I'll do that
[20:31:33] <Fingolfin> I am sorry for being unresponsive today, but I finally found a competen SF employee that listens to my complaints ;)
[20:32:11] <wjp> heh :-)
[21:24:56] <wjp> that SI map is really weird
[21:25:56] <wjp> hmm... exult crashes when I enable my create-map code
[21:26:23] <wjp> in SI it triggers the assert in get_objects, and in BG it crashes right away
[21:28:59] <Fingolfin> hrm
[21:29:03] <Fingolfin> we should add more asserts
[21:29:12] <wjp> the crash is my fault, btw
[21:29:42] <Fingolfin> ok, I give up to try to get SSH + CVS + SourceForge working here now - they only support SSH1, I can only do SSH 2...
[21:30:04] <wjp> only ssh1? strange
[21:30:08] <Fingolfin> yeah
[21:30:21] <Fingolfin> but I talk to "moorman", he's a new staff member of SF
[21:30:27] <Fingolfin> responsible for quality
[21:32:59] <wjp> crash fixed... now the assert
[21:34:34] <wjp> (gdb) print cy
[21:34:35] <wjp> $2 = 1074435292
[21:34:45] <wjp> hmm... that would be a problem :-)
[21:41:49] <Fingolfin> hmm
[21:41:52] <Fingolfin> I met a dragon
[21:41:58] <Fingolfin> fireball approaching me...
[21:42:02] <Fingolfin> I teleport far away
[21:42:05] <Fingolfin> no crash...
[21:42:15] <Fingolfin> does it have to hit me?!
[21:42:32] <wjp> no, I just wait until one is flying at me
[21:43:01] <wjp> how far away do you teleport, btw? out of the current superchunk?
[21:43:09] <Fingolfin> well...
[21:43:14] <Fingolfin> to the desert in this case
[21:43:22] <Fingolfin> just tried again, with three balls flying at me ;)
[21:43:24] <wjp> yeah, that's my favourite target too :-)
[21:43:31] <Fingolfin> lol
[21:54:26] <Fingolfin> hmmm
[21:54:34] <Fingolfin> am I supposed to be able to stack more than 100 coins?!?
[21:55:13] <wjp> well, no, but it's set to 127 atm, right?
[21:55:57] <Fingolfin> ?!
[21:59:32] <Fingolfin> eek, I found abug
[21:59:37] <Fingolfin> "distributed double click" ;)
[21:59:47] <Fingolfin> click somewhere
[21:59:58] <Fingolfin> then click somewhere else, but far away. It will think it is a double click
[22:00:07] <Fingolfin> it should only consider "near" clicks as double clicks
[22:00:21] <Fingolfin> luckily I was in god mode, otherwise that powder keg could have been deadly ;)
[22:01:03] <wjp> heh :-)
[22:01:11] <wjp> but yes, that'a bug
[22:01:25] <wjp> btw, still no crash on that dragonfire thing?
[22:01:43] <Fingolfin> nope :(
[22:01:52] <Fingolfin> I'll see if I really have latest CVS...
[22:01:54] <Fingolfin> hm
[22:02:02] <Fingolfin> did you commit the added assert, BTW?
[22:02:06] <Fingolfin> if not, I'll add it localy
[22:02:14] <wjp> no, I didn't. Should I?
[22:02:24] <Fingolfin> not sure
[22:03:19] <wjp> Ryan committed some changes to the caching system yesterday
[22:03:34] <wjp> These might have exposed the bug
[22:04:18] <Fingolfin> ok
[22:04:27] <Fingolfin> I am recompiling now
[22:07:03] <Fingolfin> aye carambe, turning on warnings is good!
[22:07:11] <Fingolfin> caused me to find something which might be a "bug" ;)
[22:07:24] <wjp> good :-)
[22:07:40] <Fingolfin> Monster_actor has this:
[22:07:41] <Fingolfin> virtual int move_aside(int dir) // Move out of the way.
[22:07:41] <Fingolfin> { return 0; } // Monsters don't move aside.
[22:07:42] <Fingolfin> but
[22:07:45] <Fingolfin> it should be
[22:08:05] <Fingolfin> virtual int move_aside(Actor *for_actor, int dir) // Move out of the way.
[22:08:05] <Fingolfin> { return 0; } // Monsters don't move aside.
[22:08:22] <wjp> ah, I see
[22:08:36] <wjp> I should've taken a better look at that warning :-(
[22:09:07] <Fingolfin> <g> well, that is the reasons why it is good to remove all warnings: if you have to many warnings, you "get used" to them....
[22:09:36] <Fingolfin> ah another
[22:09:42] <Fingolfin> in Stats_gump.h
[22:09:53] <Fingolfin> virtual int add(Game *obj, ....
[22:09:54] <Fingolfin> should be
[22:10:00] <Fingolfin> virtual int add(Game_object *obj,
[22:12:05] <wjp> hmm, yes, I got that warning too :-(
[22:12:08] * wjp kicks himself
[22:12:40] <Fingolfin> calm down, lad, no need to kick ya! first off, that last thing was propably introduced by me when I split gumps.cc ages ago
[22:12:56] <wjp> still, I should pay better attention to those warnings :-)
[22:13:07] <Fingolfin> and secondly, if you gonna kick willem again, I will kick ya for kicking a friend!
[22:13:09] <Fingolfin> ;)
[22:13:13] <wjp> lol
[22:13:44] <wjp> and then you'd probably have to kick yourself for kicking a friend, which in turn would require me to kick you, which...
[22:14:07] <Fingolfin> urg
[22:14:11] <Fingolfin> infinite loop ;)
[22:14:21] <wjp> yes, so I'd better not kick myself :-)
[22:14:45] <Fingolfin> yeah ... if you did we would have to wait for someone to hit the reset button ;)
[22:14:53] <Fingolfin> ok, compiled fine now, I will run it now
[22:22:16] <Fingolfin> crash now!
[22:22:22] <Fingolfin> so it definitly is caused by the recent changes
[22:22:32] <wjp> on the first try?
[22:22:35] <Fingolfin> yes
[22:22:40] <Fingolfin> the ball of fire "followed" me
[22:22:43] <Fingolfin> ...
[22:22:47] <Fingolfin> before it did not
[22:22:57] <wjp> "followed" ?
[22:23:45] <Fingolfin> well, the fireball was still visible at my teleport target
[22:23:57] <Fingolfin> it crashed in Need_new_opponent, BTW
[22:24:16] <wjp> was that that inline that was called from Now_what?
[22:24:37] <Fingolfin> yes (but it was not inlined here since I turned off all inlining for debug builds
[22:25:16] <wjp> hmm... maybe I should do that too; it sounds like a good idea
[22:26:37] <Fingolfin> LOL, spark looks great with that Lord British head ;) appears in one of my old save games
[22:26:42] <Fingolfin> it is a good idea, yes ;)
[22:28:28] <Fingolfin> ugh
[22:28:37] <Fingolfin> this time I crashd when teleporting *to* the dragon!!!!
[22:28:39] <Fingolfin> funny
[22:28:45] <Fingolfin> maybe the savegame was damaged, though
[22:28:53] <wjp> hmm.. this is a very interesting set of configure options
[22:29:07] <wjp> normally, it compiles with "-O2" (optimize)
[22:29:20] <wjp> with --enable-debug, it compiles with "-g" (debugging info)
[22:29:37] <wjp> with --enable-optimized-debug: "-g -O2 -fno-default-inline -fno-inline"
[22:30:45] <wjp> weird combination
[22:31:15] <Fingolfin> it crashed again in the same place
[22:31:24] <wjp> to or from despise?
[22:31:38] <Fingolfin> from (fireball again "followed" me)
[22:33:09] <Fingolfin> hm
[22:33:19] <Fingolfin> I got again a non-despise crash after teleport!!!
[22:33:24] <Fingolfin> it seems there is more which is broken!
[22:33:35] <Fingolfin> this time, it was a freshly started game
[22:33:47] <Fingolfin> I first teleported (f3) to get the hoe of destruction
[22:33:57] <Fingolfin> (I made Iolo leave first, BTW)
[22:34:04] <Fingolfin> then I F3ed again back to Trinisc
[22:34:10] <Fingolfin> then I did a "normal" teleport
[22:34:15] <Fingolfin> gave me an access fault
[22:34:25] <Fingolfin> hhmnmmmm
[22:34:30] <Fingolfin> Game_window::add_nearby_npcs(int,int,int,int)
[22:34:45] <Fingolfin> gamewin.cc, line 2487
[22:34:51] <Fingolfin> npc->is_nearby()
[22:35:18] <Fingolfin> but npc is 0xF3F3F3F3F3 !!! this means the memory was not initialiesd correctly / was released already
[22:35:49] <Fingolfin> ugh
[22:36:07] <Fingolfin> and it was originally called by Game_window::center_view(Tile_coord)
[22:36:19] <Fingolfin> gamewin.cc, line 527
[22:36:27] <Fingolfin> but this = 0xf3f3f3f3 , too!
[22:37:08] <Fingolfin> center_view in turn was called by Game_window::teleport_party(Tile_coord), but here "this" was still correct
[22:37:20] <Fingolfin> so it got corrupted in between...
[22:38:55] <Fingolfin> hm, I think I will simply add several assert(this != 0xf3f3f3f3) and run again
[22:40:50] <wjp> hmm... I can't get that teleport crash you mentioned
[22:41:30] <wjp> new game -> leave Iolo (wait here) -> teleport to Hoe of Destruction -> pick up hoe -> teleport back to Trinsic -> teleport ?
[22:42:10] <Fingolfin> it is not necessrily "repeatable" that easy
[22:42:17] <Fingolfin> i.e. I did several teleports that worked fine
[22:42:21] <Fingolfin> but then one crashes
[22:42:28] <Fingolfin> alawys different ones, though
[22:42:38] <wjp> I'll go try some more teleporting :-)
[22:43:52] <wjp> hey, I just found a musket somewhere in a secret cave/room
[22:44:31] --> Kirben has joined #exult
[22:44:34] <wjp> and a couple of tons of gold
[22:44:35] <Kirben> Hi
[22:44:39] <wjp> hi
[22:44:42] <Fingolfin> lo
[22:45:02] <wjp> and three deeds to ships...
[22:45:05] <wjp> interesting place :-)
[22:46:29] <Fingolfin> where?
[22:46:30] <wjp> it's at 483,2311
[22:46:42] <wjp> that medium-sized island NE of Jhelom
[22:48:16] <Kirben> checking out easter eggs ?
[22:48:34] <wjp> trying to find teleport bugs, actually
[22:48:46] <wjp> accidently teleported into a secret room it seems :-)
[22:48:48] <Fingolfin> btw, do we have a coordinate based teleport now? using the cheat menu maybe?
[22:49:04] <wjp> no, not yet
[22:49:26] <wjp> although the cheat screen does have a 'teleport' command. ("not yet available")
[22:49:45] <Fingolfin> ooohh :(
[22:52:33] <wjp> shouldn't be too hard to implement though
[22:59:32] <Fingolfin> there it crashed again, after a lot of teleporting!
[23:00:15] <Fingolfin> same sport indeed
[23:00:39] <wjp> corrupted 'this' again?
[23:01:05] <wjp> hey, I got a crash
[23:01:20] <wjp> in Combat_schedule::find_opponents
[23:01:33] <Fingolfin> corrupt ths againg, but for some reasons assert didn't trigger :/
[23:01:42] <Fingolfin> hey, I got a crash there recently, too
[23:02:43] <wjp> plenty of crashes left to debug it seems :-)
[23:05:07] <Fingolfin> hm, again a teleport crash, but this time in a different place
[23:05:33] <Fingolfin> in Npc_actor::switched_chunks(Chunk_object_list*,Chunk_object_list*)
[23:05:58] <Fingolfin> it seems that olist->npcs == 0xf3f3f3f3
[23:06:13] <wjp> hmmm
[23:07:17] <Fingolfin> maybe it is not initied in the constructor, I'll check that
[23:07:35] <Fingolfin> it is inited
[23:07:37] <Fingolfin> hmm
[23:08:14] <wjp> maybe the caching system deletes them?
[23:08:29] <wjp> I'll check what changes Ryan made there
[23:08:43] <Fingolfin> check that
[23:08:56] <Fingolfin> if anything is deleted then it should be set to 0, too
[23:08:57] <Fingolfin> !
[23:09:02] <Fingolfin> as a rule for the future I mean ;)
[23:09:19] <wjp> yeah, that would help
[23:14:24] <wjp> hmmm
[23:15:23] <wjp> he added the caching functions in gamewin.cc, line 2725
[23:16:02] <Fingolfin> I will check it out..
[23:16:08] <Fingolfin> ok, in this last crash...
[23:16:31] <wjp> he does not really delete Chunk_object_list's, but he does remove objects from it
[23:16:33] <Fingolfin> "this" (i.e. an Npc_Actor) has next/prev fields equal 0xf3 , too
[23:17:29] <Fingolfin> err, which function/line?!? 2725 for me is in "Game_window::plasma"
[23:17:36] <Fingolfin> ahhh
[23:17:37] <Fingolfin> Game_window::plasma
[23:17:44] <Fingolfin> I added some lines, thus we have an offset ;)
[23:18:05] <wjp> :-)
[23:19:40] <Fingolfin> ahah, I have a suspicion
[23:19:59] <Fingolfin> the various remove_this functions call get_objects_safely()
[23:20:16] <Fingolfin> and only if chunk != 0 do they call remove/remove_egg etc.
[23:20:43] <Fingolfin> still the object's deleted......
[23:20:50] <Fingolfin> maybe here is the source?!? hrm
[23:21:44] <wjp> so it's left in _some_ list, just not a 'regular' get_objects() list
[23:21:57] <wjp> ?
[23:22:11] <Fingolfin> hrm, maybe ;)
[23:22:14] <Fingolfin> I am not sure, just guessing
[23:22:40] <Fingolfin> I will change 'em to call get_objects (w/o _safely) and see if they trigger any assert
[23:23:11] <wjp> sometimes the 'safely' has a functions. (when objects have chunk location -1,-1)
[23:23:43] <Fingolfin> ah ok, didn't know that.
[23:23:49] <Fingolfin> but then it should be handled as a special case
[23:23:51] <wjp> maybe you should exclude that from the assert
[23:23:56] <Fingolfin> right ;)
[23:24:06] <wjp> :-)
[23:25:20] <Fingolfin> woa, funny
[23:25:26] <Fingolfin> I forgot to turn on god mode
[23:25:32] <Fingolfin> then I teleported ot the dragons
[23:25:36] <Fingolfin> was killed by a fire ball
[23:25:39] <wjp> ouch :-)
[23:25:55] <Fingolfin> saw my body laying there, pressed F3, teleported aways, bingo, dead body in desert
[23:26:11] <wjp> lol
[23:26:16] <Fingolfin> but now the interesting thing: game started new, turned on god mode, teleported to dragon cave
[23:26:25] <Fingolfin> the fire ball that killed me is still there!!!
[23:26:30] <Fingolfin> and it is not moving at all
[23:26:33] <Fingolfin> ...
[23:26:38] <wjp> hmm... weird
[23:26:41] <Fingolfin> something is very weird
[23:27:05] <wjp> I'd guess the 'restart game' isn't working that properly yet
[23:28:01] <Fingolfin> yeah
[23:28:27] <-- matt0 has left IRC (Laserdisc Arcade Emulation Project: http://daphne.rulecity.com , get your CVS password today! =])
[23:28:47] <wjp> there's been more problems with it, IIRC
[23:42:17] <Fingolfin> it crashed right now in find_opponents
[23:42:27] <Fingolfin> I hit 'c' by accident...
[23:43:01] <wjp> hmm
[23:44:10] <Fingolfin> the pointer to "actor" is correct, but...
[23:44:16] <Fingolfin> the memory it points to is not inited
[23:45:47] <Fingolfin> grrrrr
[23:46:01] <Fingolfin> we really gotta fix that caching system I guess....
[23:51:23] <wjp> I wonder if the crashes disappear if you remove the 'delete' from the remove_this functions
[23:55:25] <Fingolfin> darn!!!!
[23:55:37] <Fingolfin> I just found out that the assert I put in definitly does not work as supposed!
[23:55:47] <Fingolfin> cx = cy = 243, yet the assert does not trigger
[23:56:06] <Fingolfin> 243 = 0xF3 BTW..
[23:56:23] <Fingolfin> emulate_swapout() maintains a list "removes" of Game_objects it wants to remove...
[23:56:34] <Fingolfin> one of those is a valid pointer, but points to erased memorey....
[23:56:50] <wjp> is number of chunks higher than 243?
[23:56:50] <Fingolfin> I think your idea is good; I will comment out all the deletes and see ifit helps
[23:57:04] <Fingolfin> ?!
[23:57:05] <wjp> hmm.. no, it isn't
[23:57:06] <Fingolfin> c_num_chunks = 192
[23:58:05] <wjp> do you maybe need a special define to enable asserts?