#nuvie@irc.freenode.net logs for 30 Jul 2006 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[02:59:56] --- sbx|afk is now known as SB-X
[03:07:47] <SB-X> luteijn: i guess that will be fixed when crossbow takes 2 hands
[03:09:44] --> servus_ has joined #nuvie
[03:11:11] <-- servus has left IRC (Read error: 110 (Connection timed out))
[03:42:26] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[03:42:29] --> Kirben has joined #nuvie
[04:15:02] --> Yuv422 has joined #nuvie
[04:16:48] <SB-X> hey yuv
[04:17:16] <Yuv422> hey SB-X
[04:17:19] <Yuv422> how's it going
[04:17:20] <Yuv422> ?
[04:17:53] <SB-X> fine, I just got here an hour ago
[04:19:12] <SB-X> i went ahead with the simple fix of passing extra data to MapWindow::drawTile because it was easier than adding extra tileflags which wasnt really needed
[04:19:12] <Yuv422> cool
[04:19:36] <Yuv422> righto
[04:19:36] <SB-X> so it just draws the modified tile if requested
[04:19:46] <Yuv422> hehe
[04:19:52] <Yuv422> plain and simple
[04:19:54] <Yuv422> I like it
[04:20:03] <Yuv422> :)
[04:20:05] <SB-X> good
[04:20:14] <Yuv422> I've been cleaning all morning
[04:20:18] <Yuv422> :-(
[04:20:28] <SB-X> someday i want to apply the effect to the actor so it doesnt have to remodify it each frame
[04:20:30] <SB-X> oh heh
[04:20:47] <SB-X> i save my cleaning for never
[04:20:57] <SB-X> or when i get around to it :P
[04:21:06] <Yuv422> once a month for me
[04:21:11] <SB-X> but maybe that's why it's taking so long for you ;)
[04:21:15] <SB-X> heh
[04:21:46] <Yuv422> time to look at fixing the website
[04:22:03] <SB-X> luteijn fixed the typo
[04:23:21] <Yuv422> yeah I read that in the logs
[04:23:26] <Yuv422> :)
[04:23:32] <SB-X> what else is there
[04:23:40] <Yuv422> I know it was bugging him
[04:23:48] <Yuv422> I'm going to sync it with cvs
[04:23:57] <Yuv422> and restore the auto update script
[04:23:59] <SB-X> nuive, rolls off the tongue
[04:24:08] <SB-X> ok
[04:24:12] <SB-X> i dont know how the website cvs works
[04:24:58] <Yuv422> It will update periodically from anon cvs
[04:25:12] <Yuv422> so you will only need to commit to web cvs
[04:25:17] <Yuv422> to update the website
[04:25:34] <Yuv422> there will still be the temp and snapshot dirs
[04:25:38] <Yuv422> that get updated manually
[04:25:44] <Yuv422> oh and the phorum
[04:26:44] <SB-X> it would be nice if we had screenshot categories
[04:27:02] <SB-X> or folders, and there was one folder where front page screenshots are displayed from
[04:27:18] <Yuv422> ah k
[04:27:29] <Yuv422> so we can put the best pics on the front page
[04:27:30] <SB-X> and the others have different versions
[04:27:32] <SB-X> yeah
[04:27:38] <SB-X> or dev pics if we prefer
[04:27:45] <SB-X> old pics could get archived
[04:28:03] <Yuv422> some of those pics are very old now
[04:28:12] <SB-X> yeah:\
[04:28:24] <Yuv422> but still interesting from an evolutionary standpoint
[04:28:49] <SB-X> that's why you'd archive them :)
[04:28:57] <SB-X> hmm, u6 requires torches to go in your right hand
[04:29:19] <SB-X> er, left
[04:29:32] <SB-X> but if the unlit torch is in the left had you cant light it
[04:31:04] <SB-X> actually it doesn't seem to care what hand it goes in, it varies
[04:34:12] * Yuv422 downloads the old htdocs
[04:34:43] <Yuv422> is it random if you have nothing in your hands?
[04:34:50] <-- servus_ has left IRC (Read error: 110 (Connection timed out))
[04:35:19] --> servus_ has joined #nuvie
[04:35:54] <SB-X> no, then it's always left hand
[04:51:14] <SB-X> torches should be set to OBJ_STATUS_LIT
[04:51:29] <SB-X> that way the light will be saved in the savegame
[04:52:02] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[04:53:32] --> Yuv422 has joined #nuvie
[04:53:42] <SB-X> Yuv422: wb
[04:53:47] <Yuv422> ty
[04:54:12] <Yuv422> the web cvs isn't as bad as I thought
[04:54:22] <Yuv422> only some minor differences
[04:58:32] <SB-X> why is ACTOR_STATUS_IN_PARTY 0xc0?
[04:58:40] <SB-X> doesn't that just need 1 bit?
[04:58:57] <Yuv422> yeah
[04:59:14] <Yuv422> that was a mistake in my original research
[04:59:26] <Yuv422> I was confusing the alignment and in party bits
[04:59:31] <SB-X> ah k
[04:59:40] <Yuv422> because all party members have the same alignment
[05:01:50] <SB-X> they do?
[05:02:02] <Yuv422> I think they do
[05:02:10] <Yuv422> or at least one bit is always set
[05:02:12] <SB-X> we should make them take the avatar's alignment
[05:03:01] <SB-X> while in party
[05:03:04] <SB-X> but not save it
[05:03:46] <Yuv422> do you think that's the way the original worked?
[05:04:01] <SB-X> im not sure
[05:04:50] <SB-X> do you think it combines the party and alignment flags somehow?
[05:05:48] <Yuv422> that's what I originally thought
[05:05:57] <Yuv422> before we used the alignment bits
[05:07:47] <SB-X> well if you shift alignment over 1 bit for people in party, they will always be good if the 2nd alignment bit is always set
[05:08:12] <SB-X> and you set it was always set
[05:10:59] <SB-X> you said*
[05:11:39] <Yuv422> what would it be otherwise?
[05:11:44] <SB-X> good or evil
[05:12:16] <SB-X> 1 10 <- evil party member, 111 <- good party member
[05:12:30] <SB-X> 1 11*
[05:12:49] <Yuv422> don't forget we add one to the alignment when reading it out of the objlist
[05:13:06] <SB-X> oh yeah
[05:13:22] <SB-X> 1 10 <- good, 1 11 <- chaotic
[05:13:46] <SB-X> they're good or chaotic otherwise
[05:14:53] <SB-X> well, then they'd be chaotic if you shifted over :p
[05:15:00] <SB-X> so forget that
[05:36:21] <Yuv422> hmm our website uses direct gloab variables :-(
[05:36:30] <Yuv422> I'll have to fix that
[06:11:05] <SB-X> im lost in the lycaeum
[06:30:59] <Yuv422> libraries are like that.
[06:33:26] <SB-X> after I got out of there, a guard was guard walking through fire
[06:33:31] <SB-X> on the ground floor
[06:33:34] <SB-X> he killed himself
[06:33:38] <Yuv422> firewalking
[06:33:41] <Yuv422> nice
[06:33:51] <SB-X> haha I guess
[06:33:51] <Yuv422> obviously had the coals too hot
[06:34:19] <SB-X> since nuvie doesn't have monster drops I couldn't profit from his mistake
[06:34:59] <Yuv422> do you think I should make the progress side menu
[06:35:04] <Yuv422> on the website?
[06:35:35] <SB-X> it's up to you
[06:35:39] <SB-X> i'd like to see a news update
[06:35:48] <Yuv422> :-)
[06:35:58] <SB-X> i'm not going to be maintaining the progress reports
[06:36:32] <Yuv422> righto
[06:36:39] <Yuv422> I'll have a think about it
[06:36:52] <Yuv422> time to fix the website server side
[06:40:32] <luteijn> if I understand the SF docs correctly, we should actually have the 'sponsorbox' on _every_ page served, not just the home page.
[06:41:07] <SB-X> hi luteijn
[06:41:22] <SB-X> the Sourceforge.net icon?
[06:42:11] <luteijn> yes, it's hidden away all the way to the lower right, so I doubt anyone ever sees it (good, becuase it's ugly..). But it's not really fair to SF not to display it..
[06:43:34] <Yuv422> won't that change the site statistics
[06:43:36] <Yuv422> ?
[06:45:37] <luteijn> I don't know if they keep track of how often the logo is downloaded, just something that caught my eye when reading through the SF 'terms of use' etc.
[06:47:36] <Yuv422> maybe we should put the logo on the side menu bar
[06:48:02] <SB-X> either of you know how much you get healed when resting
[06:48:16] <luteijn> Yuv422: I was thinking the same thing.
[06:48:24] <Yuv422> does it depend on food?
[06:48:53] <luteijn> SB-X: ?level_of_character HP per hour if fed? (or is that MP)
[06:49:27] <SB-X> it depends on food, MP is level each hour
[06:49:40] <SB-X> HP might be level/2 each hour
[06:49:57] <SB-X> if you only rest a certain amount of time you don't get healed at all
[06:50:19] <SB-X> a small amount of time*
[06:50:23] <Yuv422> try saving and resting with 1,2,3,4.. hour lots
[06:50:28] <Yuv422> in the original
[06:51:11] <SB-X> last time I did some rats attacked up
[06:51:12] <SB-X> us*
[06:51:43] <Yuv422> does the original spawn monsters without eggs while resting?
[06:51:50] <SB-X> yup
[06:51:54] <Yuv422> cool
[06:53:17] <SB-X> still think it'd be cool to spawn random creatures & people in some places as long as it didn't affect the game too much (ie no enemies that give extra xp when defeated)
[06:53:39] <Yuv422> yeah
[06:58:36] <-- servus_ has left IRC (Read error: 110 (Connection timed out))
[06:58:56] --> servus_ has joined #nuvie
[07:02:59] <SB-X> first dupre healed 14 points in 6 hours, then I rested again and nobody healed, now dupre only healed 5 points in 9 hours
[07:05:32] <luteijn> could be some random term to it.. or something based on how long since you last rested?
[07:20:29] <Yuv422> do you think I should automatically update the website from cvs via cron?
[07:20:38] <Yuv422> that's how we used to do it
[07:20:49] <Yuv422> but it seems a bit wastefull
[07:21:10] <Yuv422> to be constantly refreshing when it hardly ever changes
[07:22:13] <Yuv422> maybe I could just provide an update script
[07:22:20] <Yuv422> whic you call when you've made changes
[07:22:34] <Yuv422> that would live in the group directory
[07:23:19] <Yuv422> at the moment it is auto updatig ever 15 minutes
[07:30:26] <Yuv422> ok I'm not going to run it in cron
[07:30:34] <Yuv422> I've created a script
[07:30:47] <Yuv422> called update_website.sh
[07:51:14] <Yuv422> bbl
[08:55:26] --> servus__ has joined #nuvie
[08:57:27] <-- servus_ has left IRC (Read error: 110 (Connection timed out))
[09:55:06] --- servus__ is now known as servus
[13:01:32] <-- servus has left IRC (Read error: 110 (Connection timed out))
[13:02:26] --> servus has joined #nuvie
[13:32:21] <Yuv422> the new version of xcode automatically debugs your app when it segfaults
[13:32:37] <Yuv422> or should I say launches the debugger
[13:32:44] <Yuv422> which is handy
[13:33:59] <SB-X> cool
[13:34:39] <SB-X> that's like msvisualstudio you know
[13:39:18] <Yuv422> it's good because you always get the segfaults when you least expect it
[13:39:31] <Yuv422> then when you fire up the debugger you can't replicate it
[13:39:47] <Yuv422> I fixed a little bug with actor schedules btw
[13:39:57] <SB-X> cool
[13:40:01] <SB-X> what happened
[13:40:12] <Yuv422> dead actors were trying to update their schedules
[13:40:17] <SB-X> hehe
[13:40:55] <Yuv422> which caused issues when trying to retrieve objects from the 15th z dimension. ;-)
[13:41:37] <SB-X> hmm
[13:41:41] <SB-X> xorinia?
[13:41:41] <Yuv422> Beh Lem died in the original game
[13:42:00] <Yuv422> bravely fighting serpents
[13:42:17] <Yuv422> then I rested the party
[13:42:42] <Yuv422> and he segfaulted when I tried to move after the party woke up
[13:42:52] <SB-X> heh
[13:43:12] <SB-X> take a look at revert_worktype() please and make sure it's doing the right thing
[13:43:16] <Yuv422> also I think either gwenno or iolo aren't sleeping when the party rests
[13:43:29] * Yuv422 looks
[13:43:40] <SB-X> it cant do much else
[13:45:23] <Yuv422> would the player ever change work types?
[13:45:36] <Yuv422> I guess they do for solo mode
[13:47:59] <SB-X> im not sure, but while resting i think the guard is supposed to change to a special worktype, which I added to the worktypes header
[13:48:24] <SB-X> and if he sleeps i chagne him to sleeping
[13:48:26] <SB-X> change*
[13:48:35] <SB-X> because that's the easiest way right now to make someone fall asleep
[13:48:51] <Yuv422> would that be to run to any enemy when waking the party?
[13:48:54] <SB-X> actor->set_worktype(WORKTYPE_U6_SLEEPING); actor->update();
[13:49:09] <SB-X> im not sure, the rest of the party doesnt have it
[13:49:32] <SB-X> it might just be used to check who will be the player
[13:50:01] <SB-X> perhaps in the original game they couldnt advance time while anyone had the player worktype or it would switch back to them
[13:50:07] <SB-X> and center the map
[13:50:21] <SB-X> so instead they set them to LOOKOUT and when an enemy appeared found the actor with LOOKOUT and changed it to player
[13:50:41] <SB-X> which would return control to the player
[13:52:39] <Yuv422> it looks like changing the worktypes back is causing people to sit
[13:52:46] <SB-X> i know
[13:52:55] <SB-X> youll have to fox the frame changing because I don't know how it works
[13:53:01] <SB-X> fix*
[13:53:31] <Yuv422> righto
[13:53:43] <Yuv422> do we store the last frame before going to sleep?
[13:53:58] <SB-X> I only noticed recently that glibc sometimes detects invalid pointer usage and prints to stdout. That's been useful a few times while working on Nuvie.
[13:54:10] <SB-X> i only store the direction, only because i have to
[13:54:18] <SB-X> i think it should save and restore it in actor somewhere
[13:54:42] <SB-X> then i wouldnt have to store the direction in TimedRest::sleep()
[13:55:39] <Yuv422> hmm
[13:55:57] <Yuv422> if the old work type was sleep we should be getting the old frame num
[14:01:23] <Yuv422> old_frame_n is set to the sitting frame
[14:01:30] <Yuv422> not too sure why that would be yet
[14:03:43] <Yuv422> I think the lute play doesn't have a can_laydown flag
[14:03:52] <Yuv422> so they remain upright
[14:06:16] <SB-X> that shouldnt be, because i revert them to musician before sleeping
[14:06:30] <SB-X> if i dont set them back they dont remain upright, they change into lenses and statues
[14:06:56] <Yuv422> hmm
[14:07:03] <SB-X> so they should be sleeping
[14:07:40] <SB-X> maybe something broke again
[14:14:10] <Yuv422> hmm my debugger isn't showing me my variables inside the actor object
[14:14:12] <Yuv422> :-(
[14:15:08] <Yuv422> which makes debugging useless in this case
[14:15:11] <Yuv422> :-(
[14:19:50] <Yuv422> trying it with the old style debugging
[14:24:36] <SB-X> if you're carrying too much weight to be displayed under the inventory (say, 216/60s) it wraps to under the equipment weight
[14:26:20] <Yuv422> can you carry that much weight?
[14:26:29] <SB-X> no, I can only carry 60s
[14:27:13] <Yuv422> the debugger is only showing the variables for U6Actor
[14:27:25] <Yuv422> not the ones inherited from Actor
[14:27:35] <SB-X> there must be a way to get Actor's
[14:28:02] <SB-X> can you insert your own variable somewhere?
[14:28:09] <SB-X> in gdb you type variable names
[14:28:26] <Yuv422> I tried p this.frame_n
[14:28:27] <SB-X> since it's not graphical
[14:28:31] <Yuv422> it doesn't see it
[14:28:42] <SB-X> what if you put Actor:: in front of the name
[14:28:51] <Yuv422> Actor::frame_n
[14:29:50] <Yuv422> it just shows actor
[14:29:53] <Yuv422> as a pointer
[14:30:01] <Yuv422> without being able to select it
[14:30:06] <SB-X> :\
[14:30:12] <SB-X> can you call a function?
[14:30:31] <SB-X> this->print()
[14:30:33] <Yuv422> (gdb) p this
[14:30:33] <Yuv422> $1 = (U6Actor * const) 0x16a127c0
[14:30:34] <Yuv422> Current language: auto; currently c++
[14:30:34] <Yuv422> (gdb) p this.foe
[14:30:34] <Yuv422> $2 = (U6Actor *) 0x0
[14:30:34] <Yuv422> (gdb) p this.frame_n
[14:30:36] <Yuv422> There is no member or method named frame_n.
[14:30:38] <Yuv422> (gdb)
[14:30:46] <SB-X> oh it's gdb, heh :p
[14:31:01] <Yuv422> you can look at it graphically or in the console
[14:31:06] <SB-X> i didn't know that
[14:32:03] <SB-X> print Game::game->player->get_actor()->print() works
[14:32:36] <SB-X> s/get_actor()/actor/
[14:35:58] <Yuv422> (gdb) p Game::game->player->actor->print()
[14:35:58] <Yuv422> Couldn't find method print
[14:37:01] <Yuv422> time for bed
[14:37:39] <Yuv422> cya
[14:38:14] <-- Yuv422 has left IRC ()
[14:40:47] <SB-X> cya
[14:41:49] * SB-X wonders why that command worked for him but not for Yuv422.
[14:43:22] <SB-X> luteijn: There is clearly some randomness to resting. All things being equal, three different Rests healed Dupre to three different levels. (172,195,205)
[14:56:10] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[16:48:57] <-- servus has left IRC (Read error: 110 (Connection timed out))
[16:50:49] --> servus has joined #nuvie
[17:31:59] <SB-X> there are walls without TILEFLAG_WALL set
[17:32:08] <SB-X> this allows you to rest in town
[18:34:11] <SB-X> "Look-Thou dost see the portion of meat"
[21:29:16] <luteijn> my gdb (gdb -v says it's GNU gdb 6.3-debian) does both SB-X's p Game::game->player->actor->print() and p *Game::game->player->actor
[21:30:02] <luteijn> using the print() method has nicer output, but the * might be more complete, incase things were added that print() doesn't support yet.
[21:30:33] <SB-X> hi
[21:30:36] <SB-X> luteijn
[21:30:46] <SB-X> do you get Actor output when printing it directly?
[21:30:53] <SB-X> or just U6Actor output
[21:31:57] <luteijn> you mean if I "p *Game:game->player"?
[21:32:03] <SB-X> yes
[21:32:12] <SB-X> using gdb's print function
[21:32:37] <SB-X> his complaint is that it only prints U6Actor member variables
[21:33:12] <SB-X> or perhaps just that it doesn't allow access to Actor variables
[21:34:16] <luteijn> it just has a short list of things, so probably doesn't print the underlying actor. LEt me check what it does print.
[21:34:38] <SB-X> he needed to display Actor::frame_n
[21:35:54] <luteijn> one of the things is a pointer to 'actor', which is what you used to get to the things behind it. from reading the log it looks like he needs a '*' to derefence it. Maybe his interface doesn't give him a convenient way to enter that?
[21:36:35] <luteijn> (gdb) p Game::game->player->actor->frame_n
[21:36:35] <luteijn> $4 = 1
[21:36:44] <SB-X> or he might have forgotton about it
[21:36:54] <SB-X> he was accessing it with 'this'
[21:37:08] <SB-X> p this.frame_n
[21:38:11] <SB-X> btw, actors now stay lit through saving and loading, just because you mentioned it :)
[21:38:48] <SB-X> the lighting method is still wrong but for now if your using original lighting it looks fine
[21:39:02] <luteijn> I'm not up-to-date with nuvie's classes; U6Actor IS an Actor, or U6Actor HAS an Actor? if it's not inhereting the actor class, just has pointer to it, than this.frame_n won't work if 'this' is a U6Actor*
[21:39:18] <SB-X> it is an actor
[21:40:31] <SB-X> player is a Player
[21:45:57] <luteijn> ok, Player is not inheriting Actor or U6Actor, it just has a actor member variable, so if 'this' is a pointer to a Player, it won't have the frame_n
[21:47:44] <luteijn> but according to the log, his this was an U6Actor..
[21:47:50] <SB-X> this was a U6Actor
[21:48:02] <SB-X> yes, his 'this' was a U6Actor
[21:50:51] <luteijn> hmm player->actor is an Actor; let me see if I can find something that is an U6Actor.
[21:51:51] <SB-X> Actor is a virtual class
[21:52:14] <SB-X> we rarely declar a U6Actor except in U6Actor itself
[21:52:16] <SB-X> declare*
[21:53:32] <luteijn> I probably mentioned before I don't like c++ ;) anyway, why would his 'p this' show his this as an U6Actor? maybe becuase of the point in the program he had his breakpoint?
[21:54:09] <SB-X> yeah he's probably broken in the middle of U6Actor
[21:58:35] <luteijn> ok, I've put a breakpoint int the twitch function and now have a this that is a U6Actor * const. Time to experiment..
[22:00:37] <SB-X> :)
[22:00:49] <luteijn> p this->level and p this.level both work. and p this.frame_n all work for me.
[22:01:17] <SB-X> same for me
[22:02:09] <luteijn> and I can even "call this->print()" (or just print this->print()"
[22:02:49] <SB-X> it's a nothing, at 0,0,0
[22:03:22] <luteijn> (I have a nothing at 0,0,0 too) maybe he had some subtle typo in his p this.frame_n? did he do a print *this? (
[22:04:14] <SB-X> he didn't say anything about it
[22:05:17] <luteijn> Clearly a case of 'someone else's problem' ;)
[22:06:55] <luteijn> Since the healing is (at least partly) random, that's another thing to look for with the disassembler.
[22:08:25] <luteijn> started a new game, the wingless gargoyles are a bit too eager to get killed, they step right into the center of my party's diamond formation, using a diagonal step.
[22:09:24] <SB-X> hehe, is that not allowed?
[22:09:51] <SB-X> it sounds like an illegal move in turn based strategy games
[22:10:13] <luteijn> I'm not sure, I think the original's gargs aren't so tactically challenged to try it, they usually use their missile weapons..
[22:10:28] <SB-X> missile weapons dont work yet, let alone boomerangs
[22:10:36] <SB-X> thanks for reminding me, that's what i'll work on next
[22:11:47] <luteijn> I'd have to check in the original if you can move diagonally between two 'enemies', it looks 'wrong' to me though.
[22:12:07] <SB-X> i'd like to make monsters in nuvie behave smarter in combat than they did in u6
[22:12:35] <SB-X> just because you cant move between them doesn't mean they can move between you
[22:12:44] <SB-X> it probably looks wrong because they don't act that stupid in u6
[22:13:00] <SB-X> they can't move between you*
[22:13:14] <SB-X> just try to reproduce the same behavior
[22:13:59] <luteijn> also, when you press 'A' then press 'B' before actually selecting a target, it also behaves a bit weird.. It might be the same in the original, but again, it looks wrong.
[22:15:16] <SB-X> nope, if you press B after A in the original, it says "what?"
[22:15:54] <SB-X> forgot to tie toggleCombat into the event action system ;)
[22:16:15] <luteijn> that's what I thought. A lot of these thigns are probably caused because the original has more of a one track mind than nuvie.
[22:16:39] <SB-X> the original doesn't have as many asyncronous processes as nuvie
[22:17:57] <SB-X> i'd guess when they animate an effect it blocks all other animations on screen, whereas nuvie has to pause animations first and resume them after the effect is complete
[22:19:55] <luteijn> I don't have a proper way to test the original at the moment, but it might even handle animations via an interrupt?
[22:20:51] <SB-X> i've only guessed what it's doing as well
[22:23:43] <luteijn> another thing that goes wrong when laoding a game: if you were in combat mode when saving, the combat icon is the wrong one. (just got surprised by a 'not in combat mode' message)
[22:25:46] <luteijn> solo mode is alsoe not shown properly. (Pieter: prompt instead of Shamino:)
[22:29:52] <-- luteijn has left IRC ("My damn controlling terminal disappeared!")
[22:30:21] <SB-X> luteijn and his damned controlling terminal
[22:30:32] --> luteijn has joined #nuvie
[22:30:39] <SB-X> wb
[22:32:16] <luteijn> bleh restarting screen didn't fix my little display problem..
[22:35:35] <SB-X> did you mean solo mode prompt is broken when loading or starting nuvie?
[22:36:42] <luteijn> yes, it jsut prints avatar's name. also the combat mode icon is not updated properly.
[22:39:45] <SB-X> im going to remove Player::name as it's redundant and not always update with Player::actor->get_name()
[22:39:53] <SB-X> always updated*
[22:44:30] <luteijn> looking at the command bar it lokos like there's somethign there to initialize it to the right state, let's see if I can find what's going wrong when loading a game..
[22:44:48] <SB-X> Whew, I was afraid player would crash in get_name() because party wasn't loaded yet, but that won't be a problem. Player::get_name() isn't called until after Party::init().
[22:44:55] <SB-X> i've already fixed both of those problems
[22:45:00] <SB-X> thanks for reporting them :)
[22:48:05] <SB-X> player was always reading the player's name from 0xf00 in objlist when loading
[22:48:29] <SB-X> I had to add a call to command_bar->set_combat_mode() in SaveGame::load_objlist().
[22:49:11] <SB-X> adding it to Game::loadGame() works when loading nuvie but not loading a game, and strangely sets the combat icon to the wrong picture.
[22:50:33] <luteijn> 50 combat_mode = false;
[22:50:58] <SB-X> CommandBar::init_buttons()
[22:52:24] <SB-X> yes, the check for combat_mode in that function is rather pointless since command_bar doesn't get the real combat_mode
[22:52:53] <SB-X> maybe i'll change set_combat_mode() to init_buttons()
[22:53:12] <luteijn> when loading again, it doesn't make a new buttonbar, so wouldn't get called then, I think.
[22:53:23] <SB-X> that's right
[22:54:18] <SB-X> even if it made a new buttonbar, it wouldnt have the real mode
[22:55:19] <luteijn> unless you changed that line 50 to not set it to false regardless, but get the real state. But Iguess it's not accessible at that time?
[22:55:30] <SB-X> i prefer not to have lots of checks of Game state in CommandBar, and instead let it keep it's own state and other classes call Commandbar methods to change it
[22:55:50] <SB-X> predicted your next question I see :)
[22:56:04] <SB-X> it's updating fine now anyway
[22:57:20] <SB-X> since you have access to nuvie, try drinking some ale
[22:57:35] <SB-X> if you have the newest cvs version
[22:58:50] <luteijn> "You drink it" (actually Shamino drank it)
[22:59:08] <luteijn> let's see if I get drunk from what he does.
[22:59:24] <SB-X> of course, it mimics the behavior of U6, instead of what is logical
[22:59:38] <SB-X> because that was the easiest way to implement the drunk feature
[22:59:46] <SB-X> or alcohol feature
[22:59:47] <luteijn> yup, shamino drank 3 drinks, and everyone is drunk ;)
[23:00:51] <SB-X> you can also now read the gargish scroll and talk to gargoyles
[23:01:39] <SB-X> oops almost forgot, "Cheers!" *downs some ale* "Hic!"
[23:01:57] <SB-X> didn't bother to check how long being drunk lasts in u6
[23:02:03] <SB-X> in nuvie it's random
[23:03:50] <luteijn> Was just tring to find any data on how long drunk lasts. probably every <time-interval> the number of drinks drunk counter is decreased
[23:05:14] <SB-X> you have to sober up completely (drink counter == 0) before you're no longer drunk, even in nuvie
[23:06:19] <SB-X> if you keep drinking more, then you'll be drunk longer, even with the added randomness
[23:10:18] <luteijn> hmm only thing I found about u6 aand drinking so far is in our own objlist document and the conversation log where Yuv tells you he found the location it is stored..
[23:10:47] <SB-X> Oh, thought you were checking U6. I forgot you don't have access to it now.
[23:10:59] <SB-X> np
[23:11:48] <luteijn> Well I do have some sort of access to it, but dosbox on xvnc is not fun to work with at all.
[23:12:08] <SB-X> ick
[23:12:17] <SB-X> no I'm sure it wouldn't be
[23:13:46] <SB-X> silver serpents are 1 too long in nuvie
[23:14:31] <luteijn> it's using the eggdata now?
[23:14:33] <SB-X> 1 part too long, it should be 4-8 not 5-9 parts
[23:14:39] <SB-X> nope, the random range is too high
[23:17:12] <SB-X> On a completely different subject, I dont really think allowing the player to teleport to the cities with the orb ruins the plot as badly as teleporting to shrines or the gargoyle world.
[23:17:56] <SB-X> it just cuts travel time too much, but you don't have to use it
[23:18:16] <luteijn> Agree, cities have the least issues, shrines not that bad (actually Spirituality is pretty nasty to get to without orb, esp. since the clue to it is broken)
[23:18:21] <SB-X> it cuts out travel time and removes the need for boats
[23:18:25] <SB-X> hmm
[23:18:52] <luteijn> (through a glowing portal.. blah blah.. except there's no double full moon anymore)
[23:18:59] <SB-X> well except spirituality, but the others either give the prepared player an advantage, or the unprepared player a disadvantage
[23:19:19] <SB-X> there isn't?
[23:19:26] <SB-X> when did it break? :)
[23:19:37] <SB-X> i never used that in u6 anyway
[23:19:46] <luteijn> when origin changed the moon's periods.
[23:19:55] <SB-X> ah k
[23:20:06] <SB-X> i know there's an eclipse that we don't support in nuvie yet
[23:20:22] <SB-X> i guess you had to play U5 to know how to get to spirituality
[23:22:02] <luteijn> well no, Horace still has the rhyme in u6. It just makes less sense, as the moonstone on spirituality is not the full moon. and there's no double full moon (http://nuvie.sourceforge.net/phorum/read.php?f=1&i=361&t=361 )
[23:25:01] <SB-X> "For example, from U6 on, we
[23:25:01] <SB-X> know that the double new moon always occurs on the first of each
[23:25:01] <SB-X> month.
[23:25:03] <SB-X> 0161-07-04 Summoned through a red Moongate by the gargoyles, the Avatar
[23:25:05] <SB-X> returns to Britannia again. (This is the beginning of U6.)
[23:25:07] <SB-X> "
[23:25:16] <SB-X> ok
[23:32:19] <luteijn> anyway, I still think it is best for the player to visit everywhere on foot first, before going there by orb. the least chance of breaking plots accidentally.
[23:33:45] <SB-X> why didn't they enforce that in u6?
[23:34:43] <luteijn> Not sure, probably has to do with the reason(s) they had to put the orb in at all. I guess they thought it would be too tedious/hard without it.
[23:36:09] <luteijn> and maybe they just didn't think of a good way to keep track of where you've been?
[23:38:16] <SB-X> you could store an invisible object on the map chunks that contain moongate targets, and set a flag on it when the player has visited the area
[23:38:47] <SB-X> or just add the object after visiting the area
[23:39:25] <SB-X> you could store a flag for each target in the objlist too
[23:39:53] <SB-X> how would you explain it in the game?
[23:40:07] <SB-X> why should you have to visit an area before the orb will open a gate there?
[23:41:38] <luteijn> when the lightning stuck the orb in the stone circle, it messed with the magic. Luckily the orb is not totally ruined, but it does need to be resynchronized with the sites it's keyed to.
[23:41:44] <luteijn> (somethign like that)
[23:42:04] <SB-X> when you approach a target area you might see "The orb glows dimly."
[23:43:33] <luteijn> (or, more sneakily, the orb actually glows (causing you to miss it if you don't have it in a prominent place in your inventory.. probably too nasty)
[23:43:54] <SB-X> I guess that's a fine explanation... if you provide such a vague message when nearing the target area, the player will figure that something like that happened. (besides probably already knowing that Nuvie disabled it to avoid ruining the plot and to make the game harder)
[23:44:26] <SB-X> heh
[23:44:35] <luteijn> You could add the technobabble to lord B.'s initial introduction of the orb.
[23:44:43] <SB-X> you can have both messages
[23:44:53] <SB-X> i'd rather not edit conversations
[23:45:41] <SB-X> i wanted to prevent you from going to the shrines before you freed them too
[23:46:09] <SB-X> for that it might complain that "A magic field prevents the gate from forming!"
[23:46:46] <SB-X> not including spirituality shrine
[23:46:59] <luteijn> ah, you mean, youve visited the shrine, but didn't free it, so the link is back, but it doesn't work becasue of the forcefield?
[23:47:37] <SB-X> yeah we can implement either or both of those restrictions on using the orb
[23:48:16] <SB-X> someone can just run past the gargoyles and remove the force field, but we can't prevent every trick the player will find
[23:48:40] <luteijn> the spirituality shrine has a separate permanent blue moongate (used as exit?) that we might key to one of the two empty spots of the orb. Have to figure out how to get to spirituality in the real game maybe it IS possible without the orb, after you've removed the moonstone.
[23:48:41] <SB-X> you'll probably still be able to clone glass swords :)
[23:48:55] <luteijn> if you run past and remove the forcefield, the gargs will go away I think.
[23:49:21] <SB-X> yeah, I think you're right... it deletes the gargoyle egg
[23:50:09] <luteijn> I guess they can't make a new forcefield (maybe becuase their priest is shot), so they just give up on that shrine.
[23:50:43] <SB-X> no, some fighters came after you
[23:51:10] <SB-X> the gargoyles were so busy wondering how you freed the shrine without them noticing, the fighters sneak up on them and kill them quickly
[23:52:13] <luteijn> I wonder why the gargoyles are even bothering to occupy the shrines..
[23:54:32] <SB-X> if all of them gathered around the castle they could take it in no time
[23:56:36] <luteijn> They could just gate to the codex and grab it.. After all they go there in the endgame..
[23:59:05] <SB-X> they are obsessed with killing the avatar
[23:59:20] <SB-X> if you go to the gargoyle world and talk to draxinusom that's all he talks about