#nuvie@irc.freenode.net logs for 17 Nov 2005 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage

[00:18:17] <-- ChanServ has left IRC (adams.freenode.net irc.freenode.net)
[00:18:18] <-- servus has left IRC (adams.freenode.net irc.freenode.net)
[00:18:18] <-- Kirben has left IRC (adams.freenode.net irc.freenode.net)
[00:19:17] --> ChanServ has joined #nuvie
[00:19:17] --> Kirben has joined #nuvie
[00:19:17] --> servus has joined #nuvie
[02:29:06] --> SB-X has joined #nuvie
[04:07:30] <-- SB-X has left IRC ("""")
[04:14:20] <-- servus has left IRC (Connection timed out)
[04:15:15] --> servus has joined #nuvie
[04:28:50] --> SB-X has joined #nuvie
[05:24:57] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[06:01:41] <SB-X> horses crash u6 again
[06:08:39] --> Kirben has joined #nuvie
[07:50:03] <-- ChanServ has left IRC (Shutting Down)
[07:52:53] --> ChanServ has joined #nuvie
[11:20:14] --> Yuv422 has joined #nuvie
[11:22:05] <SB-X> hey eric
[11:22:19] <Yuv422> hey SB-X
[11:22:23] <Yuv422> how's things?
[11:22:42] <SB-X> fine, i was playing with U6 earlier and crashed it with horses again
[11:22:55] <SB-X> somehow I broke a horse I was riding in half
[11:23:02] <SB-X> then tried to get off it and the game froze
[11:23:06] <Yuv422> neat
[11:23:23] <SB-X> in the logs I made a comment about getting a fence
[11:23:35] <SB-X> if you try to get a fence it gives your health as if you've been injured
[11:23:39] <Yuv422> yeah I read that
[11:23:48] <SB-X> it's just funny
[11:23:58] <Yuv422> Ouch! ;)
[11:24:31] * Yuv422 looks for a fence to get
[11:24:34] <SB-X> it's likely the damaging flag that luteijn (and those original docs) mentioned
[11:24:39] <SB-X> hehe
[11:24:51] <SB-X> but it doesn't actually reduce your hp
[11:25:12] <SB-X> i wonder what decides how much damage the character gets
[11:25:27] <SB-X> do the same to a log saw and you really get hurt
[11:25:39] <Yuv422> maybe it is a barbed wire fence?
[11:25:58] <SB-X> i imagined that too :)
[11:26:15] <SB-X> that's why even guards and monsters wont chase you across them
[11:26:35] <Yuv422> Get-a fence
[11:26:41] <Yuv422> Not possible
[11:26:47] <Yuv422> Avatar heavily
[11:26:54] <Yuv422> wounded
[11:26:59] <SB-X> .
[11:27:07] <Yuv422> ty
[11:27:15] <SB-X> yw :)
[11:27:21] <SB-X> mine said "Nuvie lightly wounded."
[11:27:53] <SB-X> except when I tried to grab the log saw
[11:27:58] <Yuv422> it might have to do with current hp
[11:28:00] <SB-X> then Nuvie did get hurt
[11:28:04] <Yuv422> I'm only on 33
[11:28:28] <SB-X> yes, the injury/health report is based on your current health
[11:28:47] <SB-X> and in combat "Nuvie grazed." means the enemy missed you
[11:28:52] <Yuv422> how did you chop your horse in half?
[11:28:59] <Yuv422> ah k
[11:29:06] <SB-X> well not missed, but hit for 0 damage
[11:29:13] <SB-X> the ac roll saved you
[11:29:17] <SB-X> or something
[11:29:25] <SB-X> and I don't have any idea how to reproduce horse sillyness
[11:29:34] <SB-X> but its probably not hard, that part of U6 is bugged
[11:30:09] <SB-X> i was in solo mode
[11:30:13] <SB-X> and near the fence
[11:30:52] <SB-X> was testing my own stable earlier
[11:31:19] <SB-X> to see if an egg getting cached out deleted the monsters it spawned
[11:31:54] <SB-X> happily the answer is no and you can get tons of horses that way :)
[11:32:11] <SB-X> really slows the game down
[11:32:31] <Yuv422> was that teleporting near an egg?
[11:33:30] <SB-X> do what?
[11:33:47] <Yuv422> what was it you were testing?
[11:34:02] <SB-X> no, I just walked some distance from the egg and walked back
[11:34:40] <SB-X> I wanted to see if when the region the egg was in cached out (because you walked 16 spaces away), the horses would also disappear.
[11:35:47] <SB-X> I also wanted to see if when the region the egg was in cached in (because you walked nearer to it), the horses would spawn even if the previous horses were there.
[11:36:55] <SB-X> We already knew how it worked. The horses didn't disappear unless I walked further away. And more horses could spawn even if the other's were still there.
[11:37:15] <SB-X> That's how you can get 4 guards patrolling together at a guard post.
[11:37:35] <Yuv422> so the temp actor cache distance is greater than the egg spawn distance?
[11:39:11] <SB-X> Not exactly. That's what my stable was for. I collected the horses in a closer region.
[11:40:44] <SB-X> The distances are exactly the same, but in practice it can seem different since the monsters can be anywhere in an 8x8 region.
[11:40:58] <SB-X> And it's distance to region boundary, not to monster.
[11:42:30] <SB-X> s/And/Because/
[11:43:05] <SB-X> anyway, I don't know if we can get multiple guards in Nuvie but I think so
[11:43:29] <SB-X> haha just broke another horse
[11:43:32] <SB-X> and the nearby wall
[11:44:03] <Yuv422> can you replicate the break?
[11:44:23] <SB-X> going to try
[11:44:43] <SB-X> did you know about Ctrl-R? that's a convenient key
[11:45:01] <Yuv422> restore from save?
[11:45:19] <SB-X> yep
[11:46:12] <SB-X> I'd like it to go to a "Load game" dialog in Nuvie.
[11:47:21] <SB-X> instead using Ctrl-L for quickload
[11:48:05] <SB-X> i duplicated breaking horses but not crashing u6
[11:48:17] <SB-X> Use-horse
[11:48:21] <SB-X> Rear horse???
[11:48:42] <SB-X> that's one of those rarely seen messages
[11:49:54] <SB-X> ("No correspondent drawbridge" is even more rare)
[11:50:29] <SB-X> crashed the game again
[11:53:53] <SB-X> I believe two horses have to be on top of eachother.
[11:54:30] <SB-X> When you dismount a horse it aligns itself facing left or right. Use that to try to get it on top of another horse.
[11:55:02] <Yuv422> ah k, I remember playing around with scenarios like that when implementing multitile actors in nuvie
[11:55:04] <SB-X> Then remount it using the front or back.
[11:55:09] <SB-X> hehe
[11:55:20] <SB-X> it probably gave you a good clue how they implemented it
[11:55:27] <SB-X> and how not to reproduce their bugs
[11:55:40] <SB-X> there are strange graphical glitches then too
[11:55:50] <SB-X> walls being drawn at the wrong location
[11:56:51] <SB-X> How much of game.exe have you investigated?
[11:57:19] <Yuv422> nothing yet. :(
[11:57:20] <SB-X> Did you decode the entire monster table yet?
[11:57:23] <Yuv422> how about yourself
[11:57:24] <SB-X> oh
[11:57:39] <SB-X> today I made a little program to read and print out the list of monsters and stats
[11:57:58] <SB-X> it's at 0x030342 in game.exe
[11:58:04] <Yuv422> do you have the data seg addr for the monster stuff
[11:58:09] <Yuv422> ah cool
[11:58:16] <SB-X> that's from the start of the file
[11:58:19] <Yuv422> unpacked I assume
[11:58:34] <SB-X> yeah I had to search for the program to do it
[11:59:00] <SB-X> I don't know what all the flags mean.
[11:59:07] <SB-X> care to look at the data?
[11:59:12] <Yuv422> sure
[12:01:24] <SB-X> ok, here is the program
[12:01:36] <SB-X> i deleted the output file already
[12:01:55] <SB-X> oops guess you can't use the exe ;
[12:01:57] <SB-X> ;) *
[12:02:13] <Yuv422> is it a dos exec
[12:02:14] <Yuv422> ?
[12:02:17] <Yuv422> :)
[12:02:30] <SB-X> yeah sorry, was looking for where I put all that )
[12:02:34] <SB-X> ;) *
[12:02:36] <SB-X> but the code is there too
[12:02:58] <SB-X> so you can just compile it and run it in the same directory game.exe is in
[12:05:46] <SB-X> not sure, if alignment is accurate (see printfield), why people are all Chaotic
[12:06:48] <Yuv422> how does it match up against what we have in nuvie at the moment?
[12:08:32] <Yuv422> acid slug is spot on. :)
[12:08:46] <Yuv422> how did you find this data in the game exe
[12:08:48] <SB-X> unfortunately I don't have the current cvs tree with me now, what do we have?
[12:09:05] <SB-X> it was really easy, I just searched for the first few values
[12:09:25] <SB-X> that didn't find anything so I searched for the first few HP values
[12:09:30] <SB-X> STR values*
[12:10:51] <Yuv422> http://cvs.sourceforge.net/viewcvs.py/*checkout*/nuvie/nuvie/actors/U6ActorTypes.h?rev=1.14
[12:11:26] <SB-X> thanks
[12:11:54] <SB-X> if you copied them from the original doc then it's the same
[12:12:25] <SB-X> fortunately they are stored in game.exe in the order they were listed
[12:12:48] <SB-X> only missing a few, and with 6 unknowns at the end
[12:13:09] <Yuv422> might be padding?
[12:13:25] <Yuv422> or non related data
[12:13:26] <SB-X> wouldn't the bytes be 0 then?
[12:13:34] <Yuv422> yeah
[12:14:07] <Yuv422> I'll have a look at my disassembly tomorrow at work
[12:14:12] <SB-X> it's related because it's in the same table, I doubt they would store actor str, then something unrelated, then actor dex
[12:14:24] <Yuv422> and see if I can trace some sub routines that use that data
[12:14:25] <SB-X> but I dont know if it's actually the same stat fields
[12:14:31] <SB-X> ok
[12:14:46] <SB-X> Ttell me how if you do, because I just got lost using dosbox debugger. :)
[12:15:19] <Yuv422> I was going to use ida pro to do the main investigation
[12:15:36] <SB-X> In dosbox the "next instruction" and "step into function" keys just kept looping over the same 3 instructions
[12:15:37] <Yuv422> with the occational dosbox debugger session
[12:15:44] <SB-X> oh ok
[12:15:48] <SB-X> I'm probably doing it wrong.
[12:16:03] <Yuv422> do you have a copy of dosbox for win32 with debugger support compiled in?
[12:16:19] <SB-X> I wouldn't have a clue where to put a breakpoint.
[12:16:32] <SB-X> No, but I have dosbox for linux with debugger support compiled in. :)
[12:16:32] <Yuv422> I don't have ming or cygwin gcc installed at work
[12:16:40] <Yuv422> hehe
[12:16:48] <SB-X> called easily with u6-dbg
[12:17:31] <Yuv422> dosbox ~/Ultima/ultima6/GAME.EXE -exit
[12:17:45] <SB-X> what does that do?
[12:17:55] <Yuv422> runs game
[12:18:02] <SB-X> what about the -exit?
[12:18:03] <Yuv422> then quits dosbox when it exits
[12:18:08] <SB-X> ah
[12:18:28] <Yuv422> just saves me an extra step
[12:18:38] <SB-X> I'll add that too, thanks.
[12:18:54] <SB-X> the FILE open syscalls are interesting
[12:19:02] <Yuv422> yeah
[12:19:11] <Yuv422> I like the info display
[12:19:24] <SB-X> Is that the top or bottom window?
[12:19:33] <Yuv422> bottom
[12:19:48] <SB-X> output/input
[12:20:00] <SB-X> well in code... this is what I get
[12:20:17] <SB-X> mov ax,[305A] (0)
[12:20:27] <SB-X> cmp ax,[305C] (1)
[12:20:41] <SB-X> jc E (up 9)
[12:20:51] <SB-X> so it keeps looping
[12:21:21] <SB-X> how do I step through code while the game is running?
[12:21:48] <Yuv422> f5
[12:21:55] <Yuv422> hmm
[12:21:58] <Yuv422> not too sure
[12:21:58] <SB-X> that's what I'm doing
[12:22:21] <SB-X> actually F10, F5 makes it resume
[12:22:34] <SB-X> but while running F10 doesnt work
[12:28:24] <Yuv422> 672027: EXEC:Parsing command line: end.exe 3
[12:28:24] <Yuv422> 672030: EXEC:Execute end.exe 0
[12:28:34] <Yuv422> what does the 0 mean
[12:28:48] <Yuv422> when you complete the game it says end.exe 3
[12:28:50] <SB-X> what's end.exe?
[12:29:00] <Yuv422> the end game sequence
[12:29:07] <SB-X> try running it yourself
[12:29:16] <Yuv422> but calling end 3 doesn't work
[12:29:21] <SB-X> heh
[12:30:04] <SB-X> "The path to victory is marked with the laws of Virtue, not the commands of DOS." -- Lord British
[12:31:07] <Yuv422> 61908119: FCB:DOS:29:FCB Parse Filename, result:al=0
[12:31:08] <Yuv422> 61908335: EXEC:Execute C:\END.EXE 3
[12:31:08] <Yuv422> 61908335: FILES:file open command 0 file C:\END.EXE
[12:31:08] <Yuv422> 61908335: EXEC:Illegal header
[12:31:08] <Yuv422> 61909306: FILES:file open command 2 file config.u6
[12:31:10] <Yuv422> 61910630: FILES:file open command 2 file mcgadrv.bin
[12:34:40] <SB-X> I don't think Code Overview is the current program location, since I got it to change by following an interrupt handler, but the game wasn't affected.
[12:35:11] <SB-X> sorry that's not related to the endgame, my current save is closer to the start of the game :)
[12:51:04] <SB-X> Yuv422: could you use an Iolo that only gives you a cheaters menu and doesn't make you spam him first?
[12:51:22] <Yuv422> yes
[12:51:41] * Yuv422 is tired of typing spam spam spam humbug
[12:51:46] <SB-X> I've been using such an Iolo for a while now.
[12:51:52] <Yuv422> cool
[12:52:00] <Yuv422> did you use u6edit?
[12:52:32] <SB-X> yeah
[12:53:11] <Yuv422> cool
[12:53:49] <SB-X> some other people may have been tweaked with in order to get them to say strange things (lord british), so be careful
[12:55:17] <Yuv422> righto :)
[12:57:25] <Yuv422> can you go here
[12:57:34] <Yuv422> http://aiera.timeimmortal.net/
[12:57:42] <Yuv422> it just times out for me. :(
[12:58:05] <SB-X> yep it works just fine
[12:58:11] <Yuv422> :(
[12:59:29] <SB-X> no news there since nov 9
[12:59:51] <SB-X> project britannia has been released
[13:25:12] <Yuv422> time for bed
[13:25:15] <Yuv422> cya
[13:25:17] <SB-X> cya
[13:25:33] <-- Yuv422 has left IRC ()
[13:51:44] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[15:07:57] <-- SB-X has left IRC ("casts gate travel")
[15:14:19] --> laxdragon has joined #nuvie
[22:40:09] --> Kirben has joined #nuvie