#pentagram@irc.freenode.net logs for 20 Apr 2004 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[01:39:57] <-- Darke has left IRC (Read error: 110 (Connection timed out))
[01:40:20] --> Darke has joined #pentagram
[02:14:16] --> sbx has joined #pentagram
[02:14:32] --- sbx is now known as sbx|afk
[02:20:01] --> Kirben has joined #pentagram
[02:20:06] --- ChanServ gives channel operator status to Kirben
[03:35:07] <-- wjp has left IRC (Read error: 104 (Connection reset by peer))
[05:06:52] * Sheng_Gradilla is away: No estoy
[07:18:59] --- sbx|afk is now known as sbx
[07:19:07] <-- sbx has left IRC ()
[07:43:40] --> wjp has joined #pentagram
[07:43:40] --- ChanServ gives channel operator status to wjp
[08:15:17] <-- watt has left IRC ("using sirc version 2.211+KSIRC/1.3.9")
[08:15:45] --> watt has joined #pentagram
[08:16:03] <watt> whoops... wrong thing to click
[08:16:16] <watt> Ort Lor
[08:22:41] <-- Darke has left #pentagram ("Vendi-Vidi-Infeci")
[08:22:52] --> Darke has joined #pentagram
[08:23:04] --- ChanServ gives channel operator status to Darke
[08:23:29] <wjp> hi watt, Darke
[08:28:34] <watt> hey.
[08:39:12] <Darke> Nanoo!
[08:39:17] <watt> meh.. kde docs are practically useless.. they don't give any detailed information, just basic use... which is usually easy to figure out without doco..
[08:39:23] <watt> hi darke
[08:45:57] <Avatar-1> sounds like windows docs
[08:46:27] <watt> more or less.
[09:01:13] <-- watt has left IRC ("Quas An Lor")
[09:09:29] <Avatar-1> crap
[09:09:33] <Avatar-1> I've forgotten what Quas means
[09:09:41] <Avatar-1> 8-(
[09:10:03] <Avatar-1> seeing?
[09:10:38] <Avatar-1> illusion
[09:10:40] <Avatar-1> I was close
[11:07:46] <Avatar-1> or way far off, depending how you look at it
[12:13:19] * Sheng_Gradilla is back (gone 07:06:25)
[12:44:52] --> amOKchen has joined #pentagram
[12:44:58] <-- amOKchen has left #pentagram ()
[13:03:51] --> Colourless has joined #Pentagram
[13:03:56] --- ChanServ gives channel operator status to Colourless
[13:06:49] <Colourless> hi
[13:11:37] <-- Colourless has left IRC ("bbl")
[13:20:30] <-- Kirben has left IRC ("System Meltdown")
[14:11:04] --> Colourless has joined #Pentagram
[14:11:15] --- ChanServ gives channel operator status to Colourless
[14:11:25] <Colourless> b
[14:27:41] <wjp> web
[14:27:43] <wjp> s/e//
[14:27:44] <wjp> ...
[15:53:52] * Colourless downloaded the Microsoft Visual C++ Toolkit 2003
[15:54:17] <Colourless> it's a 'free' version of MS's C++ compilers
[15:54:44] <Colourless> it of course includes the latest version of the compiler which comes with MSVC.Net 2003 (7.1)
[15:54:51] <Colourless> i of course only have MSVC.Net (7.0)
[15:55:01] <wjp> yeah, I read about that
[15:55:21] <Colourless> finally it has this option:
[15:55:23] <Colourless> (7.1)
[15:55:40] <Colourless> /G7 optimize for Pentium 4 or Athlon
[15:56:19] <Colourless> also has
[15:56:22] <Colourless> /arch:<SSE|SSE2>
[15:56:35] <Colourless> which would generate code that i wouldn't actually be able to run on my machine :-)
[15:56:41] <Sheng_Gradilla> :P
[16:02:26] <Colourless> how strange. it only comes with the compiler, linker, headers, libraries and a few samples
[16:02:31] <Colourless> doesn't even come with nmake!
[16:03:26] <wjp> I seem to remember reading there was no lib.exe either
[16:04:41] <Colourless> i 'think' lib isn't required
[16:05:13] <Colourless> with msvc lib is only 5kb
[16:06:23] <wjp> hm, sounds like a wrapper, then
[16:06:31] * wjp will bbl
[16:08:23] <Colourless> the version information says it's a wrapper :-)
[16:08:39] <Colourless> s/wrapper/stub/
[16:09:10] <Colourless> and it calls link.exe :-)
[16:09:55] <Colourless> yep. just do link /lib :-)
[16:26:37] <Colourless> hmm, everything was compiling fine until:
[16:27:05] <Colourless> world\actors\AvatarMoverProcess.cpp(124) : error C2668: 'abs' : ambiguous call t
[16:27:07] <Colourless> o overloaded function
[16:27:22] <Colourless> (with a number possible functions)
[16:27:30] <Colourless> while trying to match the argument list '(uint32)'
[16:27:42] <Colourless> now... trying to get abs on an unsigned number?
[16:29:07] <Colourless> hmm.. yes that code is 'flawed'
[16:29:22] <Sheng_Gradilla> :P
[16:29:36] <Colourless> abs(mousedir - direction)
[16:29:44] <Colourless> when both mousedir and direction are unsigned
[16:30:14] <Colourless> on a native 64 bit system that could have most unexpected behaviour
[16:30:30] <Sheng_Gradilla> should do casting
[16:30:48] <Colourless> should just be using sint32 or even int
[16:36:57] <Colourless> only 5 errors total. All ambiguous overloaded functions all easily fixed
[17:04:10] <wjp> I wonder how I keep convincing myself that running for 45 minutes is a good idea
[17:04:14] * wjp drops dead
[17:05:43] <wjp> about those abs calls: maybe a small inline function 'get direction difference' would be nice
[17:06:13] <Colourless> direction difference :-)
[17:06:22] <Colourless> wow :-)
[17:06:58] <wjp> hm?
[17:07:11] <Colourless> nothing
[17:07:20] <Colourless> it's a good idea
[17:14:33] <wjp> oh, btw, I was thinking about config files a bit more last night
[17:15:06] <wjp> I still can't really figure out a proper layout for the user config files when using the .ini format
[17:15:36] <wjp> especially things like marks, keys, gump locations are a bit hard to get right without the concept of subsections
[17:16:26] <Colourless> yeah
[17:16:27] <wjp> one thing that might work is a 'profile' system, in which each game would have a profile associated with it. A profile would have a separate config file containing keybindings, teleport marks, gump locations and other such things
[17:16:54] <Colourless> makes sense to me
[17:17:20] <wjp> http://www.math.leidenuniv.nl/~wpalenst/a
[17:17:46] <Sheng_Gradilla> sounds good
[17:18:07] <wjp> if we use the idea that there are global settings that can be overridden by specific games, we have to be careful not to let profiles specify the same settings
[17:18:11] <Colourless> looks fine to me
[17:18:32] <wjp> it would be very confusing if a game setting (in file A) overrides a profile setting (in file B) which in turn overrides the global setting (in file A)
[17:19:06] <wjp> we do need to figure out a good way to handle these profile files in the options GUI
[17:19:57] <wjp> I was thinking of not having a file in data that provides the default profile settings, but rather generate a default profile file in the user's config area each time a new profile is created
[17:20:31] <wjp> then, when adding a game of a new type, automatically generate a new profile
[17:20:52] <wjp> when adding a game of an already existing type, offer to re-use the profile, but allow creating a new one
[17:21:04] <Sheng_Gradilla> that would be the most sane approach
[17:22:19] <wjp> alternatively we could use another file format which does allow subsections
[17:22:30] <Sheng_Gradilla> would lead to the least amount of headaches for both users and developers
[17:23:18] <wjp> see for example the (newly created) file 'subsections' in that same directory
[17:25:12] <wjp> oh, I just noticed it's a bit asymmetric in how the game and keys subsections are done
[17:25:26] <wjp> either both with a '=' or both without would probably be better :-)
[17:25:49] <wjp> bbl
[17:37:13] <wjp> (of course comments/suggestions are welcome even though I'm not quire here currently ;-) )
[18:15:06] <wjp> back
[18:56:44] <Sheng_Gradilla> :)
[20:26:29] <Colourless> wjp we could have 'template' profiles that
[20:26:59] <Colourless> would be used for the base defaults that the user profiles configs would be created from
[20:27:24] <Colourless> the idea of reusing profiles may get a little icky if the users has multiple profiles for the game type already
[20:28:17] <Colourless> and they attempt to add another game of the same type
[20:28:28] <Colourless> (yeah I know, it's probably only going to be us attempting that)
[20:29:02] <wjp> I'd probably show a list with "select a profile for this game", and then show the existing ones and a "new profile" option
[20:29:10] <Colourless> yeah
[20:29:49] <wjp> have to make sure it's sufficiently intuitive
[20:30:03] <Colourless> might want to consider the name 'profile'. Could be a bit confusing as it has more than one meaning for us
[20:30:04] <wjp> possibly by hiding the 'new profile' option a bit :-)
[20:30:18] * wjp nods
[20:30:33] <Colourless> but at the same time it fits :-)
[20:30:58] <wjp> one thing I don't like about it is that it separates some settings from others
[20:31:14] <wjp> and the difference might seem arbitrary
[20:31:16] <Colourless> aye
[20:31:32] <Colourless> especially if something is set in both places
[20:32:12] <wjp> which would be an argument for a cfg format with subsections
[20:33:10] <Colourless> or we could (heaven forbid) do things like using special characters to create 'sections'
[20:33:21] <Colourless> [game:u8]
[20:33:30] <Colourless> well, that already says section game, subsection u8
[20:33:39] <wjp> well, not really
[20:33:52] <wjp> it specifies a section type
[20:34:26] <Colourless> yeah i know, not really, but to someone editing the file, they wouldn't know there is a difference :-)
[20:35:18] <Colourless> the idea would then to have [profile:u8:whateverthinghere]
[20:35:27] <wjp> bah :-)
[20:35:54] <Colourless> or you could remove profile and have [u8:whatever]
[20:36:07] <Colourless> then for global settings could do [:whatever]
[20:36:10] <wjp> this kind of syntax is not really the epitome of elegance :-)
[20:36:22] <wjp> it also has the problem that it takes a 'familiar' format and modifies it a bit
[20:36:27] <wjp> which might confuse people
[20:36:56] <Colourless> a .reg file:
[20:36:58] <Colourless> REGEDIT4
[20:36:58] <Colourless> [HKEY_CURRENT_USER\Software\Microsoft\Devstudio\6.0\Build System\Components\Platforms\Win32 (x86)\Tools\32-bit C/C++ Compiler for 80x86]
[20:36:58] <Colourless> "Input_Spec"="*.c;*.cpp;*.cxx;*.cc"
[20:38:29] * wjp hmms
[20:38:32] <Colourless> i hardly call it taking a familiar format and changing it.
[20:38:52] <Colourless> you are not adding any real extra restrictions
[20:40:12] <Colourless> the data is just handled in a special way internally.
[20:50:37] <wjp> something like http://www.math.leidenuniv.nl/~wpalenst/a/multilevelini
[20:50:38] <wjp> ?
[20:51:00] <wjp> (btw, there are now three different styles in that directory)
[20:51:31] <wjp> we could remove the 'game:' bit if we assume that all sections that look like games are in fact games
[20:52:02] <Colourless> looks fine to me
[20:52:29] <Colourless> the profile= lines could probably be type=
[20:53:20] <wjp> oops, those weren't supposed to be there
[20:53:34] <Colourless> I would say the [Pentagram] section should be first
[20:53:45] <wjp> added a fourth file without the game: bits
[20:54:28] <Colourless> then when generating the other sections having a comment before each game seciton saying what the game is and stuff
[20:56:20] <Colourless> multilevelini2 looks fine. when parsing just ignore Pentagram or any configuration that doesn't contain the minimum settings for a game
[20:57:15] <Colourless> i would think that 'perhaps' having a type specifier for each game might be a good idea. trying to autodecect game type will be a pain
[20:57:35] <wjp> game type as in u8/regret/remorse ?
[20:57:39] <Colourless> yeah
[20:57:46] <wjp> shouldn't that be fairly easy to detect?
[20:57:59] <Colourless> for default data sets yes
[20:58:25] <Colourless> if people start modding the file auto detecting might not be so easy
[20:58:35] <Colourless> but we could always just look for the exe file
[20:58:47] <wjp> other files are different too between them
[20:59:12] <wjp> u8 is easy, because everything is named u8*.flx
[20:59:20] <Colourless> what i'm also thinking is having a game 'type' would help if people were attempting to create a new game
[20:59:30] <Colourless> can't auto decect something if it doesn't already exist
[20:59:45] <wjp> yes, it should definitely be possible to specify a type
[20:59:59] <Colourless> perhaps an option type setting
[20:59:59] <wjp> autodetection should only kick in if necessary
[21:00:05] <Colourless> s/option/optional/
[21:00:50] <wjp> if it isn't there, autodetect?
[21:00:56] <Colourless> yeah
[21:01:04] * wjp nods; that was my idea too
[21:01:19] <wjp> it's arguable if the game-adder within pentagram should automatically add that info
[21:01:42] <Colourless> well i think it 'should'
[21:01:44] <wjp> it probably should, if only to remove the need to autodetect it on each run
[21:02:02] <Colourless> and perhaps it should still auto detect to make sure the settings are actually valid
[21:02:50] <wjp> depends on how exactly autodetection would work
[21:03:59] <Colourless> all sort of nasty hell might break loose if (on windows) people do copy pentagram.exe and the ini file (which was setup for relative paths) into different directories attempting to force different game types onto a game that clearly isn't what's in the ini file
[21:04:47] <wjp> (5 config types now... :-) )
[21:05:39] <wjp> added a partial version of the current format... I got bored before I got to the marks/keys/gumps :-)
[21:05:55] <Colourless> :-)
[21:06:03] --> Dark-Star has joined #pentagram
[21:07:10] <wjp> maybe we should start a vote on the exult forum :-)
[21:07:17] <Colourless> :-)
[21:44:13] <Sheng_Gradilla> :)
[22:00:14] <wjp> hm, midnight; time to go I guess
[22:00:17] <wjp> night
[22:00:32] <Colourless> i should go too
[22:00:37] <Colourless> cya
[22:00:40] <-- Colourless has left IRC ("casts invisibility")
[22:21:10] --> Kirben has joined #pentagram
[22:21:10] --- ChanServ gives channel operator status to Kirben