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

Archive Today Yesterday Tomorrow
Nuvie homepage


[02:16:08] <EsBee-Eks> Argh! Now that I added status_flags check to Actor::is_sleeping(), nobody can move because everyone has ACTOR_STATUS_ASLEEP set!
[02:37:09] <EsBee-Eks> even in a new game
[02:47:40] <-- ChanServ has left IRC (Shutting Down)
[02:48:02] <-- EsBee-Eks has left IRC ("*casts gate travel*")
[02:48:12] --> ChanServ has joined #nuvie
[03:29:18] <-- ChanServ has left IRC (Shutting Down)
[03:29:47] --> ChanServ has joined #nuvie
[03:33:52] <-- ChanServ has left IRC (Shutting Down)
[03:34:21] --> ChanServ has joined #nuvie
[11:27:31] <-- Kirben has left IRC ("System Meltdown")
[11:33:04] --> Kirben has joined #nuvie
[12:47:39] --> SB-X has joined #nuvie
[13:46:56] --> Yuv422 has joined #nuvie
[13:51:24] <SB-X> hey yuv
[13:51:30] <Yuv422> ChangeLog
[13:51:39] <Yuv422> *hint* *hint*
[13:51:42] <SB-X> what
[13:51:44] <Yuv422> hey SB-X
[13:51:44] <SB-X> oh, yeah
[13:51:47] <SB-X> i was going to
[13:51:51] <Yuv422> :)
[13:51:52] <SB-X> but i got tired of writing
[13:52:01] <Yuv422> hehe
[13:52:14] * Yuv422 preferes features to changelog entries anyway
[13:52:56] <Yuv422> I was going to add status flag saving but I forgot about it
[13:53:04] <SB-X> everything is in the cvs messages... ill copy some of it to the changelog after finishing Rest and committing it to cvs
[13:53:14] <SB-X> it looks like ACTOR_STATUS_ASLEEP is wrong :(
[13:53:20] <Yuv422> ah k
[13:53:31] <Yuv422> very wrong?
[13:54:45] <SB-X> everyone is is still frozen, even after I started saving the correct flags
[13:55:00] <Yuv422> hmm there is some cursor corruption
[13:55:00] <SB-X> see the #nuvie logs
[13:55:08] <SB-X> oh yeah I fixed that locally
[13:55:13] <Yuv422> cool
[13:55:50] <Yuv422> hmm
[13:55:57] <SB-X> s/cursory++;/if(cursor_y+1 < scroll_height)cursory++;/
[13:56:02] <Yuv422> one of my party turned into a shrine
[13:56:05] <SB-X> cursor_y*
[13:56:22] <SB-X> youll have to take a loot at that because I have no idea what I'm doing there :)
[13:56:28] <SB-X> was it mondain?
[13:56:31] <SB-X> look*
[13:56:37] <Yuv422> I think so
[13:57:07] <SB-X> mentioned in the logs too
[13:57:14] <SB-X> i think
[13:57:30] <Yuv422> iolo turned into the human lens
[13:57:32] <SB-X> at least, I mentioned that they don't wake up properly
[13:57:34] <SB-X> hehe
[13:57:43] <Yuv422> they are all seated
[13:57:45] <Yuv422> ;-)
[13:57:53] <Yuv422> like you said in the logs
[13:58:14] <Yuv422> and I can't select who will guard
[13:58:24] <SB-X> try the number keys
[13:58:52] <Yuv422> ah k
[13:59:09] <Yuv422> also it's not updating the sun moon strip while their sleeping
[13:59:26] <SB-X> look at Party::rest_sleep and TimedRest::sleep (really need to move these together) to see where it tries changing frames
[13:59:39] <SB-X> ok, i'll add updateTime to TimedAdvance
[14:01:34] <SB-X> Sleeping and waking up should be working fine because all I'm doing is changing worktype. I'm probably doing something wrong in changing musician to musician playing music, however.
[14:15:22] <-- Yuv422 has left IRC (Read error: 110 (Connection timed out))
[14:17:27] --> Yuv422 has joined #nuvie
[14:23:00] <SB-X> wb
[14:23:37] <Yuv422> ty
[14:23:48] <Yuv422> again I didn't even know I was gone
[14:25:12] <Yuv422> time for bed
[14:25:19] <Yuv422> cya
[14:25:19] <-- Kirben has left IRC (Connection timed out)
[14:25:35] <SB-X> ok
[14:25:36] <SB-X> cya
[14:25:52] <Yuv422> I'll do some more work tomorrrow
[14:25:55] <Yuv422> bye
[14:25:58] <-- Yuv422 has left IRC ()
[14:27:39] <-- SB-X has left IRC ("brb")
[15:03:26] --> SB-X has joined #nuvie
[15:34:41] <SB-X> heh, if I load a new game twice, the gargoyle egg doesn't hatch
[15:35:20] <SB-X> actually it's just not updating actors immediately when loading a new game
[18:37:46] <luteijn> next time the website is updated (it's been a while ;) ) might as well spell "Nuvie" correctly in the links.template...
[18:44:26] <luteijn> also: DollWidget.cpp:292: error: `assert' undeclared (first use this function)...
[18:49:41] <luteijn> (InventoryWidget too)
[18:55:07] <SB-X> haha, thanks for the reminder
[18:55:21] <SB-X> i can't edit the website though
[18:57:11] <SB-X> i've added the missing cassert include in DollWidget.cpp
[18:57:44] <SB-X> don't know how long anonymous cvs takes to update but you've probably added it already
[19:02:47] --> Yono has joined #nuvie
[19:02:55] <Yono> hi
[19:02:59] <SB-X> hello
[19:03:28] <Yono> anyone here go by the username efry?
[19:03:59] <SB-X> not at the moment
[19:04:18] <Yono> hmm, thats too bad
[19:04:50] <Yono> i was wondering about a post on a forum about a Nuvie port by someone named efry
[19:04:58] <Yono> http://www.gp32x.com/board/index.php?showtopic=23612
[19:05:47] <SB-X> yeah he's in australia and comes in the channel later
[19:06:49] <Yono> hmm, bout 5 am there
[19:06:53] <Yono> ok
[19:06:59] <luteijn> afaik he's not actively keeping the gp2x version up to date.
[19:07:19] <SB-X> that's a nice picture of nuvie on the gp2x though :)
[19:07:30] <Yono> yes it is
[19:08:16] <luteijn> btw eric/efry is Yuv422 here.
[19:08:28] <Yono> ok, thanks
[19:09:13] <Yono> I was just updating the community wiki and am trying to tie up some loose ends
[19:10:27] <SB-X> ok
[19:11:28] <luteijn> we might be able to answer too.. which loose ends?
[19:13:52] <Yono> if he had any beta binaries he wouldn't mind releasing
[19:14:06] <Yono> or if the project is just suspended indefinitely
[19:16:32] <luteijn> the project as a whole progresses by jumps and starts; Eric was mostly working on researching the workings of the original the last few months. I think after his proof of concept for the 2x, he's first concentrating on getting nuvie more finished before adding gp2x specific stuff.
[19:17:19] <luteijn> http://www.math.leidenuniv.nl/~wpalenst/nuvielog.php?log=24Dec2005 has some info on what he did to make it run on the 2x
[19:19:31] <SB-X> In any case, the progress of the gp2x port depends on the main project, and we want to improve some other engine features (like combat) first.
[19:20:14] <Yono> makes sense
[19:21:19] <luteijn> I think I actually built my own gp2x version of nuvie back in december, http://luteijn.xs4all.nl/html/gp2x/nuvie/ has some stuff floating around. I think I never really got it to work but not sure anymore ;)
[19:26:57] <Yono> i see a gpe file there
[19:27:06] <Yono> i'll try to get it working
[19:29:59] <luteijn> I think one of the missing ingredients to that attempt of mine was some uninterrupted hacking time..
[19:30:11] <Yono> still have that problem?
[19:31:14] <luteijn> yes; I sometimes have some free time at work, but I can't go around plugging in weird usb devices to the pcs here.. ;)
[19:36:23] <Yono> haha, makes sense
[19:38:18] <Yono> it's too bad though
[19:38:35] <Yono> exult and nuvie on a portable device would have been pretty sweet
[19:44:54] <luteijn> hmm seems sourceforge replication is quicker now: the DollWidget has been updated on anon cvs, Inventory widget still missing the assert include (did you add it there too?)
[19:49:28] <SB-X> no, i missed that :)
[19:50:04] <SB-X> now I have
[19:51:47] <luteijn> looks like it's updated immediatly..
[19:55:27] <SB-X> cool
[19:59:10] <luteijn> heh.. tried to cast unlock magic, forgetting that magic is not working that well.. that would probably be a nice spell to add soon.
[20:00:15] <SB-X> I really want to add a few magic spells soon. :)
[20:00:21] <SB-X> that one first
[20:02:05] <SB-X> ex por and kal lor
[20:02:35] <SB-X> "Help" takes up magic points too. I'd forgotten about that.
[20:03:34] <luteijn> actually those were the two I was trying and ending up getting my own 'this is the xxx spell stub' messages for ;)
[20:03:54] <SB-X> hehe
[20:04:04] <SB-X> I'll do it after Rest is working.
[20:04:31] <SB-X> need to add ability to call effects from magic, and get input in the form of text or Map coords (or actor or object?)
[20:06:00] <luteijn> I think those were some of the things I ran into when adding the magic system. At least for create food you don't need any of that ;)
[20:06:38] <SB-X> nope, I see that works
[20:06:49] <SB-X> it should create the "cast magic" effect
[20:07:29] <SB-X> and the palette effect
[20:07:34] <luteijn> hmm and maybe a sound effect? can't remember
[20:08:20] <SB-X> yeah that's true
[20:12:30] <luteijn> most spells seem easy to implemented at first but then you realize they need to select a target, direction or interact with existing things in new ways..
[20:16:19] <SB-X> and I hardly used magic at all in U6 :\
[20:17:01] <SB-X> but having a savegame with all spells and the original magic documents someone posted on the forum helps
[20:17:19] <SB-X> once I add the target selection it should be much easier :)
[20:17:32] <SB-X> the effects don't need to be added right away
[20:17:39] <luteijn> for all spells I just dial up a scroll with quality 255 :)
[20:17:56] <SB-X> that may be what PaulonDragon did
[20:18:13] <SB-X> you get 99 uses by all spells except armageddon which has 1 use
[20:18:48] <SB-X> do any spells take a direction?
[20:19:15] <luteijn> I think rel hur does, but it might be inferred from the location you cast it on..
[20:21:20] <SB-X> it does
[20:21:36] <SB-X> how do you want to refer to unique objects?
[20:22:03] <luteijn> in what context?
[20:22:23] <SB-X> let's say you want to select an object on the screen and then manipulate it some way
[20:23:13] <SB-X> How will you access it from the script, after selecting it? In the engine we'd use an Obj pointer.
[20:23:33] <SB-X> for actors you can just use actor num since they are unique
[20:24:16] <luteijn> hmm let's check wha tI already have in. probably we could use the Obj pointer as a number..
[20:24:43] <SB-X> that sounds fine to me
[20:25:11] <SB-X> i dont think you have any spells that handle objects that don't use objnum
[20:25:44] <SB-X> will we need different functions that take a pointer from the stack instead of an objnum?
[20:25:53] <SB-X> of course they'd be different functions but will they have the same script name?
[20:26:06] <luteijn> or do something like 'acquire_target' to store the target in the magic script, and just refer to it implicitly?
[20:26:35] <SB-X> you'd refer to it by target number then?
[20:26:55] <SB-X> if you want to push the aquired target onto the stack for some other function
[20:27:44] <SB-X> there is already a MapEntity class that can point to an object, actor, or animation
[20:27:46] <luteijn> yess, or just as 'the' target. But I'm looking at what I've already got (since it was written about 2 years ago I've forgotten most of it) and I seem to "stack->pushptr(obj)" already
[20:28:00] <SB-X> ah k
[20:28:53] <luteijn> look at function_give_obj, function_delete_obj etc.
[20:28:56] <SB-X> some spells may act on multiple objects (don't know any since I'm mostly unfamiliar with what spells are available)
[20:28:59] <SB-X> ok
[20:33:48] <luteijn> you'll probably be adding more 'function_xxx's to the Magic class. the tools/ftbl.sh will help to get a function table (there's a small comment referring to it)
[20:34:43] <luteijn> and when editing the spells.nsl file, if you use vim, syntax highlighting in tools/nsl.vim might help making the lists more readable.
[20:39:01] <luteijn> in the create food spell I just push 'caster' on the stack to indicate who is getting the food. Something similar could be done for 'target'..
[20:40:39] <SB-X> yeah, we'd still use obj pointers
[20:41:06] <SB-X> what if you want to save it and get another target? then you'd need to refer to the object directly
[20:41:31] <SB-X> hmm, does the magic engine have local variables? :)
[20:42:30] <luteijn> I don't think any of the real spells do that, but you might wan to give the engine the flexibility. actually look at bool Magic::function_string2npc() which translates 'target' to a pointer and pushes that.
[20:42:41] <SB-X> ok
[20:43:47] <SB-X> a good thing about using 'target' is that we can derive a target before casting, and then cast on that target without selecting it again
[20:44:26] <luteijn> that's probably what I had in mind, something like 'function_get_target()'
[20:45:25] <luteijn> and I guess there's quite a few local variables used in the magic-engine. one of them is Obj *target_object :)
[20:45:46] <luteijn> looks like I did think a lot of this through before, then forgot..
[20:45:50] <SB-X> er, available to scripters
[20:46:00] <SB-X> scriptors
[20:46:04] <luteijn> they have a stack ;)
[20:46:38] <SB-X> if I add variables would you prefer they be sort of global to the magic-engine, or stored on the stack?
[20:46:55] <luteijn> we could give them some 'registers' to play with too.
[20:47:02] <SB-X> or that too
[20:47:05] <SB-X> that would be sort of global then
[20:47:54] <luteijn> It's probably easy to push a name for the variable on the stack, a value to assing to it and call a function_set_var()
[20:49:33] <SB-X> it would be nice if names were automatically converted to the stack position by the script parser, instead of having to set them up with a function
[20:50:04] <luteijn> most of the spell scripts can probably live without real variables though the programmer (you) will have to change their way of thinking a bit ;) maybe at first just add 16 'registers' (private member variable of magic)
[20:50:06] <SB-X> you could prepend them with $ or # like the talk engine does
[20:50:19] <SB-X> registers is fine
[20:50:53] <SB-X> i don't even need 16
[20:50:53] <luteijn> the way the interpreter works most things are a function, but yes a magic_prefix like (_) would work to
[20:52:23] <luteijn> once you have 1 you probably want 2. use inductive proof to prove you'll need infinite variables :)..
[20:52:42] <SB-X> hehe
[20:53:35] <luteijn> but a reasonable number of register might make the scripts a lot more readable, and quicker as you avoid all kinds of dup, over, rot etc. manipulations of the stack
[20:53:56] <SB-X> as long as we give them sensible names
[20:54:14] <SB-X> is there a mov instruction?
[20:54:30] <SB-X> do you happen to have a screenshot from the FM-TOWNS U6 handy?
[20:58:07] <luteijn> don't have an fm towns..
[20:58:21] <luteijn> mov instruction to do what?
[20:58:45] <SB-X> put something into the registers
[20:59:33] <SB-X> oh, you could put it on the stack and then pop it into the register
[20:59:37] <SB-X> but that's two instructions
[21:01:07] <luteijn> well the registers are still vaporware.. but I guess it would be push value, push register-number/name call stack_to_register function...
[21:01:39] <luteijn> that way when we get general varaibles we don't need to change the way they're used by the scripter.
[21:02:59] <SB-X> I was asking if there was already a "mov" but since there are no registers or variables, I guess it wouldn't have had much to do. :)
[21:03:09] <luteijn> http://sourceforge.net/tracker/download.php?group_id=76419&atid=547066&file_id=102931&aid=1035500 japanese u6
[21:03:27] <luteijn> linked from http://sourceforge.net/tracker/index.php?func=detail&aid=1035500&group_id=76419&atid=547066
[21:03:54] <SB-X> thanks!
[21:03:59] <SB-X> that's what I was looking for
[21:04:08] <SB-X> you don't have to have an fm towns to have screenshots from fm towns u6 :)
[21:04:25] <luteijn> googled for nuvie fm-towns screenshot ;)
[21:04:47] <SB-X> i didn't think to add nuvie to the google search keywords
[21:06:29] <SB-X> I made a mockup of the possible future Nuvie interface, and wanted to see again how FM-TOWNS U6 handled the keywords box. The one on the mockup already looks like that without me having to look at the screenshot. (maybe I remembered seeing it before)
[21:06:48] <SB-X> well, it looks like that insofar as it's a scroll
[21:06:58] <SB-X> but it's centered in a talk dialog
[21:07:12] <SB-X> on a talk dialog with the talk scroll and portrait
[21:08:00] <luteijn> looks like the extra 40 pixels in the gp2x version can be used for this scroll.
[21:08:13] <SB-X> yes
[21:08:21] <SB-X> no reason it can't be 320x240 on the PC either
[21:09:11] <luteijn> the japanese one probably is 640x480 actually, or you can't get the characters so hair-thin..
[21:12:34] <SB-X> i read somewhere that they layered two modes together
[21:12:54] <SB-X> 320x240 with 16bit color, and 640x480 with 16 colors
[21:13:51] <luteijn> http://nuvie.sourceforge.net/phorum/read.php?f=1&i=265&t=265 <- dominus' message to the nuvie forum with links to the tracker. also has another set of screenshots for the keyword helper: http://sourceforge.net/tracker/index.php?func=detail&aid=1035495&group_id=76419&atid=547066
[21:14:53] <SB-X> right, thanks
[21:15:00] <SB-X> I also like your feature request to use worldmap.bmp.
[21:15:23] <SB-X> it might be used as a teleport map
[21:15:36] <luteijn> [going home so won't be able to reply real-time anymore]
[21:15:46] <SB-X> ok
[21:15:46] <SB-X> cya
[21:29:28] <SB-X> vas wis ylem and vas ylem wis both cast peer
[22:10:30] <-- laxdragon has left IRC ("ZZZZZzzzzzzzzzzzzzzz")