#nuvie@irc.freenode.net logs for 29 Aug 2006 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage

[00:51:20] <-- SB-X has left IRC ("BRB")
[00:55:39] --> SB-X has joined #nuvie
[02:45:23] <SB-X> luteijn: why did you change exiting tab width in several functions?
[02:45:29] <SB-X> existing*
[05:58:05] <SB-X> get_obj_container() is only supposed to be used on objects in containers
[07:50:59] --> Yuv422 has joined #nuvie
[08:07:19] <SB-X> hey yuv
[08:12:14] <Yuv422> hey SB-X
[08:12:20] <Yuv422> how's it going?
[08:14:46] <SB-X> not bad, but ive been reading cvs messages for hours
[08:15:27] <Yuv422> cvs messages?
[08:16:05] <SB-X> changelog messages
[08:16:19] <SB-X> i didnt realize it had been around 20 days since i last committed any code to cvs or looked at recent changes
[08:17:19] <Yuv422> ah
[08:17:39] <SB-X> or that so many changes would be added since then... we seem to have had a high activity percent in the past month :)
[08:17:56] <SB-X> although I havn't looked at what SF.net says
[08:18:04] <SB-X> about the recent activity rating
[08:18:38] <SB-X> all you and luteijn
[08:21:58] <Yuv422> bbl dinner
[08:22:34] <SB-X> ok
[08:29:24] <SB-X> we dont need a union for attack and damage
[08:29:32] <SB-X> just pick one
[08:33:35] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[08:35:29] --> Yuv422 has joined #nuvie
[08:37:28] <SB-X> Why is Foreground in a different tileflags field than Background?
[09:12:49] <SB-X> what does Weather have to do with moonstones? (besides the moons)
[09:23:29] <SB-X> whew, done reading all of the updates
[09:28:52] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[09:30:00] --> Yuv422 has joined #nuvie
[09:55:27] <Yuv422> back
[09:56:23] <Yuv422> moon cycles are traditionally considered weather, right?
[09:57:16] --> Dark-Star has joined #nuvie
[09:58:31] <Yuv422> hi Dark-Star
[09:59:02] <SB-X> Yuv422: yes, I thought the moon cycles should be handled there
[09:59:33] <SB-X> but it seems to be saving and loading positions of buried moonstones now (if I know what those coordinates mean)
[10:00:23] <Yuv422> ah k
[10:00:31] <Yuv422> yeah that's probably not the best
[10:00:39] <Yuv422> that should go in objlist
[10:00:59] <Yuv422> maybe objmanager
[10:04:37] <Yuv422> do you think magic scripts should be in individual files
[10:04:42] <Yuv422> or in a single file?
[10:08:54] <SB-X> individual
[10:09:05] <SB-X> with a descriptive/useful filename
[10:09:20] <SB-X> probably in data/u6magic
[10:10:02] <SB-X> or under data/u6usecode if we're combining the scripting engine for magic and usecode
[10:10:51] <SB-X> u6usecode/magic/wind_change.lua
[10:17:44] <Yuv422> that sounds good
[10:18:22] <Yuv422> I'm getting adsl2 soon
[10:18:31] <Yuv422> hopefully that fixes my irc issues. ;-)
[10:20:31] <Yuv422> I'm going to append the nuie data dir to the lua path
[10:20:45] <Yuv422> when setting up the lua scripting system
[10:20:51] <Yuv422> nuvie
[10:21:16] <Yuv422> so we will be able to require "scriptname"
[10:21:21] <Yuv422> to load scripts
[10:23:38] <Yuv422> but that would mean filenames would need to be unique
[10:23:53] <Yuv422> u6magic_eclipse.lua
[10:32:51] <Yuv422> ls
[10:33:01] <Yuv422> whoops wrong window. :-)
[10:53:09] <Dark-Star> hi! good to see some progress on nuvie again :)
[10:54:53] <Yuv422> :)
[11:16:02] <SB-X> Yuv422: I'd rather not do that, and prefer subdirectories for various types of scripts.
[11:16:16] <Yuv422> I'm working on subdirs
[11:16:44] <Yuv422> I agree flat directory structure would be a bit messy
[11:18:06] <SB-X> yeah that would be the problem, having various scripts in data... should at least be in data/scripts or something :)
[11:18:14] <SB-X> im going to take a nap
[11:18:19] <SB-X> bbl
[11:18:25] <Yuv422> cya
[11:18:38] <SB-X> cya
[11:18:42] --- SB-X is now known as sbx|afk
[12:01:05] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[14:13:50] <Yuv422> time for bed
[14:13:52] <Yuv422> cya
[14:14:01] <-- Yuv422 has left IRC ()
[18:20:35] --> wizardrydragon has joined #nuvie
[18:29:15] <wizardrydragon> Hello
[19:45:21] --- sbx|afk is now known as SB-X
[19:45:22] <SB-X> hi
[19:45:29] <wizardrydragon> Howdy
[21:08:33] <SB-X> actors/U6ActorTypes.h:221: warning: missing braces around initializer
[21:08:42] <SB-X> actors/U6ActorTypes.h:282: warning: missing braces around initializer
[21:16:11] <SB-X> After loading the game, pressing F1-F4 once always jumps to the Avatar's inventory. Pressing any of those keys after that shows the correct inventory. Pressing F10, and then F1-F4 always shows the last inventory you were looking at.
[21:34:07] <SB-X> clamp_min() is used incorrectly in list_add_obj(), and the compiler gives no warning
[21:35:21] <luteijn> Hi.
[21:35:55] <SB-X> HI!
[21:36:12] <SB-X> im going to replace that clamp_min() with another paranoid assertion :)
[21:36:15] <luteijn> Saw you had a lot of questions dumped into the log earlier.
[21:36:21] <SB-X> yes :)
[21:36:37] <SB-X> i was going over recent changes
[21:37:34] <luteijn> let me just answer to them in fifo order.. (unless you have any that don't matter anymore?)
[21:37:57] <SB-X> why not stack order? :)
[21:38:47] <SB-X> i dont think any of my questions are no longer applicable except clamp_min that I've just replaced
[21:38:56] <SB-X> that wasn't really a question though
[21:40:00] <SB-X> since there were so many changes recently I was making notes of things that could potentially break or need to be addressed, or changes to code behavior I need to remember :)
[21:40:36] <luteijn> Tab Width change: No real reason, probably accidental side effects, e.g. deleted something then pasted it back later and got re-indented. or indented new code and messed up existing stuff. sorry.
[21:41:35] <SB-X> np
[21:42:35] <SB-X> it wont bother me until editing those functions in the future, but I prefer at least 4 spaces per tab
[21:43:10] <luteijn> get_obj_container() will just return NULL if not used on a contained object, becuase the parent pointers are initialized to NULL
[21:43:39] <SB-X> i considered it an error condition to call the function at all on a non-contained object
[21:44:04] <SB-X> i changed it back but then I realized we don't use it anywhere yet, so it works either way
[21:44:23] <luteijn> I added the functionality, it didn't work before :)
[21:44:33] <SB-X> i was afraid if we were using it somewhere the lack of the assumption would break something
[21:44:41] <SB-X> that's true, I left your new code :)
[21:44:49] <SB-X> but readded the assertion and another one
[21:45:27] <SB-X> we probably need obj_remove_obj
[21:45:35] <luteijn> I might be using the fact it returns NULL (while get... != NULL) or something like it.
[21:46:34] <SB-X> if you're doing that now we'll know soon enough when it crashes on assertion failure
[21:47:45] <SB-X> The only reason I see not to leave it this way is that you have duplicate is_in_container() checks, one before the call and one in the assertion.
[21:50:07] <luteijn> I guess we will eventually do something like #define assert away for 'release' versions of nuvie?
[21:51:30] <luteijn> attack/damage union: I don't really mind to pick one, but the way its used now, they're just two names for the same piece of memory. The compiler should just generate the same code, not?
[21:52:17] <luteijn> Why is Foreground in a different tileflags field than Background: Beats me, maybe the thought of the need of the flag later on in development?
[21:53:53] <luteijn> What does Weather have to do with moonstones: it needs to know where the moongates appear. Just like it's keeping track of the value of the 'eclipse-countdown' form objlist, it's now also keeping track of the burial sites from objlist. seemed like a logical extension of what was already there.
[21:54:15] <SB-X> unions: i dont know how unions work in the compiler... if you say so :)
[21:54:30] <SB-X> i think there is an -NDEBUG option for removing assertions though
[21:56:11] <luteijn> magic scripts could be separate files, or some sort of 'archive' (just tar them) start with a directory, can always optimize it into archives later on.
[21:56:29] <SB-X> I really don't know how moonstones work anyway. What exactly are those coordinates in objlist? The locations of buried moonstones?
[21:57:03] <SB-X> i didnt review the code completely
[21:57:17] <SB-X> that's what they appear to be
[21:57:35] <SB-X> objlist.txt isn't clear
[21:58:02] <luteijn> http://luteijn.xs4all.nl/nuvieki/TechnicalDocumentation/ObjList might be slightly clearer.
[21:58:47] <SB-X> it says the same thing
[21:58:58] <SB-X> 0x1c1b
[21:58:58] <SB-X> X bury location (2 bytes LE) new moonstone
[21:59:13] <luteijn> objlist seems to just be a dump of u6's global variables. I wouldn't be surprised if you could find it in memory as is. wouldbe interesting to 'watch' it change as you play the game.
[21:59:25] <SB-X> yep, thats a good idea
[21:59:41] <SB-X> so these coordinates are in fact where moonstones have been buried?
[21:59:49] <luteijn> using a debugger like good old 'GAMETOOLS' or something.
[21:59:52] <luteijn> A moonstone that is only dropped is not listed here, and a moonstone 'moved' after burial doesn't update this either. Getting the moonstone clears this. Blue gates appear on these locations when any moon is in the sky. If you bury a moonstone, then move it, wait for the gate to appear and then rebury it, there will be two gates for that stone, the last bury location is recorded here though, so only that one will be there next time. Destination is the mo
[22:00:04] <SB-X> yes i see the other bury locations listed too
[22:00:53] <luteijn> its not tied to the moonstone at all, jsut updated when you get/use the moonstone.
[22:00:59] <SB-X> :S
[22:01:09] <SB-X> that paragraph implies you already know what the coords are for
[22:01:15] <SB-X> i didnt know you could use moonstones
[22:01:27] <luteijn> when you start a game, the moonstones aren't on the locations listed there, (but close)
[22:01:46] <SB-X> er, its the moongate locations?
[22:01:55] <luteijn> use moonstone --> moonstone buried. It lets you set 'waypoints', much more flexible than the orb of the moons.
[22:02:24] <SB-X> right, sorry
[22:02:31] <SB-X> i was wondering how you buried them
[22:02:33] <luteijn> the paragraph is a little tersly written, but the info is there ;)
[22:03:29] <SB-X> but it IS the bury locations captured shrines notwithstanding?
[22:04:15] <luteijn> It would be more correct to say that it is the place where the relevant moongate will appear,
[22:04:22] <SB-X> it says bury location
[22:04:23] <SB-X> hehe
[22:04:36] <SB-X> ok I'll stop bugging you about it and just read the code
[22:04:37] <luteijn> yes, becuase the only way to set it in game is to bury a moonstone
[22:05:23] <SB-X> thanks for the explanation
[22:05:32] <luteijn> I noticed the F1-Fx bug too, just didn't get down to testing it out as much as you did.
[22:05:32] <SB-X> and for putting up with my questions ;)
[22:06:19] <SB-X> I wonder if Nuvie should use global variables for those objlist settings. (if in a gametype namespace)
[22:07:02] <SB-X> then we wouldnt be worrying about the best place to store them
[22:07:10] <luteijn> There's a lot of knowledge that's just in some of our heads,I'm trying to dump as much as I can into the wiki (and docs files) when I get time. maybe you and yuv could do the same. And clear up whatever I wrote if it's not really clear?
[22:07:34] <luteijn> Yes, you could add an 'ObjList' struct.
[22:07:45] <luteijn> (or class)
[22:08:17] --> Kirben has joined #nuvie
[22:09:06] <SB-X> hi Kirben
[22:10:01] <luteijn> why not use stack order?: because I like the way the word Queue looks.
[22:10:14] <luteijn> (and yes I saved that one for last on purpose ;)
[22:10:15] <SB-X> haha
[22:10:42] <SB-X> ok
[22:11:17] <SB-X> i think thats what eric said he wanted to do with those variables, including moonstone positions, but i was thinking of using real globals
[22:11:51] <SB-X> saving/loading them in objlist
[22:12:47] <luteijn> I'm using the same thing that is used for loading the eclipse position. I think that's using objlist? but I'm not sure of nuvie's save game format.
[22:13:25] <luteijn> bool Weather::load_moonstones(NuvieIO *objlist)
[22:13:25] <luteijn> {
[22:13:25] <luteijn> objlist->seek(OBJLIST_OFFSET_U6_MOONSTONES);
[22:13:38] <SB-X> s/objlist/theoretical new Objlist class/
[22:14:30] <luteijn> The biggest problem we'll have with a struct objlist will be endian issues.
[22:14:48] <luteijn> the u6 objlist is little endian at the moment..
[22:14:51] <SB-X> I believe nuvie savegames use a direct image of objlist. At least SaveGame transparently handles converting objlist values to savegames.
[22:15:20] <SB-X> we havn't had any problems so far
[22:15:38] <SB-X> at least with objlist, we've of course had endian issues everywhere else :)
[22:16:39] <luteijn> probably becuase we read objlist one byte at the time and multiply / shift to construct our variables.
[22:17:17] <SB-X> yeah that's what I mean, we already corrently handle it probably in NuvieIOStream
[22:17:22] <SB-X> correctly*
[22:17:27] <luteijn> but if we have a objlist struct, we can't just dump it to file. becuase then you couldn't read it in on a different endian computer (or one where the compiler reordered the struct)
[22:18:04] <luteijn> I just read 1 byte at the time anyway.
[22:18:18] <SB-X> that should be handled by the save/load routines not be variable file format
[22:19:28] <SB-X> i dont think we do direct structure serialization when saving anywhere, and wont start doing so in the future :)
[22:20:10] <luteijn> it's just what I think the original did.
[22:20:12] <SB-X> its all done byte by byte or with word functions that handle big and little endian format
[22:20:24] <SB-X> yeah you're probably right
[22:20:32] <luteijn> becuase the original didn't have to worry about endian-ness and different compilers etc.
[22:20:40] <wizardrydragon> Hey guys, if I wanted to help with Nuvie, do you guys have a public CVS I can grab the code from
[22:20:43] <wizardrydragon> ?
[22:21:00] <luteijn> wizardrydragon yes.
[22:21:08] <SB-X> there are instructions on the SF.net page
[22:21:28] <luteijn> http://nuvie.sourceforge.net/?page=downloads
[22:21:42] <luteijn> For other systems, Linux. Users must compile from CVS. We will release an official binary package on all platforms soon.
[22:21:42] <wizardrydragon> Alrighty then ... do yhou have the link to the sf.net page? or even the nuvie homepage since my bookmarks got broke a few months ago?
[22:21:53] <SB-X> patches on the SF.net patch tracker are welcome
[22:22:12] <SB-X> for bugfixes or new features
[22:22:21] <SB-X> its linked from the nuvie site
[22:22:27] <luteijn> just read 'soon' at the end of that sentence as 'real soon now'
[22:22:43] <SB-X> hehe
[22:22:51] <wizardrydragon> I didn't think non-devs can submit patch tracker items?
[22:23:01] <SB-X> yeah you can, thats what its for
[22:24:00] <SB-X> luteijn: i wanted to have a release a year ago, but Eric must not have thought we were ready yet :)
[22:24:09] <luteijn> it's a bit of a steep learning curve. I'm trying to get some technical documentation done, some stubs are here: http://luteijn.xs4all.nl/nuvieki/TechnicalDocumentation
[22:24:55] <luteijn> SB-X: if you read back the old IRC logs, the subject of an imminent release comes up a lot. Also 2 years ago etc.
[22:25:04] <wizardrydragon> LOL
[22:25:07] <SB-X> lol
[22:25:33] <SB-X> i know, i dont need to read them :\
[22:25:36] <wizardrydragon> Well okay. Is there anywheres that needs serious work that'd be a good place for me to work
[22:25:38] <wizardrydragon> ?
[22:25:47] <wizardrydragon> Hmm I keep forgetting my punctuation..
[22:25:51] <luteijn> Actually there's a lot of info in the old logs that I want to capture in the wiki. some subjects seem to recur a lot.
[22:26:30] <luteijn> wizardrydragon usecode might be a good place to start. but the thing is we are thinking of moving that to lua, so it might be wasted effort.
[22:26:51] <wizardrydragon> lua?
[22:26:54] <luteijn> If you have a way to play the original, maybe do some research into how it works?
[22:27:14] <SB-X> and if you want to script magic or usecode, learn lua
[22:27:15] <luteijn> e.g. use memory debugger to see when certain values change, and DOCUMENT this..
[22:27:25] <luteijn> lua is a scripting language.
[22:27:38] <wizardrydragon> Ah
[22:27:52] <luteijn> original u6 only had conversation scripts, most of the rest was hardcoded.. wee plan to improve the situation
[22:28:01] <wizardrydragon> When you say usecode I assume u7ish usecode, being of a bit of a Exult junkie :)
[22:28:20] <SB-X> nope
[22:28:20] <luteijn> well the concept was probably 'backported' from exult.
[22:28:31] <luteijn> but u6 usecode is different.
[22:28:35] <SB-X> or backported from u7
[22:28:36] <wizardrydragon> I imagine so.
[22:28:39] <wizardrydragon> Hmm.
[22:28:51] <wizardrydragon> How much do you guys know about the usecode used in U6?
[22:29:01] <luteijn> it's hardwired, little functions that get called when you get/use/pass/etc game objects
[22:29:14] <wizardrydragon> If you guys know enough I can probably tailor a UCC-eque compiler for the U6 usecode.
[22:29:19] <SB-X> I dont see any problem with you writing usecode functions that we don't have yet. Your code will just be converted to lua when we get around to adding that scripting.
[22:29:39] <SB-X> u6 didnt have usecode scripts, that's the functionality we're currently adding
[22:29:40] <luteijn> there's no separate usecode for u6, everything seems to be hardcoded into game.exe
[22:29:44] <wizardrydragon> Ah.
[22:29:54] <luteijn> but research into that is always welcome.
[22:30:02] <SB-X> so our system is completely custom to nuvie right now
[22:30:13] <luteijn> actually another good starting point would be coding introducitonary sequences and the pre-game menu!
[22:30:15] <wizardrydragon> Hmm. it's probably better, in a way then. No having to worry about finding which intrinisc does which.
[22:30:34] <SB-X> luteijn: those are going to be in nuvie too, at least the scenes ;)
[22:30:35] <wizardrydragon> pre-game menu? You mean the title screen with journey onward etc?
[22:30:37] <SB-X> in lua*
[22:30:38] <luteijn> you wouldn't need to know too much about existing nuvie code, just about the stuff that reads the shapes etc.
[22:30:41] <SB-X> you can work on the menus though
[22:31:25] <luteijn> well we still need to figure out what to put into those intro-lua scripts... We know a lot already, but it's not complete..
[22:32:01] <SB-X> we'd need to figure out how to hardcode the scenes in nuvie too, or put them in some other script format
[22:32:06] <SB-X> i was researching that a month ago
[22:32:06] <wizardrydragon> By intro, you mean the narrative? Or the semi-scripted bit in LBs throne room?
[22:32:18] <SB-X> shape scene animation is a pretty large new feature to add
[22:32:20] <luteijn> narrative.
[22:32:39] <SB-X> there is no scripted bit in the throne rome
[22:32:43] <SB-X> room*
[22:32:53] <luteijn> nuvie handles that. It's conversation script driven.
[22:33:10] <wizardrydragon> Really? That seems a little strange a way of doing it, but if the shoe fits..
[22:33:11] <SB-X> I've pondered having the conversation start right after you beat the gargoyles though.
[22:33:25] <wizardrydragon> SB-X: People might not like that.
[22:33:36] <wizardrydragon> Might wanna loot corpses first :P
[22:33:39] <luteijn> basically nuvie currently is a game.exe replacement. But the other u6 executables like intro, install endgame etc are not there yet.
[22:33:40] <SB-X> true, it makes sense though
[22:33:53] <SB-X> it doesnt make sense that LB doesnt help you a little though
[22:34:06] <SB-X> with his invincibility and magic bolts :p
[22:34:11] <wizardrydragon> SB-X: and less sense that his guards dont
[22:34:15] <luteijn> Wha tif you let the gargoyles escape when wounded... or just talk to lord B. while your party kills the gargoyles?
[22:34:38] <SB-X> dont start the conversation if LordB is_met
[22:34:47] <wizardrydragon> SB-X: youd think his guards would spring forward to defend their kng ffrom the "demons:
[22:34:47] <luteijn> (I always jsut talked to LB right away, so he could at least heal..)
[22:35:01] <SB-X> hehe yeah
[22:35:16] <SB-X> i think the FMTowns version automatically ends combat mode when they are defeated
[22:36:48] <wizardrydragon> Well I have just a *wee* bit opf experience coding UCC so if you guys briefed me a bit on the scripting system you guys use I could probably help in that area
[22:36:59] <SB-X> we havnt built it yet
[22:37:10] <wizardrydragon> Ah.
[22:37:14] <SB-X> what we are planning to use is described here: http://www.lua.org
[22:37:21] <wizardrydragon> I can definetely help with it then :)
[22:37:55] <luteijn> actually Eric has some of it working already, isn't it? or was that 'Locate'-spell just a mock-up?
[22:38:03] <wizardrydragon> Hmm
[22:38:13] <wizardrydragon> A whole programming langhuage seems a bit overkill ^_^;
[22:38:33] <SB-X> luteijn: im not sure if it was a mockup, but we'll probably hook up magic first
[22:38:38] <wizardrydragon> Although, if I were to take a scripting language, I prefer python myself...
[22:38:56] <SB-X> lua is supposedly flexible enough to be used as a simple scripting language to extend a larger application
[22:39:06] <SB-X> its also much smaller than python so we can distribute it with nuvie
[22:39:14] <wizardrydragon> Hmm. i wouldn't know, I've never used it.
[22:39:36] <SB-X> the entire lua package is less than 200Kbytes in size
[22:39:37] <wizardrydragon> I'll poke around with it a bit.
[22:39:41] <luteijn> everyone has a favorite scripting language.. Nothing wrong with any of them.
[22:40:05] <wizardrydragon> I just prefer Python because of the familiarity I have with it, not saying its better or anything :)
[22:40:52] <wizardrydragon> I could probably easily code some of the easier game-related constructs, I'd just need to know how to "hook" them into the game, per se.
[22:40:54] <SB-X> the documentation section of the lua website has links to the "manual" and the "book" on programming lua
[22:41:10] <SB-X> im not sure which one is better to read, as I've only started reading the book
[22:41:24] <luteijn> as soon as we have a few working scripts, you could probably extend them..
[22:41:24] <SB-X> which one is a better introduction*
[22:41:58] <SB-X> wizardrydragon: if you want to add new C usecode functions now that's fine too
[22:42:25] <wizardrydragon> The easiest way would be just to have a simple call in lua translate to a function in the game engine
[22:42:28] <SB-X> we're not moving all the usecode to lua right away
[22:42:32] <wizardrydragon> Thats how UCC handles it
[22:43:06] <SB-X> that doesnt sound like UCC to me, it's a complete scripting language too
[22:43:25] <wizardrydragon> For example, a converse["bye", "name", "job"] call in ucc just calls the conversation function in Exult passing the options specified
[22:43:26] <SB-X> with only occasional calls to game engine functions
[22:43:46] <SB-X> ah, you mean for the keywords
[22:44:06] <wizardrydragon> Indeed I do.
[22:44:07] <SB-X> well i dont know how one goes about integrating lua into an application... Yuv422 is working on that
[22:44:17] <wizardrydragon> Ah.
[22:44:20] <SB-X> that would be nice if we could have our own keywords
[22:44:44] <wizardrydragon> I could probably code that, I'll wait until the integration side is stable, though, don't want to break anything if I can help it :)
[22:44:47] <SB-X> the book did hint at lua being very "domain specific" in that regard, so that people that use lua for a specific purpose don't even need to know that lua is also a general programming language
[22:45:36] <wizardrydragon> Indeed.
[22:45:46] <wizardrydragon> What kind of keywords would you like, SB-X?
[22:45:51] <luteijn> SB-X: is the conversation engine flexible enough to handle ad-hoc conversations. We don't need it for U6, but maybe for anything 'original' made in the future..
[22:46:07] <SB-X> wizardrydragon: no idea yet, what lua has is fine for now
[22:46:24] <wizardrydragon> I just thought that in the meantime I can see how those behave in the original U6 to think about implementing them
[22:46:46] <wizardrydragon> I do know one thing Marzo and I changed in TFL from normal Exult/U7 was the way the spells were handled.
[22:47:04] <luteijn> (use 'walkie-talkie'- you get Lord British on the horn. conversation engine starts, sets some values for lua to read back later)
[22:47:14] <wizardrydragon> The spellbook is now a "container" which can handle X spells of a circle; makes adding new spells much simpler
[22:47:33] <wizardrydragon> I don't know if the U6 spellbook was coded in the same way as U7 though
[22:47:39] <luteijn> or maybe that speak with the dead spell..
[22:47:53] <luteijn> u6 spellbook is a bag.
[22:47:54] <wizardrydragon> But the U7 one was jsut a boolean array, you had a spell or you didnt
[22:48:01] <SB-X> luteijn: theres no support for that anywhere, but you can "talk" to any script, and set global variables
[22:48:06] <luteijn> spells objects go in the bag,.
[22:48:27] <wizardrydragon> Ah
[22:48:32] <wizardrydragon> See that's the way it should be :P
[22:48:39] <wizardrydragon> U7 didn't do it that way though.
[22:48:42] <luteijn> see http://luteijn.xs4all.nl/nuvieki/TechnicalDocumentation/MagicSystem
[22:48:47] <SB-X> doesnt u7 have usecode containers?
[22:48:55] <SB-X> or at least one
[22:49:10] <wizardrydragon> SI does
[22:49:11] <wizardrydragon> BG doesnt
[22:49:35] <wizardrydragon> SI just uses a more GUI-intensive version of the BG spellbook, however
[22:49:45] <SB-X> right now we only have a limited number of spells per circle
[22:50:13] <wizardrydragon> We do too; but yhou can have anyh combination of them so long as it does not exceed the limit.
[22:50:16] <SB-X> but we aren't near reaching that limit if we wanted to add new spells
[22:50:29] <SB-X> ah k
[22:50:43] <wizardrydragon> I have a question
[22:51:03] <wizardrydragon> Did any of the NPCs in U6 cast spells? I can't remember if they did or not.
[22:51:20] <wizardrydragon> I think Mariah could join you? I don't know, it's been a few years since I've played..
[22:51:36] <luteijn> no
[22:51:40] <SB-X> i dont remember! you could make them by controlling them
[22:51:51] <luteijn> they didn't REALLY cast spells that is.
[22:51:52] <SB-X> make them do so
[22:52:00] <wizardrydragon> it'd probably be worth coding it so NPCs can cast spells on the system end
[22:52:02] <SB-X> luteijn: could you cast spells with them in command mode?
[22:52:04] <luteijn> but they had spell-like abilities they used to emulate them.
[22:52:10] <luteijn> SB-X: yes
[22:52:15] <wizardrydragon> you have no ideas the headaches Marzo's going through to make that happen in Exult... :P
[22:52:24] <SB-X> ok, yeah if they have the MP
[22:52:31] <SB-X> hehe
[22:52:43] <luteijn> and conversation scripts could emulate spells like resurrect heal etc.
[22:52:46] <wizardrydragon> the engine doesn't allow it, so we have to usecode a way around it :P
[22:52:52] <SB-X> i think some NPCs might cast spells, like dragons and mages
[22:53:08] <SB-X> and others like tangle vines have a magic-like ability
[22:53:13] <luteijn> it's not spells the same way you cast them though, sdince they have no spellbook
[22:53:14] <wizardrydragon> But are they spells, or do they have spell items, as U7?
[22:53:27] <SB-X> some have spell charges
[22:53:48] <SB-X> luteijn: that's true... the spells they can cast are hardcoded in the monster structure
[22:54:00] <wizardrydragon> ouch.
[22:54:00] <SB-X> in the monster tables
[22:54:06] <luteijn> they have special objects to flag that they can 'innately' cast those spells ('cha' object)
[22:54:16] <luteijn> they don't use reagents etc when using those.
[22:54:29] <luteijn> see http://luteijn.xs4all.nl/nuvieki/TechnicalDocumentation/MonsterStatistics
[22:54:37] <SB-X> i have a design nearly ready for a MonsterSpells table (more hardcoded data) using information from the original docs
[22:55:05] <wizardrydragon> maybe you could move that to a text or data file that Nuvie reads?
[22:55:06] <luteijn> those are not complete, nor verified to be correct though..
[22:55:13] <wizardrydragon> having hardcoded stuff is icky :P
[22:55:26] <SB-X> wizardrydragon: eventually, but I really want to get the functionality in first
[22:55:35] <luteijn> I don't liek hardcoded/compile time options.
[22:55:48] <luteijn> but yeah, first get it in as a table, then as a configurable option
[22:56:32] <wizardrydragon> Poor Marzo going back and trying to dehardcode three-plus years of hardcoded tables ... :P
[22:56:33] <SB-X> since I havnt added it yet then it doesn't matter how it goes in first...maybe I'll just add it to my own copy, test that it works, and move it to datafiles
[22:57:02] <wizardrydragon> Indeed, that would work
[22:57:09] <SB-X> most of our hardcoded data is in the same place isn't it?
[22:57:18] <SB-X> at least, the same few files?
[22:57:26] <SB-X> except for strings
[22:57:42] <luteijn> hmm I prefer often and early commits to CVS though, so other can play with it, and it doesn't sit on your harddisk for months if you get ill/something else to do more urgently ;)
[22:57:58] <wizardrydragon> Lol
[22:58:06] <wizardrydragon> I dont have that problem :)
[22:58:16] <wizardrydragon> I am the kind that commits five or six times a day :P
[22:58:31] <SB-X> im trying to get used to more frequent CVS commits because I've learned how annoying it is to have a ton of uncommitted code lying around that keeps getting more out of sync
[22:58:31] <wizardrydragon> the poor TFL CVS never saw it coming..
[22:58:40] <luteijn> (as long as the code compiles and doesn't crash on start up, I usually commit it soon)
[22:58:57] <wizardrydragon> Hehe
[22:58:59] <SB-X> ...the longer you dont commit it, and work on other things instead which you cant easily commit because you have unfinished code
[22:59:00] <luteijn> cvs works well if you cvs update often. at least you nip conflicts in the butt.
[22:59:15] <wizardrydragon> in the bud, you mean? Lol
[23:01:29] <luteijn> well conflicts are a pain in the ass ;)
[23:01:33] <wizardrydragon> LOL
[23:01:38] <wizardrydragon> True
[23:01:44] <SB-X> its like wiki, we can revert changes or look at the update messages to see what changed when necessary
[23:01:47] <wizardrydragon> Especially since I don't have a merge application :P
[23:01:56] <SB-X> how do you merge then?
[23:02:19] <wizardrydragon> I take one file in one ConTEXT tab and the other in another, and do it by hand :P
[23:02:30] <SB-X> I just now resolved a bad conflict in actors/U6Actor.cpp where the new object switch was added to move()
[23:02:39] <SB-X> oh ok
[23:03:01] <luteijn> did that conflict with the map wrapping changes?
[23:03:05] <wizardrydragon> I <3 ConTEXT :)
[23:03:10] <SB-X> no
[23:03:19] <luteijn> I AssHat ConTEXT ?
[23:03:26] <SB-X> just with some of my new additions to move
[23:03:29] <SB-X> lol
[23:03:50] <luteijn> Oh you need to rotate <3 the other way around..
[23:03:53] <SB-X> (it's a heart)
[23:04:20] <luteijn> :-) rotates CW so I rotated <3 CW too, got a little ass with a hat on it..
[23:04:29] <wizardrydragon> lol
[23:06:33] <SB-X> luteijn: I like what you're doing with Nuvieki, but have you thought about how we should synchronize knowledge between DOCS and the wiki? Which repository do we prefer for adding new research findings or data to?
[23:06:48] <servus> \m/ (>.<) \m/
[23:06:51] <servus> Rock out, Avatar style.
[23:07:16] <wizardrydragon> Lol!
[23:07:47] <luteijn> SB-X: I try to put Works in progress in the WIKI, and when it's more or less done into the docs files.
[23:08:05] <luteijn> since no-one bothered to update the docs for years, I don't think that's a big problem..
[23:08:45] <SB-X> Ok that's a good suggestion so I'll start doing that. Otherwise my notes just stay on my computer and I forget to complete them and update the docs as you point out. ;)
[23:08:47] <luteijn> Aslo, the wiki is just plaintext files in the end so they can easily be exported to cvs..
[23:09:27] <luteijn> Yes, please add any notes you have to the wiki. then someone else can pick up where you left off, or correct mistakes.
[23:10:30] <luteijn> Don't worry too much about the layout, just dump it in first. if you have a ascii art table etc. just enclose it in {{{ }}} and it will be treated as 'code' (fixed width font etc.)
[23:11:11] <SB-X> ok, i'll add any that are a) still relevant, and b) aren't complete enough that I should be updating them in DOCS instead
[23:11:52] <luteijn> If you update the docs, cut and paste it in the wiki too, so it can be crossreferenced.
[23:12:03] <SB-X> and you can help me finish prototype code designs easier on the wiki
[23:12:35] <luteijn> yes. I started with the wiki to be able to co-laborate on the tileflags, for instance.
[23:12:56] <luteijn> (unfortunately (depending how you look at it), I already finished most of that reasearch ;) )
[23:13:02] <SB-X> do you want a mirror of DOCS on the wiki?
[23:13:16] <SB-X> or just links
[23:13:41] <luteijn> mirror. The WIKI version could be slightly better too, with table makeup and inlined images.
[23:14:06] <SB-X> ah k
[23:14:10] <SB-X> yeah, like the objlist
[23:14:45] <luteijn> it was 'fun' to make the tileset overview.
[23:14:47] <SB-X> maybe in the ToC/index of pages (is there one) the mirrored docs should be in a different area
[23:15:03] <SB-X> heh
[23:15:11] <luteijn> some programs don't handle pictures 16 pixels wide by 65768 pixels high
[23:15:23] <SB-X> "fun" fun or "fun" as in what a wisp would consider fun? :p
[23:15:32] <luteijn> you can make sub pages, like in the technicaldocs section..
[23:15:42] <luteijn> the wisp way ;)
[23:15:46] <wizardrydragon> LOL
[23:16:06] <SB-X> 'This one' acknowledges 'your' clarification. Thanks.
[23:16:32] <SB-X> or 'I' if you prefer...
[23:16:51] <SB-X> we need a ToC if there isnt one
[23:17:32] <luteijn> I had a nice 16x32768 strip of tiles but lots of windows stuff bombed out on it. esp when I changed it to 32x65536 pixels...
[23:17:43] <SB-X> since it's a wiki, I'll feel free to add one when I have time
[23:18:00] <luteijn> [[TableOfContents]] macro lists all chapters of a page. there's an index thingy too.
[23:18:19] <SB-X> i thought you were using your tileset created for u6o
[23:18:28] <SB-X> ok
[23:18:45] <luteijn> I recreated it because I wanted to line them up with the tileflags.
[23:19:00] <luteijn> IE doesn't handle transparant pngs properly...
[23:19:31] <luteijn> http://luteijn.xs4all.nl/nuvieki/TechnicalDocumentation/TileFlag
[23:24:57] <SB-X> is it easy to add links
[23:25:11] <luteijn> yes
[23:25:40] <SB-X> "the original editor" should link to those screenshots
[23:26:14] <SB-X> and "old docs" could link to those if we put them on the wiki
[23:26:56] <SB-X> i have them in text format if you want me to upload them
[23:27:12] <luteijn> just type the WikiName or url etc. I can put the screenshots, but maybe there's copyright issues? Well it's for educational purposes.
[23:27:19] <luteijn> just put it in ;)
[23:27:40] <SB-X> the only people that could complain would be ACE magazine
[23:27:42] <-- Dark-Star has left IRC ()
[23:27:47] <SB-X> i dont think they'll hear about it
[23:27:49] <luteijn> I have the screenshots already, I'll add them to the wiki.
[23:27:55] <SB-X> ok great
[23:34:59] <luteijn> http://luteijn.xs4all.nl/nuvieki/AceArticle
[23:36:05] <SB-X> nice
[23:36:23] <SB-X> the pages are out of order though (the original filenames are numbered incorrectly)
[23:36:50] <wizardrydragon> lol
[23:37:01] <SB-X> no, im sorry its right
[23:37:02] <luteijn> yes, I noticed, so I reordered them Although it's almost two separate articles anyway
[23:37:09] <SB-X> yeah
[23:37:14] <SB-X> YOU ordered them correctly
[23:37:22] <luteijn> yes.
[23:37:39] <SB-X> i forgot that the original article seemed out of order, with the editor on the first page and the article on the second
[23:37:47] <luteijn> but I had them the otherway round in the first revision , then checked the pagenumbers as it looked weird
[23:37:59] <SB-X> but thats just the way it is
[23:38:05] <luteijn> (the dog ears didn't match with normal reading order)
[23:38:30] <SB-X> you can tell its on the same page too because you can slightly see the other side ofthe pages :)
[23:39:05] <SB-X> dog ears and page numbers
[23:39:15] <wizardrydragon> brb, gonna try a different IRC client
[23:39:22] <-- wizardrydragon has left #nuvie ()
[23:43:02] <luteijn> hmm with those pages as attachments they probably don't get cached, so it's pretty slow to look at those pages.
[23:44:28] <SB-X> Someone else saved this page while you were editing!
[23:44:55] <SB-X> at least I used preview :)
[23:45:23] <luteijn> hmm which page, the Ace one?
[23:45:25] <SB-X> linking to an image automatically inlines it?
[23:45:26] <SB-X> yes
[23:45:29] <SB-X> i was adding links
[23:45:34] <SB-X> but they ended up being inline images too
[23:46:03] <SB-X> maybe because I was using the wikipedia style [link] instead of just url as you said to do
[23:46:07] <luteijn> if you link to an image it gets dispalyed, but I added thems attachements to the page originally. Just save your version
[23:46:32] <luteijn> I'll put my changes in again when you're done. links like you do them are ok.
[23:46:53] <SB-X> oh ok, why did it inline them?
[23:47:23] --> wizardrydragon has joined #nuvie
[23:47:26] <luteijn> that's what it wants to do with links to images. because that's what it assumes you usually want to do
[23:47:29] <wizardrydragon> hey
[23:47:49] <SB-X> wb wizardrydragon
[23:47:54] <wizardrydragon> :)
[23:47:59] <SB-X> luteijn: how do you prevent that?
[23:48:03] <luteijn> I did attachment:blah.jpg which is slightly different, it will ahve a copy in the wiki, instead of referring you to the outside website.
[23:48:38] <SB-X> i want a visible url link
[23:48:48] <SB-X> to credit/point to the original source
[23:48:57] <luteijn> http://luteijn.xs4all.nl/nuvieki/HelpOnLinking I think explains it.
[23:49:06] <SB-X> Hey, I just noticed that the "80's artwork" in the introduction sequence is different in those screenshots!
[23:49:08] <SB-X> ok
[23:50:48] <luteijn> the shot was taken at 4:01 :)
[23:51:22] <SB-X> good observation! during another late night coding session perhaps
[23:51:30] <luteijn> or 4PM ;)
[23:51:49] <SB-X> oh thats true, forgot about AM/PM
[23:52:11] <luteijn> there's some small differences in the tileset as well (the large monster egg, 'FF' forcefield)
[23:53:38] <SB-X> it only says the URL will be converted to an image tag
[23:53:42] <SB-X> it doesn't say how to prevent that
[23:54:30] <luteijn> remember to preview at least once every 10 minutes or your 'lock' will time out)
[23:55:12] <SB-X> ok
[23:55:19] <luteijn> [http://blah.com/aap.jpg http://blah.com/aap.jpg] ?
[23:55:50] <SB-X> nope, same thing
[23:56:09] <luteijn> oh that just seems to work becuase the example is broken..
[23:56:20] <SB-X> hehe
[23:56:51] <SB-X> i see that now, but wasnt sure if "url label" meant url AND label or "the url label"
[23:57:35] <luteijn> well we wanted the url to show up in full glory, so use it as the label too. but it's more of an 'alt' tag, I guess.
[23:58:23] <SB-X> that's probably what it does
[23:58:35] <SB-X> i'll just leave it commented out and fix it later
[23:58:41] <SB-X> so I can continue working on nuvie
[23:58:42] <wizardrydragon> lol
[23:59:04] <SB-X> how do comments work? :)
[23:59:22] <luteijn> just {{{ }}} the section ;)
[23:59:53] <SB-X> even better! thanks