[00:04:40] --- Marzo is now known as Marzo_away
[00:05:12] --- Marzo_away is now known as Marzo
[00:33:38] --> Kirben has joined #exult
[00:33:38] --- ChanServ gives channel operator status to Kirben
[01:55:13] --> ShadwChsr has joined #exult
[01:59:56] --- Marzo is now known as Marzo_away
[02:04:22] --- Marzo_away is now known as Marzo
[02:56:22] --> Dark-Star has joined #exult
[03:15:41] <-- Dark-Star|away has left IRC (Read error: 110 (Connection timed out))
[03:40:30] <-- ShadwChsr has left IRC ()
[03:45:10] <-- Marzo has left IRC ("Marzo vanishes suddenly.")
[06:20:27] <-- Baastuul has left IRC ("I, too, have lost a kingdom.")
[08:11:01] --> shazza has joined #exult
[08:29:18] --- Sevalecan is now known as Sevalebed
[11:16:04] --> Marzo has joined #exult
[11:41:17] --- Marzo is now known as Marzo_away
[11:52:40] <-- shazza has left IRC ()
[14:38:39] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[15:05:19] --- Marzo_away is now known as Marzo
[15:39:59] --> Baastuul has joined #exult
[16:37:25] --- Marzo is now known as Marzo_away
[17:12:17] --> olav_ has joined #exult
[17:14:10] <olav_> Hi there
[17:18:06] <olav_> is there a todo list for exult studio
[17:18:07] <olav_> ?
[17:20:11] <wjp> hi
[17:20:23] <wjp> I don't think there's one written down
[17:21:58] <olav_> Hi wjp. i've seen "new mod" and "new game" menus. Are new games/mods fully possible with the latest svn state?
[17:27:45] <olav_> I know there have been work on these but I'm not sure how functional this is
[17:30:38] --- Marzo_away is now known as Marzo
[17:31:07] <Marzo> New mods work very well
[17:31:15] <Marzo> New games are a little bit more iffy
[17:57:34] <olav_> Hi Marzo. About mods you mean it is possible to make an add-on like silver seed?
[18:00:08] <Marzo> While not exactly *like* Silver Seed, you can do in the same scope: you can make huge changes in the world (there was even a total conversion mod to U6), but Exult mods do not integrate into the game files like Silver Seed did -- the game files are separate and Exult does the merge when loading
[18:01:31] <olav_> I see. So the difference between a new game and a new mod is that a new mod is merged with an actual game? or is there more?
[18:02:44] <Marzo> The "merge" may become a "total replacement" in that none of the data from the game gets used (and Exult will not be any slower for this -- it will, but barely)
[18:03:12] <olav_> ok. so what are "new games" if we can do them with a mod?
[18:03:24] <Marzo> The basic differences are that new games don't work very well yet and that mods require the data files from the original game (even if they are not used)
[18:03:51] <olav_> ok
[18:04:29] <olav_> is there any plan to implement true color (no palete) support ?
[18:04:42] <Marzo> No
[18:06:20] <olav_> ok
[18:24:28] --- Sevalebed is now known as Sevalecan
[19:06:39] <-- Baastuul has left IRC (Read error: 110 (Connection timed out))
[19:34:47] <olav_> about usecode script, Pertex link is down
[19:35:12] <olav_> so patch.zip remains the only source for usecode script? any other?
[19:35:55] <Marzo> The Keyring mod, SI Fixes and TFL all distribute their source
[19:36:14] <Marzo> Keyring includes Quests & Iteractions, and TFL includes the Keyring
[19:36:46] <Marzo> Keyring and SI Fixes are entirely contained in Exult source (in content/bgkeyring and content/sifixes)
[19:37:24] <olav_> ah ok great, I can see them
[19:38:05] <Marzo> My website also has an intrinsic reference and usecode script tutorial (actual scripts within usecode; usecode isn't usually called 'usecode script' because it has time-based scripts it can execute)
[19:38:27] <Marzo> The intrinsic reference is also in docs/exult_intrinsics.txt in Exult source
[19:38:54] <olav_> what is your website?
[19:39:12] <Marzo> (and what is Pertex? I can't seem to find it)
[19:39:41] <olav_> Pertex is mentioned in exult_studio.html
[19:40:00] <olav_> it is somone's nickname
[19:40:25] <olav_> exult studio doc mentions there is some usecode doc at his site, but his site is down
[19:40:57] <Marzo> The domain seems to be OK, just the Exult page seems to be down (or moved)
[19:41:13] <olav_> right
[19:42:07] <Marzo> www.archive.org still has it
[19:42:37] <Marzo> It is likely to be woefully out of date, as there has been lots of improvements since
[19:43:19] <olav_> ok
[19:43:24] <olav_> and your site?
[19:43:28] <Marzo> Sadly, the best way to learn it is still to see how the existing mods do it
[19:43:35] <Marzo> It is in the links page
[19:43:36] <olav_> sure I guess so
[19:43:40] <olav_> ok
[19:43:49] <Marzo> Here: http://www.lfs.lfhost.com/seventowers/
[19:44:36] <olav_> you have a very nice doc there
[19:44:50] <Marzo> Thanks
[19:46:31] <Marzo> The text version of the intrinsic reference is the same as the one from the docs dir (in fact, I use the website to generate the file when I update something)
[19:47:14] <olav_> what does intrinsic refers to?
[19:47:44] <Marzo> They are C++ functions that usecode can call
[19:47:45] <olav_> sorry for the dumb question ;)
[19:47:52] <olav_> ah ok
[19:48:03] <olav_> wow usecode can call main code?
[19:48:04] <Marzo> Each does something in particular that can't be done otherwise by usecode
[19:48:06] <olav_> that's excellent
[19:48:19] <olav_> ok
[19:49:09] <wjp> they're how usecode interfaces with the world, basically
[19:49:37] <olav_> sure, I know these
[19:49:39] <Marzo> That is the best explanation I have seen for intrinsics
[19:50:02] <olav_> actually I just put up an eclipse environment and build exult with it
[19:50:11] <Marzo> I think I will steal it and put in the intrinsics reference (or in an usecode tutorial if I ever get around to write it)
[19:50:51] <Marzo> Usecode syntax is based on C/C++ syntax; it even has classes, structs and references
[19:51:15] <olav_> looks good!
[19:51:38] <Marzo> While you usually can't do pointer arithmetics in usecode, you can do indirect function calls similarly to C/C++ is the need arises
[19:52:00] <Marzo> (the Keyring mod, and TFL as a consequence, both use indirect function calls for the spellcasting system)
[19:52:33] <Marzo> Just one note, the structs are thin wrappers for arrays
[19:52:35] <olav_> ok, you mean to "emulate" C pointer functions?
[19:53:15] <olav_> ok
[19:53:20] <Marzo> Think like this: if a variable (say 'myfun') contains the address of a function, you can call that function by (*myfun)(args)
[19:53:27] <olav_> ok
[19:53:49] <Marzo> You can also do stuff like (*(myfun+2))(args)
[19:54:01] <olav_> that is more risky ;)
[19:54:32] <Marzo> Indeed; but usually, usecode functions are sequentially numbered
[19:54:37] <olav_> ok
[19:54:45] <Marzo> And Exult will do nothing if the function does not exist
[19:55:09] <olav_> do you know if anyone uses Eclipse to build Exult?
[19:55:21] <Marzo> No, I don't know
[19:55:22] <olav_> and debug
[19:55:23] <olav_> ok
[19:55:48] <olav_> there is an issue with Eclipse, because of the predefined macros containing double quotes
[19:55:55] <Marzo> I myself use MinGW/msys on windows and plain old ./configure && make && sudo make install in Linux
[19:56:01] <olav_> like VERSION=\"something\"
[19:56:19] <olav_> Eclipse removes the double quotes
[19:56:30] <Marzo> That is bad
[19:56:33] <wjp> how is the speed/'snappiness' of Eclipse nowadays? When I last tried it about 8 years ago it was rather sluggish
[19:56:54] <Marzo> When I last tried last year, it still felt sluggish
[19:57:00] <olav_> hehe
[19:57:15] <Marzo> But I guess that is a matter of opinion
[19:57:20] <olav_> it is ok but Eclipse is a bit tough to learn
[19:57:34] <olav_> when you know how to use it, it is very powerful
[19:57:45] <olav_> but it is a complex piece of sotfware
[19:58:16] <wjp> it did look promising
[19:58:26] <olav_> actually we could compile usecode under eclipse with a proper plug-in
[19:58:39] <olav_> eclipse is very extensible
[19:58:53] <olav_> there is a plug-in framework
[19:59:14] <olav_> for C++, we are using Eclipse CDT, which is a plug-in
[19:59:15] <Marzo> It is not in my website, but I have made some syntax highlighters for usecode
[19:59:26] <olav_> ok
[19:59:31] <Marzo> (one for ConTEXT (Windows) and the other for Gedit)
[19:59:44] <olav_> ok
[19:59:46] <Marzo> I also have a php highlighter for the website
[20:00:04] <olav_> from looking at your website it is clear you like colors
[20:00:07] <olav_> :)
[20:00:11] <Marzo> :-)
[20:00:45] <Marzo> They help avoid dumb syntax errors
[20:00:51] <olav_> sure
[20:09:09] --> Baastuul has joined #exult
[20:11:38] <olav_> do you know mods implementing actual gaming extensions ?
[20:11:48] <olav_> the U6 one has been abandoned I think?
[20:12:32] <Marzo> Define 'gaming extensions'
[20:12:52] <olav_> I mean mods implementing new adventures
[20:13:07] <Marzo> Extra NPCs? NPC Spellcasting system? Quests and new locations? If so, then Keyring mod does it
[20:13:40] <Marzo> TFL is a work in progress (currently in hiatus) that implements a whole new world
[20:14:04] <olav_> oh ok I though Keyring was only handling a better in game keyring
[20:14:14] <olav_> I read more about it
[20:23:53] <olav_> can mods be combined? Like Keyring is adding many interreseting things, can Exult run another mod and run Keyring too?
[20:24:05] <Marzo> No
[20:24:17] <Marzo> They can be merged, but it is usually a painful process
[20:24:28] <Marzo> The usecode is the easiest part to merge
[20:24:32] <olav_> statically merged you mean?
[20:24:39] <Marzo> Yes
[20:24:44] <olav_> ok
[20:25:20] <Marzo> Usually, people just start working on their mods basing it on one they like
[20:25:24] <olav_> wouldn't it be nice to have Exult supporting dynamic merging of mods?
[20:25:43] <olav_> ok
[20:25:46] <Marzo> It would be rather messy and complicated also
[20:26:06] <olav_> Oblivion does this
[20:26:13] <olav_> (Elder scrolls)
[20:26:21] <Marzo> For example, if people used conflicting ranges of usecode functions, or shapes
[20:26:32] <olav_> yes
[20:26:39] <Marzo> Exult is constrained by the fact that it has to support the preexisting games
[20:26:45] <olav_> yes
[20:27:13] <Marzo> And all the mod system of Exult was tacked on after the fact, modern games are made to be modded
[20:28:20] <olav_> yes. actually by implementing some "virtualization" this shoud be possible. Like shape numbers would be logical numbers that would then be mapped to physical numbers of Exult
[20:29:02] <olav_> not simple thing anyway
[20:29:08] <Marzo> And then enters usecode, which uses shape numbers directly
[20:29:13] <Marzo> :-)
[20:29:56] <olav_> usecode would have to refer to either local shape numbers (as currently) and we'd need a global scope concept too
[20:29:59] <olav_> like ::
[20:30:11] <olav_> example: shape 4 means local
[20:30:17] <olav_> shape ::4 means global
[20:30:32] <olav_> of course current mods would not work anymore
[20:31:02] <olav_> and would need to be updated
[20:33:49] <olav_> thanks for the char Marzo, I have to go now
[20:33:50] <Dark-Star> then each mod can only work on either it's own variables or on global "default" variables. It wouldn't be possible to, for example, create a mod that only changes the behavior of the death scythe
[20:33:55] <olav_> chat
[20:34:10] <Dark-Star> or rather it would be possible, but then you can't add another mod that takes advantage of the changed weapon
[20:34:50] <olav_> you deal with mod dependency there
[20:34:53] <Marzo> Not to mention two mods that change a given weapon -- what would be done then?
[20:35:10] <Marzo> But in any case, farewell
[20:35:14] <Marzo> Drop by anytime
[20:35:19] <Dark-Star> sure. you could add something like a simple hierarchy, but then it gets messy at least if you factor in changed chunk data etc.
[20:35:20] <Dark-Star> bye
[20:35:41] <olav_> I don't know enough about exult anyway to have a clear opinion
[20:35:47] <olav_> just thinking
[20:36:04] <olav_> but you mentioned two cases
[20:36:38] <olav_> one with mod dependencies: if mod1 depends on mod2, then there could be a way to refer to another mod's data though a mod id
[20:36:59] <olav_> the other case if about conflicting mods: no solution there, the result will be buggy
[20:37:11] <olav_> it's also the case on oblivion
[20:38:47] <olav_> bye
[20:38:50] <-- olav_ has left IRC ("Oops. My brain just hit a bad sector")
[22:07:33] <-- Marzo has left IRC ("Marzo vanishes suddenly.")
[22:18:27] --> Kirben has joined #exult
[22:18:27] --- ChanServ gives channel operator status to Kirben
[22:34:55] --> Keelhaul has joined #exult