• ck: Various mesh work (fix display bus, lighting, added animations for attached meshes)
  • Maikel: Finished Parkour goal, Team support needs testing
    • Is working on Melee and a common relaunch/scoreboard rule
    • Distinction goal/rule is weak, unification might make sense
  • Mimmo_O: Works on visually enhancing Parkour checkpoints
  • PeterW: Has some thoughts on general OC gameplay, will eventually be disucussed in forums
  • Zapper: Is going to reorganize the idea for his close combat system
    • Goal is to keep it as flexible as possible so weapons don't only differ in frequency or damage
  • Newton: Integrated Blog and Documentation into, will start on Gamepad controls next.
  • Nightly builds and development snapshots
    • Windows engine can be cross-compiled, interface to upload builds on required
    • See also in the forums. B_E to write a script for this(?)
  • It is unclear how C4IDs shall be accessed from script
    • Should avoid conflicts, not clash with other identifiers and not be too long to type
    • Peter to start a discussion/poll soon in the forums

Full Log

Feb 01 19:00:41 <Mimmo_O>	okay, 19:00
Feb 01 19:00:43 <Mimmo_O>	whos present? i am.
Feb 01 19:00:53 *	ck 
Feb 01 19:02:07 <Maikel>	I am
Feb 01 19:04:19 <PeterW>	I'm not.
Feb 01 19:05:04 <Maikel>	Well then you are discussion leader.
Feb 01 19:06:13 <PeterW>	Heh, so it's me that has to tell you to start discussing? ;)
Feb 01 19:07:12 <Zapper>	I am
Feb 01 19:07:36 <Zapper>	ck, Mimmo_O told me to do this:
Feb 01 19:08:23 <loriel>	Oh, it is monday? Whoops.
Feb 01 19:08:56 -Mimmo_O/#openclonk-dev-	everyone be here!
Feb 01 19:08:59 <PeterW>	Seems like Newton didn't notice as well?
Feb 01 19:09:09 <Zapper>	newton said he wouldnt be here
Feb 01 19:09:11 <Mimmo_O>	newton has abgemeldet him
Feb 01 19:09:21 <PeterW>	Okay...
Feb 01 19:10:40 <loriel>	"himself" ;)
Feb 01 19:12:01 *	Guenther ( has joined #openclonk-dev
Feb 01 19:12:01 *	ChanServ sets mode +a #openclonk-dev Guenther
Feb 01 19:12:01 *	ChanServ gives channel operator status to Guenther
Feb 01 19:12:02 <ck>	ok so let's get starting, shall we? Does anybody want to discuss something beyond the obligatory status updates?
Feb 01 19:12:03 <PeterW>	Hm, do we have some sort of developer list somewhere?
Feb 01 19:12:09 <loriel>	Hi, Guenther :)
Feb 01 19:12:17 <Mimmo_O>	we do
Feb 01 19:12:20 <Sven2>	I'm here...gtg soon tho
Feb 01 19:12:55 <PeterW>	Where? :)
Feb 01 19:13:06 <Maikel>	no @ck do you lead it today?
Feb 01 19:13:06 <Guenther>	hello.
Feb 01 19:13:14 <Mimmo_O>	but i cant find it
Feb 01 19:13:32 <PeterW>	Well, I could use the list from the forum.
Feb 01 19:14:00 <Ape>	PeterW: /names #openclonk-dev and look for !
Feb 01 19:14:13 <ck>	(I might want to discuss potential nightly builds)
Feb 01 19:14:17 <ck>	Maikel: No idea. Can do.
Feb 01 19:14:21 <PeterW>	Well, feel free.
Feb 01 19:14:35 <PeterW>	You are first on the alphabetical list :)
Feb 01 19:15:02 <Maikel>	/nick A
Feb 01 19:15:05 <ck>	Let's go reverse so that Sven2 gets his turn before he leaves ;)
Feb 01 19:15:18 <ck>	So Zapper is first
Feb 01 19:15:19 <PeterW>	How much time do you have? @ Sven2
Feb 01 19:15:38 <Sven2>	Don't know. Could leave any moment from now.
Feb 01 19:15:39 <Zapper>	Oh
Feb 01 19:15:56 <Sven2>	Anyway, I don't have much to tell. Fixed a few engine bugs, including the much/dreaded crash-at-game-end
Feb 01 19:16:01 <PeterW>	I'd say Sven simple reports first and we continue with the list from there.
Feb 01 19:16:04 <Zapper>	Okay. I didn't have much time last week. I have to change the weapon system around a bit and didnt really start there
Feb 01 19:16:19 <PeterW>	Heh
Feb 01 19:16:35 <PeterW>	<- moderator, by Maikel, so please do as I say ;)
Feb 01 19:16:50 <Sven2>	Gone now, have fun!
Feb 01 19:16:51 <Zapper>	I read the red highlighted line and started typing :<
Feb 01 19:17:10 <ck>	ok. cya Sven
Feb 01 19:17:55 <PeterW>	No questions to Sven? ;)
Feb 01 19:18:18 <PeterW>	Then okay, let's continue with ck.
Feb 01 19:18:49 <ck>	I did some more work on mesh rendering
Feb 01 19:19:01 <ck>	as you probably noticed the ugly display bugs are gone :)
Feb 01 19:19:31 <ck>	And I added the possibility to animate attached meshes, the bow is currently a nice example for that
Feb 01 19:20:00 <ck>	Ah, and the lighting has been somewhat fixed
Feb 01 19:20:41 <PeterW>	What's changed with the lighting?
Feb 01 19:21:02 <ck>	The position of the light source
Feb 01 19:21:23 <ck>	I think it was in positive X direction in front of the Clonk before, instead of "out of the screen"
Feb 01 19:22:06 <ck>	And then I cross-compiled the Windows engine from Linux (this went surprisingly smoothly), which could be used for automatic nightly builds
Feb 01 19:22:16 <PeterW>	Hm, the lighting now uses true dynamic lights? :)
Feb 01 19:22:24 <PeterW>	Didn't notice that.
Feb 01 19:22:34 <ck>	Yes, it did from the beginning
Feb 01 19:22:46 <ck>	It's just that the light source is always at the same position relative to the object currently
Feb 01 19:23:26 <ck>	I'm not sure whether it should stay like that... maybe worth another discussion ;)
Feb 01 19:23:44 <PeterW>	Hm, how did matthes build the Windows engine anyway?
Feb 01 19:23:55 <ck>	I think he used MSVC7
Feb 01 19:23:56 <PeterW>	Did he have some kind of virtual machine setup...?
Feb 01 19:24:20 <PeterW>	Yeah, but he somehow also did it in the server, or am I wrong?
Feb 01 19:24:57 <Guenther>	No, he didn't
Feb 01 19:25:02 <PeterW>	The compiler might even work with Wine...
Feb 01 19:25:03 <ck>	Hm, not sure. We had cross-compiled 64 bit linux builds on zeri IIRC, but I am not sure wrt the windows ones
Feb 01 19:25:32 <PeterW>	So I just missed him uploading the binaries by hand? @ Guenther
Feb 01 19:25:45 <Guenther>	Probably.
Feb 01 19:25:55 <Guenther>	He even mentioned the machine names in the SVN logs
Feb 01 19:26:48 <PeterW>	Hm, okay. So no help there.
Feb 01 19:26:48 <Guenther>	Only the Linux binaries were compiled on the Server, mostly because matthes didn't use a Linux desktop/laptop machine regularly
Feb 01 19:27:06 <PeterW>	And cross-complied the Mac one?
Feb 01 19:27:07 <Guenther>	Crosscompiling with mingw32 to windows isn't _that_ bad ;-)
Feb 01 19:27:24 <Guenther>	No, he simply used a mac laptop for that, iirc
Feb 01 19:28:01 <PeterW>	Ah well, 10 minutes are up.
Feb 01 19:28:29 <PeterW>	Next up: G√ºnther :)
Feb 01 19:28:30 <Zapper>	I could compile the mac version too if there is a need for that. But we have others with a mac as well, or nto?
Feb 01 19:28:32 <Mimmo_O>	PeterW: you dont have to follow my pattern with the 10 minutes
Feb 01 19:28:38 *	Guenther has nothing
Feb 01 19:28:57 <PeterW>	I don't think it's neccessarily a bad rule to follow.
Feb 01 19:28:59 *	stevi is now known as stevi`off
Feb 01 19:29:07 <PeterW>	Before we get too much into details.
Feb 01 19:29:21 <PeterW>	Okay, Isilkor?
Feb 01 19:29:47 <Guenther>	I spent my hacking time improving a Final Fantasy 8 wrapper which allows one to play that old game in a high resolution. Learnt more about D3D6 than I ever wanted to know.
Feb 01 19:29:50 <PeterW>	Hm, he didn't report, so he might not be here?
Feb 01 19:30:15 <Maikel>	Indeed, Idle: 2hrs 9mins 1sec
Feb 01 19:30:24 <PeterW>	You mean like for an PS emulator?
Feb 01 19:30:32 <Guenther>	No, the PC version.
Feb 01 19:30:55 <PeterW>	If you learn some shaders along the way it might actually turn out to be of some use ;)
Feb 01 19:31:03 <PeterW>	(okay, D3D6, I know, but still.)
Feb 01 19:31:30 <PeterW>	I'm still convinced that we should try to solve the landscape zooming problem this way.
Feb 01 19:31:52 <PeterW>	Okay, moving the the next developer: Maikel
Feb 01 19:31:53 <Guenther>	Nope, D3D6 was way before shaders. Sad, too, because I'd have liked to use shaders to replace the color key transparency. And emulating D3D6 on top of newer D3D is way too much work.
Feb 01 19:32:13 <Guenther>	Yeah, improving the landscape shader would be very worthwhile
Feb 01 19:32:57 <PeterW>	Maikel, you there? :)
Feb 01 19:33:02 <Maikel>	I finished the Parkour goal apart from some minor stuff, Team support might still be a little buggy since that's hard to test, if anyone has some feedback on that pls tell me
Feb 01 19:33:04 <Maikel>	yes
Feb 01 19:33:07 <PeterW>	Ah, okay
Feb 01 19:33:18 <PeterW>	IRC needs typing notifications, sorry.
Feb 01 19:33:48 <Maikel>	Furthermore I started on MicroMelee-based rule, which allows for relaunches and a scoreboard, etc.
Feb 01 19:34:45 <Maikel>	So that basically any scenario for out first release can be without scenario scripts, do we even want this?
Feb 01 19:34:52 <Maikel>	out=our
Feb 01 19:35:36 <PeterW>	You mean, you configure everything by placing objects?
Feb 01 19:36:00 <Maikel>	Just a rule and some scenario callbacks
Feb 01 19:36:03 <ck>	Might be good to have relaunches/scoreboard at a common place as they are used in many scenarios
Feb 01 19:36:18 <PeterW>	Scenario callbacks need scripts, don't they?
Feb 01 19:36:45 <Maikel>	It is in the rule, you just specify the number of relaunches with func Relaunches {return 3;} in the scenario
Feb 01 19:37:08 <Maikel>	Scoreboard is also done inside that rule.
Feb 01 19:37:34 <PeterW>	That's been considered good style for quite some time, hasn't it?
Feb 01 19:37:36 <Zapper>	Would be good to combine different rules that use the scoreboard
Feb 01 19:37:57 <Zapper>	So the rules must not use fixed columns
Feb 01 19:37:58 <ck>	hm, that's a goal, not a rule, isn't it? :o
Feb 01 19:38:19 <Maikel>	Melee is the goal
Feb 01 19:38:43 <Maikel>	It is a bit odd if you would have a second goal that just allows relaunches
Feb 01 19:38:51 <Guenther>	The relationship between rules and goals is kind of awkward
Feb 01 19:39:08 <ck>	ah, OK
Feb 01 19:39:10 <Ape>	We could call all of the rules
Feb 01 19:39:19 <PeterW>	Isn't a goal just a rule that might end the round...?
Feb 01 19:39:24 <ck>	Well, I do think there is a clear distinction...
Feb 01 19:39:43 <Maikel>	Zapper, you mean that different rules have different scoreboard columns?
Feb 01 19:39:47 <Guenther>	And then there are rules which also do that.
Feb 01 19:39:57 <Zapper>	Maikel, if they are activated, yes
Feb 01 19:39:59 <Guenther>	Kill-the-captain etc.
Feb 01 19:39:59 <Maikel>	Like one for deaths one for relaunches, one for score
Feb 01 19:40:16 <ck>	Kill-the-captain does not end the round, it eliminates one player
Feb 01 19:40:21 <Zapper>	Well, one rule that shows kills/deaths in the scoreboard would care for that
Feb 01 19:40:30 <ck>	So maybe Goals are win conditions and (some) rules are lose conditions
Feb 01 19:40:38 <Zapper>	but the rules would have to say "i need a free column!!" and some global function would have to care for that
Feb 01 19:40:39 <PeterW>	... which might make the Melee goal (!) end the round.
Feb 01 19:40:41 <Guenther>	Which ends the round for the player, and also defines the goal for the other players
Feb 01 19:41:07 <Maikel>	That brings me to another point, I'd like to pass the killer to RelaunchPlayer
Feb 01 19:41:13 <PeterW>	But yeah, it might be confusing to put it that way :)
Feb 01 19:41:17 <Guenther>	So there's a technical difference, but it's hair-splitting and confusing for the player
Feb 01 19:42:20 <PeterW>	Hm, concerning the columns:
Feb 01 19:42:28 <Guenther>	And having "left one alive wins" + "who loses the captain loses" instead of "you have to kill the other player's captains" is unnecessarily complicated
Feb 01 19:42:44 <PeterW>	Isn't there already some kind of system where you use IDs as column identifiers?
Feb 01 19:42:49 <Maikel>	Yes there is
Feb 01 19:43:20 <PeterW>	It's a pity Sven isn't here, I never really understood how it was supposed to be used :)
Feb 01 19:43:37 <PeterW>	Especially when a rule needs, say, more than one column
Feb 01 19:43:41 *	ModernClonker has quit (Client exited)
Feb 01 19:44:13 <PeterW>	Plus there is little standardization concerning rows, as far as I know?
Feb 01 19:44:14 <Maikel>	I don't get the point either, And how would the colums be sorted? Rules are called kind of at random
Feb 01 19:44:26 *	ModernClonker ( has joined #openclonk-dev
Feb 01 19:44:36 <Maikel>	So that kills appear sometimes before relaunches and sometimes behind
Feb 01 19:45:44 <PeterW>	Well, maybe we might need some kind of new system for that.
Feb 01 19:45:50 <ck>	Guess that's hard to solve in general if the rules don't know each other at all
Feb 01 19:46:20 <PeterW>	As long as rows are always something like players and teams?
Feb 01 19:46:54 <PeterW>	I don't think it's /that/ hard to come up with something that works for most goals or rules.
Feb 01 19:47:01 <Maikel>	Well I keep it one object for now, we might differentiate later if scoreboards allow it.
Feb 01 19:47:28 <PeterW>	Okay, 10 minutes are up then.
Feb 01 19:47:35 <Maikel>	And also for the first release, one kind of melee suffices.
Feb 01 19:47:51 <Maikel>	k next
Feb 01 19:47:53 <PeterW>	Yep. I'd also really like to hear what Sven has to say.
Feb 01 19:48:00 <PeterW>	Next is Mimmo_O
Feb 01 19:48:11 <Mimmo_O>	ja, hai
Feb 01 19:48:23 <Mimmo_O>	so
Feb 01 19:48:29 <Mimmo_O>	i did nothing special
Feb 01 19:48:46 <Mimmo_O>	i wrote a blog entry, for the 30.01.2010 release
Feb 01 19:48:55 <Mimmo_O>	if someone reads the blog but dont have a look to the forums
Feb 01 19:49:26 <Mimmo_O>	in addition, im just upgrading the checkpoints from maikel (graphical)
Feb 01 19:50:11 <Mimmo_O>	so nithing special
Feb 01 19:50:30 <PeterW>	Can we really call that "release"? ;) @ build
Feb 01 19:50:42 <Mimmo_O>	oh, and i found an assertion error
Feb 01 19:50:56 <Maikel>	No we shouldn't call that releases, Imo
Feb 01 19:50:59 <ck>	Maybe you should say that you are on it in the forums so that Work is not duplicated.
Feb 01 19:51:02 <Mimmo_O>	it occurs, when you use foo+=x; instead of foo=foo+x;
Feb 01 19:51:04 <ck>	What defines a release? :P
Feb 01 19:51:09 <Ape>	PeterW: It might not be an official release, but still a release
Feb 01 19:51:15 <Maikel>	Something stable
Feb 01 19:51:19 <Mimmo_O>	( i think that this causes it)
Feb 01 19:52:46 <PeterW>	Well, at least something we actively "release"?
Feb 01 19:53:05 <Mimmo_O>	i showed the blog to two people i know...!
Feb 01 19:53:06 <PeterW>	In contrast to, say, one developer uploading a binary of some arbitrary revision somewhere.
Feb 01 19:53:11 <Mimmo_O>	one even downloaded it!1
Feb 01 19:53:24 <ck>	ok so it's a release once we declare it as such :)
Feb 01 19:53:31 <Mimmo_O>	okay
Feb 01 19:53:41 <Mimmo_O>	will we have periodic releases?
Feb 01 19:53:41 <PeterW>	Yeah, you could say that. Mimmo_O didn't use the term in the blog posting.
Feb 01 19:53:50 <PeterW>	But I was briefly confused :)
Feb 01 19:54:02 <ck>	Mimmo_O: Let's discuss that after the status updates
Feb 01 19:54:21 <Mimmo_O>	ok
Feb 01 19:54:27 <PeterW>	We will be done shortly anyway.
Feb 01 19:54:36 *	stevi`off is now known as stevi
Feb 01 19:54:51 <PeterW>	As I was lazy again and haven't done anything.
Feb 01 19:55:25 <PeterW>	Besides some theoretical thoughts on how OC should /not/ work that might culminate in some forum postings eventually.
Feb 01 19:55:51 <PeterW>	So if I'm not mistaken, the last available person on the list is Zapper.
Feb 01 19:55:53 *	Mortimer ( has joined #openclonk-dev
Feb 01 19:56:09 <Zapper>	Okay, I already said what I did, let me strg+f for it :)
Feb 01 19:56:24 <Zapper>	[19:15:52] <Zapper> Okay. I didn't have much time last week. I have to change the weapon system around a bit and didnt really start there
Feb 01 19:56:24 <ck>	you mean that in a "political" way? How development is structured in the long term, how "open" we actually are etc.?
Feb 01 19:56:29 <Zapper>	So I have still stuff to do
Feb 01 19:56:35 <Zapper>	And nothing interesting happened last week
Feb 01 19:57:18 <ck>	as a result of the discussion with newton?
Feb 01 19:57:26 <PeterW>	(No, I have no hope to reach consensus on that one anyway. I meant gameplay-wise :) )
Feb 01 19:57:57 <Maikel>	How would you like to see it in a "political" way?
Feb 01 19:58:07 *	ShadoOw ( has joined #openclonk-dev
Feb 01 19:58:30 <PeterW>	Let's not go into that right now. It's Zapper's report time right now :)
Feb 01 19:58:33 <Zapper>	ck, yes, basically
Feb 01 19:58:38 <Sven2>	PeterW: Scoreboard roaws are player info IDs or Team IDs
Feb 01 19:58:45 <Zapper>	I will change the weapon "system" to be more open
Feb 01 19:58:59 <Sven2>	Scoreboard coloumns are IDs converted to int (ScoreboardCol was a CastInt), which now no longer works
Feb 01 19:59:14 <Sven2>	You usually used the ID of the rule, so you wouldnt have conflicts
Feb 01 19:59:17 *	Matthi has quit (Connection reset by peer)
Feb 01 19:59:21 <Zapper>	Just deliver a set of functions that the weapons have a common feeling for the player and leave the rest to the weapons
Feb 01 19:59:25 <Sven2>	(Leaving for movies again)
Feb 01 19:59:33 <Zapper>	so that the weapons are not just different names with different strengths
Feb 01 20:00:36 <PeterW>	Yeah mean the whole blunt/slice/stab thing we discussed last time?
Feb 01 20:01:03 <Zapper>	The damage types are something different
Feb 01 20:01:16 <Zapper>	The behavior and effects of the weapons can be completely different
Feb 01 20:01:28 <Zapper>	And an example newton mentioned the mario-hammer and some kind of baseball bat
Feb 01 20:01:28 <ShadoOw>	ack.
Feb 01 20:01:29 <ShadoOw>	btw.
Feb 01 20:01:34 <PeterW>	... while still having a commong feeling? ;)
Feb 01 20:01:40 <Zapper>	Sure!
Feb 01 20:02:07 <Zapper>	That will mostly be about the way the use of weapons affect the movement
Feb 01 20:02:09 <PeterW>	Which, I guess, means how you control it?
Feb 01 20:02:28 <Zapper>	Partly :)
Feb 01 20:02:35 <PeterW>	What's the other part?
Feb 01 20:02:57 <Zapper>	The behavior of the change of velocity when you hit and enemy (at both you and your enemy)
Feb 01 20:03:00 <Zapper>	for example
Feb 01 20:03:05 <Zapper>	And an easier interface
Feb 01 20:04:21 <PeterW>	The bow has blowback now? ;)
Feb 01 20:04:37 <ck>	oh, it has? I didn't notice :o
Feb 01 20:05:02 <PeterW>	Don't know, I'm just thinking about what "change of velocity" means in this case.
Feb 01 20:05:26 <PeterW>	For larger weapons than the bow it might actually make sense.
Feb 01 20:05:30 <Zapper>	Not the bow. Rather the sword
Feb 01 20:05:39 <Zapper>	It's still a melee combat system
Feb 01 20:06:00 <PeterW>	Hm, this is so you can't stand still and keep hacking?
Feb 01 20:06:11 *	Newton ( has joined #openclonk-dev
Feb 01 20:06:11 *	ChanServ sets mode +a #openclonk-dev Newton
Feb 01 20:06:11 *	ChanServ gives channel operator status to Newton
Feb 01 20:06:25 <ck>	It's basically a change of the opponents velocity I guess?
Feb 01 20:06:33 <Newton>	hi
Feb 01 20:06:33 <PeterW>	Ah, a second late visitor.
Feb 01 20:06:33 <ck>	hi Newton 
Feb 01 20:06:58 <PeterW>	Zapper's currently reporting about weapons.
Feb 01 20:07:12 <Newton>	PeterW but I announced that I won't be there for the meeting :P
Feb 01 20:07:14 <Mimmo_O>	Newton!
Feb 01 20:07:15 <Newton>	ok
Feb 01 20:07:30 <Zapper>	<PeterW> Hm, this is so you can't stand still and keep hacking? <- for example
Feb 01 20:07:45 <ck>	Newton: Will you still join us now, though? :)
Feb 01 20:07:54 <Zapper>	But as I said I have to change things there. And I don't know yet how it will work out actually :)
Feb 01 20:08:37 <Newton>	ck: yes
Feb 01 20:08:50 <PeterW>	Well, okay. 10 minutes kind of up.
Feb 01 20:09:11 <PeterW>	If there's nothing else, it's a chance for the late visitors. First Mortimer, as he came first.
Feb 01 20:09:41 <PeterW>	Or isn't he a developer?
Feb 01 20:10:10 <ck>	If he has something interesting to contribute I don't mind whether he is developer or not
Feb 01 20:10:15 <Newton>	no, but if he has something to say...
Feb 01 20:10:18 <Maikel>	He should become one, foot -> ass.
Feb 01 20:10:36 <PeterW>	Well, he hasn't said anything yet.
Feb 01 20:10:52 <PeterW>	Well
Feb 01 20:10:52 <ck>	(same for others here of course)
Feb 01 20:11:29 <PeterW>	Yeah, of course, but I know him as developer of C4DT and just realized it doesn't mean he actively participates in OC :)
Feb 01 20:11:55 <PeterW>	Well, okay, then let's continue with Newton.
Feb 01 20:12:39 <Guenther>	Hm, I just noticed that we now effectively have two string interning facilities in the engine: C4String and C4ID. Both work totally different internally, but do essentially the same thing...
Feb 01 20:12:45 <Newton>	hmm, I already said everything here:
Feb 01 20:13:04 <Guenther>	Wasn't Mortimer the one doing feature development for the Mac port lately? ;-)
Feb 01 20:13:46 <PeterW>	Well, aynthing special you would like to discuss here? @ Newton
Feb 01 20:14:28 <Newton>	no, the thing about periodic releases already started in the forum
Feb 01 20:14:31 <Newton>	I mean the discussion
Feb 01 20:14:43 <PeterW>	We already had some minor point previously that we might not want to call single binaries "releases"
Feb 01 20:14:48 <Newton>	the stuff with the gamepads I'll discuss with Sven2
Feb 01 20:14:59 <Newton>	well, builds then
Feb 01 20:15:11 <Guenther>	C4String uses pointers, C4ID uses numbered handles. C4String uses a hash table, C4ID std::map. C4String has refcounting, C4ID hasn't.
Feb 01 20:15:19 <Guenther>	[x] snapshots
Feb 01 20:15:36 <Zapper>	snapshot builds!
Feb 01 20:15:39 <Newton>	I don't know the correct term so I leave it to you
Feb 01 20:15:45 <PeterW>	Imo that's more appropriate a term when we, say, agree on some revision or branch - so we can really say that we released it as a team.
Feb 01 20:15:50 <Mimmo_O>	i think ill make some screenshot and write a blog entry tothem soon
Feb 01 20:16:03 <ck>	Actually both "nightly builds" and "development snapshots" are familiar to me
Feb 01 20:16:09 <PeterW>	Let's push that back to the discussion phase @ Guenther
Feb 01 20:16:12 <Zapper>	"release" is more "hey we have something interesting to show to you" or "everything works now!!"
Feb 01 20:17:11 <PeterW>	Real snapshots might have to include more than a binary.
Feb 01 20:17:27 <Newton>	to not include the other stuff is not planned?
Feb 01 20:17:29 <ck>	OK, that's one of the points I wanted opinions about
Feb 01 20:17:40 <PeterW>	Actually, we don't have a proper concept on how binary distributions might look like, do we?
Feb 01 20:17:43 <ck>	Do we want to release only binaries or something which fully works out-of-the-box?
Feb 01 20:17:50 <ck>	-release+snapshot .
Feb 01 20:18:00 <Zapper>	Both
Feb 01 20:18:06 <Zapper>	builds on a regular basis
Feb 01 20:18:08 <Newton>	[x] fully works out of the box. I mean this is the whole point about having these
Feb 01 20:18:15 <Zapper>	and out-of-the-box every few weeks or so
Feb 01 20:18:18 <PeterW>	Might become a lot of date very quickly.
Feb 01 20:18:21 <PeterW>	*data
Feb 01 20:18:21 <ck>	(that is, the binary, the DLLs, and planet/ basically I think)
Feb 01 20:18:22 <Zapper>	(builds for the obejct scripters)
Feb 01 20:18:28 <Zapper>	and the ootb thing for the players
Feb 01 20:18:33 <ck>	Newton: I tend to agree
Feb 01 20:18:45 <Zapper>	But the scripters need something regularly
Feb 01 20:18:46 <Newton>	all together it is about 13 MB currently
Feb 01 20:19:14 <ck>	We don't need to archive every day's snapshot of course
Feb 01 20:19:33 <Newton>	there is no need in archiving anything, I think
Feb 01 20:19:45 <PeterW>	Well, CR was about 100 MB, if I remember correctly. But well, we don't have those problems yet, yes :)
Feb 01 20:19:47 <Newton>	why would people not want to have the newest snapshot?
Feb 01 20:20:00 <Zapper>	even IF they want. They can get the repository and use that
Feb 01 20:20:02 <PeterW>	Do check when a certain bug was introduced?
Feb 01 20:20:13 <Zapper>	Someone who checks for bugs can compile the engine himself
Feb 01 20:20:23 <ck>	because it has a serious bug? Because the other with whom I want to play over network has an older version
Feb 01 20:20:29 <Guenther>	not necessarily.
Feb 01 20:20:42 <Ape>	Well I could host a mirror / archive unofficially
Feb 01 20:20:48 <PeterW>	Or to side-step a critical bug in a current release.
Feb 01 20:20:49 <ck>	PeterW: That can be done with hg I think
Feb 01 20:20:58 <ck>	Yeah that's more what I had in mind
Feb 01 20:21:07 <Guenther>	When we get to some stability, and start regressing, it can be helpful to know when we regressed, even if only down to a certain snapshot date
Feb 01 20:21:14 <Newton>	I see these nightly builds more as some simplification for _content_ developers, not engine developers. Those don't primarily want to hunt for bugs. They want to develop content.
Feb 01 20:21:31 <PeterW>	Plus from the developer's perspective - it's /very/ useful to have complete releases from past dates.
Feb 01 20:21:58 <Guenther>	Content developers are the ones noticing a lot of the engine bugs...
Feb 01 20:22:05 <PeterW>	It's not that trivial to do the hg update / clean / compile / pack routine x times just to pinpoint a moment in time.
Feb 01 20:22:22 <ck>	ok but what's different between checking out the corresponding version from which the snapshot was built and the snapshot itself?
Feb 01 20:22:43 <Newton>	true...@noticing engine bugs
Feb 01 20:22:52 *	ModernClonker has quit (Ping timeout)
Feb 01 20:22:53 <PeterW>	Another use could be playing old records, last but not least.
Feb 01 20:23:08 <ck>	Newton: How much space do we have available on btw?
Feb 01 20:23:18 <Guenther>	Doesn't hg have a bisect function by now? Writing a script which automates the clean/compile/run cycle isn't that difficult
Feb 01 20:23:30 <ck>	Yes, there is hg bisect
Feb 01 20:23:44 <Guenther>	More annoying are those times where the engine doesn't build for your particular combination of OS and options
Feb 01 20:24:20 <ck>	which raises the question what do we do if the nightly build fails? Upload a build log instead?
Feb 01 20:24:20 <Newton>	I think 1GB
Feb 01 20:24:29 <Newton>	we are currently using 200MB or something
Feb 01 20:24:36 <Guenther>	Anyway, we could simply store snapshots until we run out of space
Feb 01 20:25:30 <Guenther>	and then somebody could archive them on their desktop or something, and help a fellow developer out if he needs one
Feb 01 20:25:57 <Zapper>	the engine is not very big. So if only the engine is archived the most annoying part of spotting bugs is done
Feb 01 20:26:06 <Zapper>	updating planet doesnt take a lot of time
Feb 01 20:26:30 <Zapper>	So we wouldn't have to store the whole snapshot but only the binaries
Feb 01 20:26:40 *	ModernClonker ( has joined #openclonk-dev
Feb 01 20:26:46 <Zapper>	(if the reason for storing it is spotting bugs easier)
Feb 01 20:26:52 <Guenther>	And with the hg id stored, you can even be sure that you get the exact same binary data (ok, except for win32text or such...)
Feb 01 20:27:13 <PeterW>	... which would suggest having both nightly builds (engine) and snapshots - the latter using something like a weekly turnus.
Feb 01 20:27:35 <PeterW>	But well
Feb 01 20:27:56 <PeterW>	Do we even have someone that feels responsible / motivated to make snapshots work?
Feb 01 20:28:13 <ck>	Yes, I'll get on it.
Feb 01 20:28:54 <PeterW>	Great.
Feb 01 20:29:11 <ck>	Judging from B_E's post in the forums he might be interested in doing the the scripting on, but I can also do that if necessary
Feb 01 20:30:26 <ck>	Newton: Are you the only one who can upload to currently?
Feb 01 20:30:46 <Newton>	Clonkonaut has access too
Feb 01 20:31:10 <ck>	OK
Feb 01 20:31:58 <Newton>	ah, by the way
Feb 01 20:32:02 <Newton>	documentation
Feb 01 20:32:16 <Newton>	Günther, can you give me some advice?
Feb 01 20:32:35 <Newton>	regarding the stuff that I posted in Klatch?
Feb 01 20:32:52 <Guenther>	documentation is good, if it does not take too much time away from other stuff.
Feb 01 20:32:53 <Guenther>	;-)
Feb 01 20:34:14 <Mimmo_O>	brb getting some food
Feb 01 20:34:53 <Newton>	erm
Feb 01 20:35:04 <ck>	oh, one more thing: Automatically built Windows engines are enough for now, right?
Feb 01 20:35:12 <Guenther>	uh, an s/\.php/\.html/g doesn't work?
Feb 01 20:35:14 <Newton>	I mean this:
Feb 01 20:35:31 <PeterW>	What do you mean by "automatically"? @ ck
Feb 01 20:35:32 <Newton>	ck: ack
Feb 01 20:35:42 <ck>	PeterW: the snapshot ones
Feb 01 20:36:01 <PeterW>	I'd be great to have some, if that's what you mean
Feb 01 20:36:23 <PeterW>	I don't think I will stop compiling them myself, though.
Feb 01 20:36:30 <Newton>	G√ºnther: I have no clue bout perl. And of regex neither :/
Feb 01 20:36:41 <ck>	I mean: Is it enough if we provide them for Windows (as a start) or do we also want Linux/MacOSX?
Feb 01 20:36:46 *	Icewing ( has joined #openclonk-dev
Feb 01 20:37:01 <ck>	Newton: Hey, I posted the complete command line to do that substitution :)
Feb 01 20:37:02 <PeterW>	Oh, sorry.
Feb 01 20:37:22 <PeterW>	Well, I guess we'll see if there are complains.
Feb 01 20:37:25 <Guenther>	Well, but you _can_ do search&replace. I'd have to read the code more thoroughly for a more helpful answer.
Feb 01 20:37:40 <Newton>	hrmyes
Feb 01 20:37:41 <Newton>	i could
Feb 01 20:37:59 <Newton>	but I'd need to do that every time I recompile the docs
Feb 01 20:38:18 <Guenther>	oh, er, wait. do you want to replace .html with .php?
Feb 01 20:38:21 <ck>	Hm, it should be easy to add it to the Makefile, no?
Feb 01 20:38:32 <Guenther>	I meant in the perl file, obviously
Feb 01 20:38:57 <Newton>	ck: well, erm I don't know so much about makefiles either... ;-)
Feb 01 20:39:08 <Newton>	yes@Günther
Feb 01 20:39:31 <Guenther>	yeah, there's the webnotes option for that.
Feb 01 20:39:51 <ck>	Newton: Well, then write a script which contains a single line "make && substitute html by php" and run this instead of make :)
Feb 01 20:39:56 <Mortimer>	yay, i missed the conversation \o/
Feb 01 20:40:27 <Guenther>	Newton: how do you build the docs at the moment?
Feb 01 20:40:32 <Newton>	make
Feb 01 20:42:02 <Guenther>	I'll come back to you.
Feb 01 20:42:43 <PeterW>	Mortimer: Anything to report?
Feb 01 20:43:02 *	Gurkenglas ( has joined #openclonk-dev
Feb 01 20:43:35 <Mortimer>	well, i wrote some eclipse support for the debug branch
Feb 01 20:43:57 <Mortimer>	and that might be useful for developing/debugging future scripts
Feb 01 20:44:02 <Mortimer>	..or not
Feb 01 20:44:10 <PeterW>	Oh yeah, plus some patches for the debug branch, if I remember correctly?
Feb 01 20:44:29 <Mortimer>	I merged it with the default branch
Feb 01 20:44:31 <ck>	hm what is actually missing from the debug branch which prevents it from being merged btw?
Feb 01 20:45:00 <Mortimer>	dunno... I could be pulled perhaps?
Feb 01 20:45:01 <PeterW>	Well, the finished debug functionality, actually. Though Mortimer might fix that one ;)
Feb 01 20:45:04 <Mortimer>	it
Feb 01 20:45:25 <ck>	Mortimer: So there is nothing missing, everything works?
Feb 01 20:45:29 <Mortimer>	I ised STL :p
Feb 01 20:45:32 <Mortimer>	as I understood, big no no
Feb 01 20:45:39 <PeterW>	In my branch, yes :P
Feb 01 20:45:52 <ck>	ok so let's merge it then it's no longer in your branch :P
Feb 01 20:45:59 <PeterW>	:'(
Feb 01 20:46:23 <PeterW>	I do still think it makes sense style-wise to keep STL usage down.
Feb 01 20:46:30 *	Matthi ( has joined #openclonk-dev
Feb 01 20:46:35 <loriel>	Huh.
Feb 01 20:46:45 <Mortimer>	okay.. then someone fix it :p
Feb 01 20:46:52 <Newton>	Clonk does not use STL? Since when?
Feb 01 20:47:06 <ck>	It does in the meanwhile, at certain places
Feb 01 20:47:26 <Guenther>	Clonk has always used the STL. Always.
Feb 01 20:47:27 <ck>	Though I do think most classes don't use STL stuff in their public interface
Feb 01 20:47:28 <Newton>	why would someone not want to use STL?
Feb 01 20:47:51 <PeterW>	Well, I think it's good if you need some quick don't-care-type container
Feb 01 20:47:52 <Mortimer>	be right back..
Feb 01 20:47:59 *	Mortimer has quit (Quit: Arr)
Feb 01 20:47:59 <loriel>	Generic code tends to lead to large binaries, I guess
Feb 01 20:48:19 <loriel>	Some implementations have unintuitive performance penalties and/or make debugging harder
Feb 01 20:48:29 <Guenther>	Newton: Okay, so it's not simply a bug of some sort, but a real missing feature we fixed for by having the files end with .html even though they're php inside.
Feb 01 20:48:29 <Newton>	and faster, more bug- and obstacle free programming
Feb 01 20:48:29 <loriel>	Guy at EA wrote a paper about it
Feb 01 20:48:32 *	Mortimer_ ( has joined #openclonk-dev
Feb 01 20:48:44 <Guenther>	Do we want to keep the chm?
Feb 01 20:48:52 <Newton>	thats the question
Feb 01 20:48:59 <PeterW>	But once you have the container at more central places - like say, the central object list - I feel that the abstraction doesn't really do much good.
Feb 01 20:49:08 <Newton>	how would offline-docs look like without a CHM?
Feb 01 20:49:24 <PeterW>	Plus the Clonk source doesn't use it very often, and I'm always striving to keep the style somewhat pure :)
Feb 01 20:49:35 <ck>	Newton: HTML
Feb 01 20:49:46 <ModernClonker>	Like an folder with an index.html and an subfolder with a lot of HTML-Files
Feb 01 20:49:52 <Newton>	you are a library-racist then, arent you Peter!!
Feb 01 20:50:05 <loriel>	phew
Feb 01 20:50:08 <PeterW>	Actually, quite the opposite.
Feb 01 20:50:13 <Newton>	only pure, arian libraries!
Feb 01 20:50:21 <Newton>	:P
Feb 01 20:50:27 <PeterW>	I'm just arguing we should not forget pure C++ has its upsides, too.
Feb 01 20:50:38 <ck>	Basically most distributed offline documentation I know is in plain HTML format
Feb 01 20:50:45 <loriel>	The standard library is part of pure C++ :/
Feb 01 20:50:53 <PeterW>	And, say, just replace all data structures by STL equivalents without thinking twice.
Feb 01 20:51:08 <loriel>	I would not make an argument in favour of actively replacing your data structures with standar-- yeah, not that
Feb 01 20:51:23 <loriel>	but I think it is not a question of style to use standard library functionality that fits what you are trying to do
Feb 01 20:51:26 <loriel>	instead of reimplementing it
Feb 01 20:51:37 <ck>	yeah, it's about newly written code. I'm happy if I don't need to think about container details if I want to do mesh animation ;)
Feb 01 20:52:22 <PeterW>	Well, I'm just kind of prejudiced against STL because I felt I always ended up reimplementing stuff anyway - just in some alien STL dialect instead of C++
Feb 01 20:52:26 <Newton>	to be cautious about abstraction applies for all libraries, not only STL
Feb 01 20:53:27 <loriel>	PeterW: For someone with less than years of familiarity with the clonk code, it does look some alien dialect of C++ too exactly because it does not use the standard libraries :)
Feb 01 20:54:46 <PeterW>	Well, I do consider linked lists to be an universally known subject, obviously ;)
Feb 01 20:54:55 <Newton>	btw, is boost now part of the c++ standard?
Feb 01 20:55:14 <Mortimer_> <- debug branch ... did a lot of merges lately >_>
Feb 01 20:55:14 <loriel>	No, but they took some inspiration
Feb 01 20:55:21 <loriel>	for things like the multithreading interface, smartpointers
Feb 01 20:56:14 <PeterW>	Btw: Does Mortimer have repository access?
Feb 01 20:56:19 <Newton>	no
Feb 01 20:56:20 <Mortimer_>	nope
Feb 01 20:56:25 <PeterW>	Why not?
Feb 01 20:56:40 <Newton>	because he didnt ask Isilkor or Günther to get one yet, I guess ^^
Feb 01 20:57:06 <PeterW>	Whoa btw @ merges
Feb 01 20:57:23 <Mortimer_>	>_> wanted to see the new stuff without leaving the branch..
Feb 01 20:57:24 <PeterW>	Well, the he should do that :)
Feb 01 20:57:44 <Mortimer_>	Guenther: may I have access :o ?
Feb 01 20:58:06 <Mortimer_>	I promise to spam everything with merge pyramids and other weird commits..
Feb 01 20:58:25 <PeterW>	You might want to do some rebasing before commiting those patches.
Feb 01 20:58:42 <Zapper>	btw
Feb 01 20:59:00 <Zapper>	why does OC use a registry path inside RedWolf Design?
Feb 01 20:59:02 <Mortimer_>	i'll do that.. when i get home
Feb 01 20:59:15 <ck>	While we are it: We might also want to grant Maikel access
Feb 01 20:59:17 <Guenther>	Mortimer_: I guess? Iirc, I was in favor before, but others weren't, so if that's changed, great. I'll need your public ssh key.
Feb 01 20:59:40 <Guenther>	Zapper: Because nobody thought of changing that yet.
Feb 01 21:00:13 *	Balu ( has joined #openclonk-dev
Feb 01 21:01:20 <Newton>	Maikel has no access?
Feb 01 21:01:30 <Maikel>	no
Feb 01 21:01:34 <Newton>	oh
Feb 01 21:01:52 <Newton>	thats why you never pushed your patch in the bugtracker
Feb 01 21:02:26 <PeterW>	Hu? Why are there changesets by Maikel then?
Feb 01 21:02:34 <Maikel>	And because I am too stupid to write my own stdadapter
Feb 01 21:02:56 <ck>	PeterW: I committed some of his patches
Feb 01 21:03:05 <ck>	or rather, pushed ;)
Feb 01 21:03:41 <PeterW>	Well, we wanted to be rather liberal with giving people access, if I remember correctly?
Feb 01 21:03:54 <Maikel>	As long as the others aren't getting annoyed by pushing 1/2 changesets a week, there is no problem for me
Feb 01 21:04:38 <PeterW>	If I'm not mistaken, it should be impossible to really break anything permanently.
Feb 01 21:05:27 <PeterW>	Or am I wrong? o_O
Feb 01 21:05:35 <PeterW>	> You should have some compelling arguments why you can't just use bitbucket though.
Feb 01 21:06:04 <PeterW>	I don't know whether that's a wrong impression, but I don't think using multiple repositories really works that well.
Feb 01 21:06:04 <Ape>	PeterW: Even if somebody could destroy the repository, you could always replace it with your local one
Feb 01 21:06:08 <Newton>	Isilkor wrote that after Clonkonaut pushed some shit that didnt work
Feb 01 21:06:10 <Maikel>	because the repos is larger than 150Mb in a few months, hopefully
Feb 01 21:06:16 <PeterW>	It makes rebasing awfully complicated, doesn't it?
Feb 01 21:06:24 <Newton>	and when Carli wanted access to dunno... implement shaders
Feb 01 21:06:57 <ck>	PeterW: I know we had that discussion already, but I still favor merging where it makes sense ;)
Feb 01 21:07:23 <Mortimer_>	too stupid to obtain my public key from bitbucket.. so i'll provide it when i get home >_>
Feb 01 21:07:33 <PeterW> <- And that doesn't make you change your opinion?
Feb 01 21:08:01 <PeterW>	I don't think we just want to pull that.
Feb 01 21:08:32 <Newton>	why not?
Feb 01 21:08:46 <ck>	well, I can still rebase locally and push that to
Feb 01 21:08:58 <PeterW>	Because we would import 8 new development branches this way?
Feb 01 21:09:22 <ck>	would we?
Feb 01 21:09:47 <PeterW>	Well, not actually branches. Development lines (?)
Feb 01 21:09:47 <Ape>	Cherry picking good commits from bitbucket is a good way to do it
Feb 01 21:09:54 <ck>	If they aren't named and they are merged already then we don't even create a new head in our repository?
Feb 01 21:10:14 <ck>	But the development lines are "finished" already when they are merged
Feb 01 21:10:15 <Newton>	Mimmo: oh, you wrote in the blog
Feb 01 21:10:16 *	alexX_ ( has joined #openclonk-dev
Feb 01 21:10:23 <ck>	So I don't see a problem
Feb 01 21:10:27 <Newton>	now I really need to check out if highreslandscape is enabled by default
Feb 01 21:10:27 <PeterW>	But they will show up in the history.
Feb 01 21:10:34 <Newton>	because it does not work for most people
Feb 01 21:10:45 <ck>	Yes, but that's completely OK from my pov
Feb 01 21:11:01 <ck>	Because this is how the commits actually have been recorded
Feb 01 21:11:10 *	alexX__ has quit (Ping timeout)
Feb 01 21:11:15 <Guenther>	I have far more problems with a message like "...."
Feb 01 21:11:32 <PeterW>	It's complexity overhead. I don't want to scroll past pages of commits reading "merge"
Feb 01 21:11:34 <Guenther>	We should try to prevent that sort of stuff ending up on
Feb 01 21:11:54 <Newton>	TortoiseHG has the option to hide all "merge"-commits
Feb 01 21:11:55 <PeterW>	And then wonder which one of the dozens of development lines actually means what.
Feb 01 21:12:13 <PeterW>	Yeah, which then makes the second issue worse.
Feb 01 21:12:22 <ck>	We could tell people to use more meaningful commit messages then "Merge"
Feb 01 21:12:34 <Newton>	hehe
Feb 01 21:12:40 <PeterW>	How is that supposed to make things easier? :)
Feb 01 21:12:50 <PeterW>	Then you have even more useless information.
Feb 01 21:12:51 <Newton>	"why did somebody commit just when I wanted to push!!! ARGH"
Feb 01 21:13:03 <Newton>	"merging mesh with default... AGAIN!!!"
Feb 01 21:13:15 <ck>	Newton: Now in that case even I'd go with rebase
Feb 01 21:13:18 <ck>	(And I normally do)
Feb 01 21:13:20 <Mortimer_>	i once did that!1
Feb 01 21:13:20 <Newton>	"WTF, well here it goes - mergyly dumdidum"
Feb 01 21:13:27 <PeterW>	I don't care about merges or how a patch was developed.
Feb 01 21:13:41 <PeterW>	I want to know how the patches appeared on the repository.
Feb 01 21:13:48 <ck>	It makes it easier to see "which one of the dozens of development lines actually means what."
Feb 01 21:13:52 <ck>	I do.
Feb 01 21:14:14 <PeterW>	Why? :P
Feb 01 21:14:41 <ck>	Because it preserves information like the conditions under which a patch has been developed
Feb 01 21:15:14 <PeterW>	Which is very seldom the condition under which the patch is actually approved for release.
Feb 01 21:15:41 <Mimmo_O>	Newton: yes i did
Feb 01 21:15:51 <Newton>	good
Feb 01 21:16:14 <PeterW>	Because while development is a pretty messy task of try-and-error and local developer management, taking it over into the repository is a far more structured process
Feb 01 21:16:33 *	clonkine has quit (Quit: )
Feb 01 21:17:05 *	Mortimer_ has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158])
Feb 01 21:17:27 <PeterW>	But we're getting to far into the discussion again.
Feb 01 21:17:57 <PeterW>	Guenther wanted to discuss something about strings and C4IDs, if I remember correctly?
Feb 01 21:18:15 <ck>	Yeah, but that's not the point IMO@the conditions differ at merge time, since one can merge the other way if one needs to have the same
Feb 01 21:18:34 <ck>	I agree on that discussion being somewhat pointless though ;)
Feb 01 21:18:40 <Guenther>	Na, I just wanted to accuse Isilkor of NIH and let it be ;-)
Feb 01 21:18:59 <PeterW>	So that's done then? ;)
Feb 01 21:19:34 <PeterW>	Isilkor seems to be passive anyway.
Feb 01 21:19:56 <PeterW>	Anything else that needs discussion?
Feb 01 21:20:05 <Guenther>	A better discussion might be the question of how-to-prevent-C4IDs and other identifiers from clashing
Feb 01 21:20:51 <Maikel>	We decided to use a namespace Core_
Feb 01 21:20:58 <Guenther>	So if we change CLNK to "Clonk" or some such, you suddenly can't have a variable named Clonk anymore, if I read the Code correctly
Feb 01 21:21:04 <Guenther>	Ah, good.
Feb 01 21:21:26 <PeterW>	Core_ is the namespace for Objects.c4d?
Feb 01 21:21:59 <Guenther>	OC_ might have been a little bit shorter, but well.
Feb 01 21:22:13 <Newton>	Peter: oh, its still the meeting? ^^
Feb 01 21:22:27 <loriel>	I was opposed to OC_ because it hardcodes the project name :>
Feb 01 21:22:35 <Maikel>	Some people were against OC because of branding
Feb 01 21:22:45 <PeterW>	As long as people are discussing - I guess so? :) @ Newton
Feb 01 21:22:55 <Maikel>	Regarding IDs we should get rid off the old ones asap
Feb 01 21:23:23 <Newton>	but I want Library_ for libraries
Feb 01 21:23:25 <ck>	any volunteer for that? :)
Feb 01 21:23:32 <ck>	Newton: Didn't we say Core_Library_ even?
Feb 01 21:23:34 <PeterW>	Also if we do something like Knights.c4d in future, would we want to call it OC_Knights_?
Feb 01 21:23:43 <Newton>	ur :(@Core_libary
Feb 01 21:23:50 <ck>	I'd say just Knights_
Feb 01 21:24:00 <Newton>	why do we need Namespaces again?
Feb 01 21:24:15 <PeterW>	We should call it Core.c4d then, btw.
Feb 01 21:24:31 <ck>	Hm, I'm not opposed to that@renaming to Core.c4d
Feb 01 21:25:16 <Newton>	I want to note that with OC there will probably just one official main pack
Feb 01 21:25:17 <ck>	Newton: But especially for libraries long IDs are not too annoying are they?
Feb 01 21:25:27 <ck>	They only need to be given once for a script when including them
Feb 01 21:25:38 <Newton>	as classical knight elements and I am sure fantasy elements will go into the main pack
Feb 01 21:25:57 <PeterW>	Another thing to think about: calling it "Core" makes it sound like it's really needed for running the game.
Feb 01 21:26:11 <PeterW>	Like, say, System.c4g scripts.
Feb 01 21:26:28 <ck>	Std anyone? ;)
Feb 01 21:26:30 <loriel>	We could call it Std_
Feb 01 21:26:31 <loriel>	hey!
Feb 01 21:26:32 <Matthi>	st...
Feb 01 21:26:34 <Newton>	ck: thats true. But what is the chance of having two Libraries of the same name
Feb 01 21:26:35 <Matthi>	ok
Feb 01 21:27:12 <Newton>	or two Horses
Feb 01 21:27:15 <Newton>	two Clonks
Feb 01 21:27:31 <ck>	I don't think it's a question of likelihood but rather one of consistency.
Feb 01 21:27:35 <Sven2>	*jumps in* I'd like to have it as short as possible
Feb 01 21:27:35 <Newton>	or is the namespacing about more than just possible name collisions?
Feb 01 21:27:54 <ck>	Plus likelihood 0 is better than likelihood 0+epsilon :)
Feb 01 21:28:07 <loriel>	Std_, Vanilla_, Default_, Basic_, ... hm :
Feb 01 21:28:08 <loriel>	:)
Feb 01 21:28:10 <Newton>	I mean, it would be pretty neat to just be able to write Bow->GetWidth() ... whatever
Feb 01 21:28:13 <PeterW>	Btw, we didn't agree on something like "#use Core"?
Feb 01 21:28:26 <Sven2>	Yes, I agree on that @neat
Feb 01 21:28:26 <Newton>	whats that
Feb 01 21:28:40 <loriel>	Like using namespace?
Feb 01 21:28:44 <PeterW>	Yes
Feb 01 21:28:56 <Newton>	we could also say: he, the core/std pack does not use any namespaces but all others have to!!!
Feb 01 21:28:58 <PeterW>	So you can use, say, "Clonk" and it resolves to "Core_Clonk"
Feb 01 21:29:19 <PeterW>	Then we don't need to worry about long names anymore.
Feb 01 21:29:36 <loriel>	Newton: imho, that is mean. :)
Feb 01 21:29:44 <Newton>	btw is it _ now? I'd like : or :: better
Feb 01 21:29:54 <PeterW>	(It's preferable to doing abbreviations like "Std", imo)
Feb 01 21:30:05 <loriel>	Newton: I think everything should be in some namespace and then the user can decide what thigns to bring into the global scope, if we end up having #use
Feb 01 21:30:05 <Guenther>	The train about branding has left the station a long time ago with all the C4* stuff...
Feb 01 21:30:28 <Newton>	[ ] C4
Feb 01 21:30:31 <Newton>	[ ] Std
Feb 01 21:30:34 <Newton>	[ ] Core
Feb 01 21:30:36 <loriel>	Newton: I was in favour of _ because it would parse as a regular identifier right now, I did not think people would take the C++ namespace analogy that far
Feb 01 21:30:42 <Newton>	[ ] nix
Feb 01 21:30:50 <loriel>	I would be all for :: if there is an equivalent of using namespace
Feb 01 21:30:58 <PeterW>	[ ] #use?
Feb 01 21:31:12 <Newton>	that would be an addition, no?@peter
Feb 01 21:31:35 <PeterW>	Well, it would influence my vote.
Feb 01 21:31:59 <Guenther>	Well, if C4Script had proper scoping, we might get away with not using name-prefixes
Feb 01 21:32:00 <ck>	I think we'll end up with #use in one form or the other
Feb 01 21:32:02 <Sven2>	He, C4 would be cool
Feb 01 21:32:02 <Sven2>	C4Clonk!
Feb 01 21:32:02 <PeterW>	I'm slightly against "::" because it's two characters... ;)
Feb 01 21:32:18 <loriel>	But if you use :, the ? : operator will be harder to parse!
Feb 01 21:32:36 <ck>	What about .?
Feb 01 21:32:44 <Sven2>	On that topic...what happened to the idea of replacing "->" with "."?
Feb 01 21:32:44 <Newton>	there is no ? : operator, loriel
Feb 01 21:32:53 <PeterW>	Don't we want to use that in place of "->"? @ ck
Feb 01 21:32:55 <loriel>	Newton: Well, there is no :: operator right now either
Feb 01 21:33:02 <Matthi>	[x] Core
Feb 01 21:33:02 <Matthi>	[x] #use
Feb 01 21:33:02 <Matthi>	[x] ::
Feb 01 21:33:12 <Sven2>	I'm with Matthi here
Feb 01 21:33:15 <Newton>	ack
Feb 01 21:33:20 <PeterW>	ack. But "_".
Feb 01 21:33:36 <loriel>	How about \?
Feb 01 21:33:39 <ck>	PeterW: Well, I prefer ->
Feb 01 21:33:50 <Guenther>	#use just makes the problem come again.
Feb 01 21:33:59 <Newton>	Sven: The discussion is versandet because it didnt look like someone was ready to implement that
Feb 01 21:34:02 *	Ape has quit (Client exited)
Feb 01 21:34:15 <Sven2>	Implement what? -> to .?
Feb 01 21:34:20 <Newton>	yes
Feb 01 21:34:24 *	ModernClonker has quit (Client exited)
Feb 01 21:34:24 <loriel>	Guenther: But then you can still take #use out of your script and give all the namespaces explicitly
Feb 01 21:34:25 <Sven2>	That's one character to change in source?
Feb 01 21:34:36 <Guenther>	Because just about everything in the main pack would use it, and you'd have to search the entire main pack to make sure there's no collision before using a new name
Feb 01 21:34:37 <ck>	And hundreds in scripts :)
Feb 01 21:34:55 <Sven2>	Search&Replace should be pretty safe here
Feb 01 21:35:02 <Matthi>	ck: well, find&replace should do the trick here
Feb 01 21:35:08 <ck>	Dunno. I still prefer -> over .
Feb 01 21:35:11 <PeterW>	When doing what? @ Guenther
Feb 01 21:35:28 <ck>	Guenther: The parser can emit an error if there is a collision
Feb 01 21:35:33 <ck>	+only
Feb 01 21:35:56 <loriel>	Guenther: I am not sure I can follow. Are you saying the main pack is too big?
Feb 01 21:36:12 <Guenther>	When introducing a "Foo" object, you'd have to make sure there's no local variable named foo in the entire pack.
Feb 01 21:36:53 <loriel>	Well, then tell people writing main pack code not to use #use
Feb 01 21:36:53 <loriel>	:/
Feb 01 21:37:02 <Sven2>	Local variables are supposed to be lower case?
Feb 01 21:37:05 *	ModernClonker ( has joined #openclonk-dev
Feb 01 21:37:18 <Guenther>	are they?
Feb 01 21:37:32 <Sven2>	It's what most people do
Feb 01 21:37:40 <Sven2>	And some use hungarian, which would also not conflict
Feb 01 21:37:51 <Sven2>	I'd be more worried about function names
Feb 01 21:38:05 <Guenther>	yeah.
Feb 01 21:39:22 <PeterW>	Hm, having some sort of trailing character of IDs is out, I guess?
Feb 01 21:39:26 <Newton>	bot i want to name my special clonk iClonkIndex !!!
Feb 01 21:39:27 <PeterW>	*for
Feb 01 21:39:34 <Newton>	or "i"
Feb 01 21:39:35 <Sven2>	Clonk$?
Feb 01 21:40:04 <PeterW>	More like $Clonk - the upside would be that synthax highlighting can pick it up.
Feb 01 21:42:01 <PeterW>	Ruby has ":bla" for something similar... :)
Feb 01 21:42:44 <Sven2>	I wouldn't mind that
Feb 01 21:43:10 <Maikel>	Can we even use :?
Feb 01 21:43:16 <PeterW>	.oO( ":Core:Clonk"? )
Feb 01 21:43:32 <PeterW>	Might get confusing with Namespaces, though.
Feb 01 21:43:42 <Maikel>	I'd prefer C_
Feb 01 21:44:09 <PeterW>	For marking IDs?
Feb 01 21:44:11 <ModernClonker>	Why C_?
Feb 01 21:44:16 <Maikel>	So everybody can fill in his favorite word, either Clonk or Core.
Feb 01 21:44:33 <Guenther>	We need a method to decide such matter-of-taste questions...
Feb 01 21:44:38 <PeterW>	And what about stuff that isn't neither Clonk nor Core? ;)
Feb 01 21:44:44 <Guenther>	Simple forum poll?
Feb 01 21:44:57 <PeterW>	Which matter of taste currently?
Feb 01 21:44:58 <Maikel>	Yes but we have like unlimited options
Feb 01 21:45:23 <loriel>	\Core\Clonk
Feb 01 21:45:23 <Guenther>	How to distinguish C4Ids from other global constants.
Feb 01 21:45:57 <Guenther>	The possibilities are endless, as we're seeing, and it doesn't matter much which we pick
Feb 01 21:46:10 <Newton>	well
Feb 01 21:46:15 <Newton>	as Sven2: coding guidelines
Feb 01 21:46:22 <PeterW>	Well, I guess we have a consensus in that we need /some/ kind of fixed prefix?
Feb 01 21:46:31 <Maikel>	yes
Feb 01 21:46:36 <Newton>	Isilkor said, if I declare a variable named Core_Clonk, it hides the definition
Feb 01 21:46:48 <Newton>	but this won't happen too often
Feb 01 21:46:59 <Newton>	very seldom, actually - especially with namespaces
Feb 01 21:47:01 <Guenther>	As long as we pick one. Hm, ideally one that can be changed by search&replace if we decide to get rid of it
Feb 01 21:47:07 <ck>	What kind of fixed prefix? A namespace kind, or a special character like $ or :?
Feb 01 21:47:20 <PeterW>	Then making it "Core" or "C" doesn't make much sense, imo. "ID_" would be the logical choice if we want a word.
Feb 01 21:47:27 <loriel>	Or even a namespace separated from the actual name by a special character...!
Feb 01 21:47:49 <PeterW>	A Prefix that dsitinguishes it from method names.
Feb 01 21:48:01 <PeterW>	*distinguishes
Feb 01 21:48:08 <ck>	What's the problem with methods overriding the ID locally in that script?
Feb 01 21:48:08 <Newton>	err, I don't see the necessity to have a fixed prefix for IDs
Feb 01 21:48:27 <ck>	The script won't use that ID if it introduces a method with the same name
Feb 01 21:49:05 <Guenther>	hm, the only character on a german keyboard which is reachable by one keystroke, somewhat available, doesn't have a dead key problem, and is ASCII, is #
Feb 01 21:49:25 <PeterW>	I don't think it's very good design if you have to look at the whole script to decide what kind of identifier you're looking at
Feb 01 21:49:31 <Guenther>	ck: But an include might.
Feb 01 21:49:45 <PeterW>	In case of global functions, that might be quite a lot.
Feb 01 21:50:24 <Guenther>	And yeah, being able to distinguish IDs from variables without having the whole global and local variable list in your head is a feature
Feb 01 21:50:32 <PeterW>	So shall we make a poll out of "do we even want a fixed prefix?"? :)
Feb 01 21:50:34 <Newton>	global functions dont hide ids
Feb 01 21:50:52 <Newton>	GetHiRank()->GetWidth();
Feb 01 21:51:03 <PeterW>	But local ones do? What about appends and includes? I don't think we want to put too much thought into that.
Feb 01 21:51:03 <Newton>	GetHiRank->GetWidth(); <- this one is an id
Feb 01 21:51:11 <ck>	I'm not sure how it currently works, but it would need to only override it for that script, not for its includes
Feb 01 21:51:23 <Newton>	I don't undestand your point
Feb 01 21:51:29 <Guenther>	PeterW: We could include it in the poll. Perhaps even as "I don't want a prefix" and "I can live without one"
Feb 01 21:52:13 <PeterW>	A minor gripe with "#" would be that we already use it for our directives.
Feb 01 21:52:13 <Guenther>	Which identifier hide which other is not really well defined. It might even depend on which part of the engine you're looking at.
Feb 01 21:52:54 <PeterW>	That's exactly what I'm trying to sidestep - let's have a prefix and be done with it.
Feb 01 21:53:07 <ck>	yeah, I see, it's probably possible to get it correct, but too much effort to do so :)
Feb 01 21:53:14 <ck>	@go without prefix
Feb 01 21:53:18 <Newton>	statics hide ids
Feb 01 21:53:21 <Newton>	locals hide statics
Feb 01 21:53:28 <Newton>	vars hide locals
Feb 01 21:53:33 <Guenther>	Aren't ids statics now?
Feb 01 21:53:35 <Newton>	@clear defined
Feb 01 21:53:40 <Guenther>	So it depends on the loading order...
Feb 01 21:53:58 <Newton>	so it is wrong what i said?
Feb 01 21:54:46 <Guenther>	Well, no. The parser has gotten an identifier, and tries to make sense of it. depending on where it is, it checks various sources, and picks one, and maybe issues an error if it also finds another
Feb 01 21:55:14 <Guenther>	It should be mostly consistent, but it's a mess
Feb 01 21:56:15 <Guenther>	And if I've read the source correctly, a C4ID is more or less a "static const" now
Feb 01 21:56:31 <Newton>	I see
Feb 01 21:56:46 <PeterW>	Btw - don't static consts also use upper case names?
Feb 01 21:56:50 <Newton>	actually to define a static with the same name as a C4ID might have some interesting side-effects
Feb 01 21:56:59 <Newton>	yes
Feb 01 21:56:59 <Guenther>	and multiple static const overwrite each other, but in which order depends on engine internals
Feb 01 21:57:14 <Newton>	but they have all this BIG_LETTER_Bullshit in front
Feb 01 21:57:36 <Newton>	or rather *Stuff
Feb 01 21:58:34 <PeterW>	Well, this is all a matter of taste by now - but I /do/ think we should use a prefix instead of relying on a shaky pile of naming conventions and overload rules.
Feb 01 21:58:38 <Guenther>	So until someone goes and fixes this stuff - I started, but didn't finish - we should imho go with the argument "it's good to see at first glance whether you have an id" and pretend that's the real reason ;-)
Feb 01 22:00:00 <PeterW>	So, who does the poll? ;)
Feb 01 22:02:21 <Guenther>	We might want to gather options in a topic first
Feb 01 22:03:20 <PeterW>	Well, then let's do that instead.
Feb 01 22:03:54 <PeterW>	Do we have anything else to discuss?
Feb 01 22:05:45 <Maikel>	Maybe we can also get some clear conventions on iPlr and plr, pObj and obj, that's also done very differently in the current code.
Feb 01 22:06:55 <ck>	21:36:13 <!Sven2> Local variables are supposed to be lower case?
Feb 01 22:06:59 <ck>	So iPlr and pObj are out :P
Feb 01 22:07:11 <Newton>	they start with lower case
Feb 01 22:07:12 <Maikel>	Then we have a great documentation :D
Feb 01 22:07:18 <PeterW>	Only applies to the first character, silly ;)
Feb 01 22:07:24 <ck>	oh :(
Feb 01 22:07:43 <Newton>	PeterW: we talked a lot about interna
Feb 01 22:07:52 <Newton>	I'd like to see more progress on the content
Feb 01 22:08:12 <Newton>	perhaps talk about some ideas for weapons, tools & stuff?
Feb 01 22:08:13 <PeterW>	Well, it would be great if we could solve the CamelCase versus the bottom_liners, but I don't think we'll manage that.
Feb 01 22:08:19 <Newton>	- and post that
Feb 01 22:08:39 <PeterW>	+war
Feb 01 22:09:01 <Maikel>	Well, I tried to implement a rope+hook that can be shot with the bow.
Feb 01 22:09:24 <Newton>	:o
Feb 01 22:09:32 <Matthi>	PeterW: I don't think it's worth discussing much more
Feb 01 22:09:50 <loriel>	Maybe we can compromise on camelCase
Feb 01 22:10:03 <ck>	loriel: yeah, let's introduce a third style :D
Feb 01 22:10:05 <Newton>	I also want to discuss that Matthi does nothing
Feb 01 22:10:23 <Matthi>	The time spent on forum topics, polls and whatnot would be spent better on implementing whatever comes to your mind :/
Feb 01 22:10:24 <Newton>	that might be dromedarCase
Feb 01 22:10:41 <loriel>	(I always thought it was camelCase versus PascalCase)
Feb 01 22:10:47 <Matthi>	I just don't think it's THAT big a deal.
Feb 01 22:11:07 <Newton>	and I want to discuss that Matthi shouldnt do advice here and in the forum but spent his time better on implementing stuff
Feb 01 22:11:34 <Newton>	but the camel has two höckers
Feb 01 22:11:43 <PeterW>	(I think that too, I might have failed to express a slightly sarcastic tone. :) )
Feb 01 22:12:14 <Matthi>	Newton: Right now, my main occupation is trying not to fail an exam for I would have to add a year if do. Ask me about actually coding or doing stuff in about a week again
Feb 01 22:12:34 <Maikel>	[x] Newton implements everything, the rest goes to bed now.
Feb 01 22:12:43 <Newton>	Lets discuss how much Matthi fails his exams
Feb 01 22:13:07 <ck>	Lets discuss about how much Newton drank already this night
Feb 01 22:13:41 <Newton>	no seriously, I think it is very important to open up and public-ize OC through all platforms we can teh best we can
Feb 01 22:13:50 *	ShadoOw has quit (Ping timeout)
Feb 01 22:14:01 <Maikel>	Yes we can?
Feb 01 22:14:21 <Newton>	because motivation (and time) of single people runs out - as productive as they may be
Feb 01 22:14:41 <Newton>	but if we turn more towards community buildings, the long term gain for the project will be greater
Feb 01 22:14:51 <Newton>	because the project is not so much bound to certain people anymore
Feb 01 22:15:02 <Maikel>	But you really need content to show
Feb 01 22:15:23 <Matthi>	And we're going to need a bigger chatroom on mondays, then.
Feb 01 22:15:24 <Newton>	and where are the people who are good with C4Script?
Feb 01 22:15:31 <Newton>	(not counting us)
Feb 01 22:15:52 <Maikel>	Everybody interested in OC development is in the CCF?
Feb 01 22:15:54 <Matthi>	I guess there are busy coding C4Script for a game that actually WORKS? :/
Feb 01 22:16:21 <Newton>	well, I think OC reached a state where content developers can begin to err.. dwell
Feb 01 22:16:27 <Matthi>	Yes
Feb 01 22:16:41 <Newton>	so it works out of a C4Scripter POV
Feb 01 22:16:44 <Matthi>	And throw around their code when the forum poll has decided the camel-case-war?
Feb 01 22:17:11 <Newton>	?
Feb 01 22:17:25 <Matthi>	Seriously, I won't be doing a greal deal of script-work unless the engine-side of scripting is near "done"
Feb 01 22:17:47 <Newton>	tell me, what is missing engine side`
Feb 01 22:17:57 <Matthi>	Well, let's say, consistency?
Feb 01 22:18:09 <Newton>	meaning?
Feb 01 22:18:55 <Matthi>	There are still open topics, like if we use "." or "->", Camel-Case Namespaces, how propertyLists/Setter-Getter are managed...
Feb 01 22:20:03 <Newton>	the first is not of any importance
Feb 01 22:20:14 <Matthi>	And as long there are these big discussions about C4Script every monday, dreadging to change or (re-)implement stuff, I don't really want to get started
Feb 01 22:20:34 <Newton>	if this patch comes, the one that does this patch will replace all -> with .
Feb 01 22:20:44 <Newton>	and so with all other C4Script changes
Feb 01 22:20:56 <Newton>	nobody may commit a patch that breaks the game
Feb 01 22:20:56 <Matthi>	Haha
Feb 01 22:21:17 <Matthi>	Well, that's not a good idea
Feb 01 22:21:26 <Matthi>	You'd just burden the engine coders even more
Feb 01 22:21:54 <Newton>	aha, is that so
Feb 01 22:22:07 <Newton>	well but this is how we do it with our repository
Feb 01 22:22:24 <ck>	I think Newton is right here. We should not commit any patches obviously and intentionally breaking stuff.
Feb 01 22:22:33 <Matthi>	Of course
Feb 01 22:22:41 <ck>	At least not if it has not been discussed before
Feb 01 22:22:41 <Matthi>	that's not what I'm getting at
Feb 01 22:23:15 <Newton>	and this out of an obvious reason
Feb 01 22:23:19 <Newton>	you are right, we need content
Feb 01 22:23:44 <Newton>	but content can only be developed if the content developers know that they dont have to write everything new all the time
Feb 01 22:23:46 <Matthi>	I'm saying: Creating script content NOW is a burden for everybody, while creating script content when Engine-C4Script is _done_ isn't and might even be easier for the scripters.
Feb 01 22:25:15 <Newton>	you are assuming that there is some mysterious "engine developer" regularly contributing in the shadows, following his schedule until he is done, at one fixed date. And until then, C4Script may not be called "done" and shouldn't be used
Feb 01 22:25:42 <Matthi>	I don't think he is THAT mysterious
Feb 01 22:25:44 <Newton>	this is what many people think that are outside the project
Feb 01 22:26:09 <Matthi>	So where am I wrong with that assumtion?
Feb 01 22:26:45 <Newton>	brb
Feb 01 22:26:53 <ck>	I'd say there is no fixed date at which C4Script is "done".
Feb 01 22:27:04 <ck>	There will always be discussions about what can be changed or improved
Feb 01 22:27:14 <Matthi>	okay, agreed.
Feb 01 22:27:53 <Matthi>	But implementing stuff considered important like this namespace-discussion above is something I wouldn't call "change or improve"
Feb 01 22:28:01 <Matthi>	but "laying out the basics"
Feb 01 22:28:26 <Newton>	the basics are layed out
Feb 01 22:28:59 <Newton>	the namespace discussion is not a big one either
Feb 01 22:29:30 <Newton>	cmon, change the id of all objects? Thats not really a long task either
Feb 01 22:29:42 <Newton>	search&replace
Feb 01 22:30:05 <Matthi>	search&replace on Ids?
Feb 01 22:30:09 <Newton>	yes
Feb 01 22:30:39 <Newton>	long ideas are implemented already by the way. Because the stuff about namespaces is not solved yet, I just name my Objects anything
Feb 01 22:30:48 <Newton>	QWER
Feb 01 22:31:01 <Matthi>	Phew
Feb 01 22:31:24 <Newton>	no actually i still use 4-character IDs with "logic" names
Feb 01 22:32:44 <Matthi>	Well, I don't know - I still fear that some futur changes might not be just a "find&replace" but something more grave, as the project is still considerably young.
Feb 01 22:33:18 <Guenther>	Yeah, the only big task C4Script-wise still left is savegame support, and reimplementing local named variables with properties. Both shouldn't affect the API much if at all.
Feb 01 22:33:29 <Guenther>	We already did the big breaking changes.
Feb 01 22:33:36 <ck>	Matthi: Then the one making the change in the engine is responsible for making sure your scripts still work
Feb 01 22:33:48 *	B_E is now known as b_e
Feb 01 22:34:23 <Guenther>	I mean, we do feature additions to C4Script because we like to implement our own programming language.
Feb 01 22:34:45 <Guenther>	If we didn't, we'd just use Lua or something.
Feb 01 22:35:35 <Guenther>	So if the burden of changes becomes greater, new features might not get implemented. CR did fine with the existing features, so that's not a grave risk.
Feb 01 22:35:55 <Guenther>	On the other hand, not having content and losing the interest of other developers is a grave risk.
Feb 01 22:39:51 *	Mortimer ( has joined #openclonk-dev
Feb 01 22:42:17 <Matthi>	Yes, agreed.
Feb 01 22:43:34 <Newton>	and for me, it is important now to mobilize (and coordinate) as many ppl for that as possible to get out of this
Feb 01 22:45:21 <Newton>	while I could also get on to this, I can only create a limited amount of stuff and these script tasks (making tools, weapons etc) are not too challenging (if the weapon/spell itself is not too complicated)
Feb 01 22:45:30 *	Icewing has quit (Client exited)
Feb 01 22:46:31 <Newton>	(plus I have more fundamental stuff to do that wouldn't count as "content" - e.g. next gamepad controls)
Feb 01 22:51:46 <ck>	Would be good to have a list of very clear and discrete tasks
Feb 01 22:51:54 <ck>	But of course it's already a lot of work to compile such a list
Feb 01 22:52:36 <Maikel>	As detailed as: Translate stringtables of Parkour.c4d?
Feb 01 22:53:17 <ck>	why not?
Feb 01 22:54:06 <Maikel>	Btw, can particles have Graphics.X?
Feb 01 22:55:09 <ck>	I think so, but better try it out :)
Feb 01 22:58:30 <ck>	Have we decided who starts the forum poll/discussion on ID prefixes/namespacing? Is it PeterW?
Feb 01 23:04:23 *	stevi is now known as stevi`off
Feb 01 23:05:48 <Maikel>	It's possible but then the engine draws less of them...
Feb 01 23:06:08 <PeterW>	I'll do it tomorrow if nobody else has done it by then
Feb 01 23:08:46 *	Drakkar has quit (Ping timeout)
Feb 01 23:10:06 *	Drakkar ( has joined #openclonk-dev
Feb 01 23:24:18 *	Balu has quit (Quit: Tjoar, bin dann mal weg und so...)
Feb 01 23:32:08 *	Mortimer has quit (Quit: Mortimer)
Feb 01 23:38:34 <Maikel> if someone has some incentive left to push this to OC default.
Feb 01 23:40:18 <ck>	Is this using MCs graphics?
Feb 01 23:40:51 <Maikel>	yes
Feb 01 23:41:59 <Maikel>	and particles instead of some old graphics
Feb 01 23:45:26 <Mimmo_O>	what was the adress again?
Feb 01 23:45:37 <Mimmo_O>	ssl://hg@hg.openclonk.or/openclonk or so?
Feb 01 23:46:04 <ck>	ssh://, not ssl:/
Feb 01 23:46:08 <Mimmo_O>	ahyes
Feb 01 23:46:34 <ck>	can't push. Lineendings. hrgrm.
Feb 01 23:47:17 <Mimmo_O>	emote: abort: pretxnchangegroup.crlf hook failed
Feb 01 23:47:17 <Mimmo_O>	('unexpected response:', '')
Feb 01 23:47:17 <Mimmo_O>	[command interrupted]
Feb 01 23:47:19 <Mimmo_O>	same
Feb 01 23:47:25 <Maikel>	Ok that thing I added in hgrc has no effect...
Feb 01 23:47:30 <occ>	Maikel * 0ce181061027 planet (18 files in 2 dirs): Update Parkour graphics, got rid of some Translates.
Feb 01 23:48:01 <ck>	Mimmo_O: Yes, that's the lineendings check.
Feb 01 23:48:07 <Maikel>	Ty
Feb 01 23:48:08 <Mimmo_O>	yes
Feb 01 23:48:11 <Sven2>	rere
Feb 01 23:48:31 <Mimmo_O>	wbwb
Feb 01 23:48:59 <Sven2>	Funny chatlog. I see you didn't agree on a scripting styleguide?
Feb 01 23:49:17 <ck>	Sven2: You mean for the IDs?
Feb 01 23:49:32 <Sven2>	Yes
Feb 01 23:49:54 *	Mortimer ( has joined #openclonk-dev
Feb 01 23:49:59 <ck>	I think it's likely that we will end up with some prefix char such as $ or :. Peter wants to start a discussion and/or poll in the forums
Feb 01 23:50:00 <Maikel>	When I read the former logs, I thought concensus was already reached
Feb 01 23:50:11 <Sven2>	OK
Feb 01 23:50:17 <Mimmo_O>	works great
Feb 01 23:50:20 <Sven2>	What about the rest of the script? Like, local vars, functions, etc.?
Feb 01 23:50:41 <ck>	Hasn't been discussed any further
Feb 01 23:50:42 <Sven2>	I currently use local_var, FunctionName and (obviously) C4ID
Feb 01 23:50:52 <ck>	At least if I haven't missed anything ;)
Feb 01 23:51:12 <ck>	That's what I do as well though I'm rarely editing C4Scripts ;)
Feb 01 23:51:53 <Sven2>	If we switched to functionName, C4IDs would actually be the last thing remaining to start with a lower case letter
Feb 01 23:51:54 <PeterW>	Well, FunctionName and DefinitionName are kind of set, I guess?
Feb 01 23:51:56 <Sven2>	*upper case letter
Feb 01 23:52:10 <Sven2>	So we'd not need a prefix
Feb 01 23:52:33 <PeterW>	Then constants would need to be lower case, too...
Feb 01 23:52:53 <Sven2>	Well, OK. They are UPPERCASE_Something?
Feb 01 23:53:30 <PeterW>	And Definitions and Functions must always use at least one lower case character then?
Feb 01 23:54:23 <Sven2>	The initial letter would be lower case
Feb 01 23:54:44 <Sven2>	What are definitions? You mean, former C4IDs? The initial letter would be upper case
Feb 01 23:54:55 <Sven2>	AquaClonk->doBreath()
Feb 01 23:55:07 <Sven2>	(if that were a static method)
Feb 01 23:55:08 <PeterW>	Yeah, I'm trying to find another term for it.
Feb 01 23:55:26 <PeterW>	But AQUA_CLONK->doBreath() if it's a constant?
Feb 01 23:55:40 <Sven2>	Why would AQUA_CLONK be a constant?
Feb 01 23:56:06 <PeterW>	<Sven2> Well, OK. They are UPPERCASE_Something? <- Wasn't that what you proposed?
Feb 01 23:56:23 <Sven2>	I thought of stuff like COMD_Up
Feb 01 23:56:27 <ck>	Not sure whether it's a good idea to introduce yet another convention for function names.
Feb 01 23:56:52 <Sven2>	Well, that would be a huge change and it would obviously need to be converted automatically somehow
Feb 01 23:57:04 <Sven2>	It's just more in line with other programming languages
Feb 01 23:57:08 <PeterW>	Yeah, I'm also against conventions - if we do something like that, we should enforce it on the parser level.
Feb 01 23:57:09 *	Zapper has quit (Quit: noes, lowercase letters at the beginning :o)
Feb 01 23:57:53 <Sven2>	Stupid func label!
Feb 01 23:57:59 <PeterW>	Yeah :)
Feb 01 23:58:18 <Sven2>	That "countdown bomb script"
Feb 01 23:58:31 <PeterW>	Well, it made sense ;)
Feb 01 23:58:36 <Sven2>	gave me nightmares. Functions named "1" through "10"
Feb 01 23:59:08 <Sven2>	Or "Bubble: return(Bubble(10,20));" in the official Objects.c4d submarine
Feb 01 23:59:18 <PeterW>	At least we have cleared that up - otherwise we'd have to decide now whether "1" is lower or upper case :P
Feb 01 23:59:57 <PeterW>	Who needs recursion.
Feb 02 00:00:15 <PeterW>	Well, my point is: If we do that upper case / lower case rule, we should stick with it.
Feb 02 00:00:34 <PeterW>	So all functions and all constants (both engine and scripter-defined) should be lowercase.
Feb 02 00:00:44 <Sven2>	dromedarCase!
Feb 02 00:00:56 <PeterW>	Yeah, lowercase at the beginning.
Feb 02 00:01:04 <PeterW>	comd_Up?
Feb 02 00:01:14 <Sven2>	Well, that's a constant?
Feb 02 00:01:16 <Sven2>	COMD_Up then
Feb 02 00:01:26 <PeterW>	Well, no
Feb 02 00:01:28 <Sven2>	Anyway, just a proposal. I guess you write your thread, we vote and be done with it
Feb 02 00:01:50 <PeterW>	As I said - no special rules for constants.
Feb 02 00:02:00 <PeterW>	Yeah, I will do that.
Feb 02 00:02:14 <PeterW>	Good thing I waited, now I have another option to put on that list.
Feb 02 00:03:08 <Sven2>	I'm always a bit afraid of this kind of forum discussion, because it flocks so many people who never wrote or will write a single line of script voting for obscure reasons
Feb 02 00:03:13 <Sven2>	But I guess that's what you get with an open source project :P
Feb 02 00:03:54 <PeterW>	At least with more people stalemates are less likely.
Feb 02 00:04:47 <Sven2>	Don't forget to add the option "TClonk, TFlint, etc." for definition names. For carli ;)
Feb 02 00:04:51 <PeterW>	Hm, I think I will have to write an example to make the differences clear.
Feb 02 00:05:11 <PeterW>	That's Delphi naming convention?
Feb 02 00:05:19 <ck>	Now TFlint is funny. :P
Feb 02 00:05:28 <ck>	The TFlint would then be TTFlint? ;)
Feb 02 00:05:30 <Mortimer>	TTFlint :I
Feb 02 00:06:05 <Sven2>	Yes. @Delphi
Feb 02 00:06:07 <PeterW>	And a flint spewing truetype fonts would be a TTTFFlint, yes ;P
Feb 02 00:06:08 <ck>	also root naming convention ;)
Feb 02 00:06:15 <Mortimer>	Guenther: how do I send you the public key :o ?
Feb 02 00:06:17 <Sven2>	That's how it used to be when I wrote in Delphi
Feb 02 00:09:11 <Sven2>	PeterW: Also allow us to select multiple choices
Feb 02 00:09:47 <PeterW>	So you can express "Everything, but not bla" opinions? :)
Feb 02 00:09:47 <Guenther>	Mortimer: In a reasonable secure manner.
Feb 02 00:10:13 <PeterW>	The public key isn't really that secret, is it?
Feb 02 00:10:17 <Sven2>	Yes. I'm fine with most options, as long as names are reasonably short
Feb 02 00:10:17 <Mortimer>	;>
Feb 02 00:10:45 <PeterW>	If you post it here, we can all give you accounts on our servers, if we want ;)
Feb 02 00:10:48 <Guenther>	Yes. It's 	authenticity that matters.
Feb 02 00:10:50 <Sven2>	And aren't a nightmare to type on a US layout keyboard (like ->)
Feb 02 00:11:20 <ck>	-> is kinda OK an US Dvorak :P
Feb 02 00:11:21 <Mortimer>	irc message won't do?
Feb 02 00:11:21 <PeterW>	Well, I guess we will have a #use anyway, so name length isn't really an issue?
Feb 02 00:11:53 <Guenther>	I'm against #use or something like that, by the way
Feb 02 00:12:08 <PeterW>	For what reason?
Feb 02 00:12:11 <Sven2>	Don't know. I'd just like to have short names now and push the namespace part away until we need it :P
Feb 02 00:12:31 <Guenther>	Well, I should probably get clarification from Isilkor on the level of paranioa I should use
Feb 02 00:12:59 <Sven2>	From my experience with CR, it almost never matters. We had very few conflicts even with C4IDs
Feb 02 00:12:59 <PeterW>	If we start using silly "Std_Liv_Clonk" abbreviations, we might have to stick with them for quire some time.
Feb 02 00:13:22 <Guenther>	Forum private message might be better, if you have enough forum messages so that I can convince myself that the person controlling that forum account is trustworthy enough
Feb 02 00:13:51 <Guenther>	For all I know, your IRC account could have been taken over by aliens in the time I wasn't here...
Feb 02 00:14:42 <Mortimer>	o_o message via bitbucket?
Feb 02 00:14:45 <PeterW>	That's about as probable as the event of you getting overtaken by an alien? :P
Feb 02 00:14:50 <Sven2>	Guenther: Reminds me of that guy who made it his hobby to take over large guilds in MMORPGs
Feb 02 00:15:14 <Guenther>	Namespaces that one flattens away anyway are not of much use
Feb 02 00:15:20 <Sven2>	By making new accounts w/ names similar to those of guild leaders, then told some other guild admins his name got changed by admins
Feb 02 00:16:16 <PeterW>	Well, I guess it would be a better idea to have the syntax go something like "#use Core_Living_*" or something to that effect.
Feb 02 00:16:24 <Guenther>	Well, with a simple IRC private message, I'd implicitely rely on the fact that we are obscure enough so that nobody wants to put a backdoor into our code
Feb 02 00:16:29 <Sven2>	That's really awkward, imo
Feb 02 00:16:38 <PeterW>	Judging from mainstream languages.
Feb 02 00:16:39 *	Matthi has quit (Connection reset by peer)
Feb 02 00:16:50 <PeterW>	But then we need a formal meaning where the "real" name is supposed to start :)
Feb 02 00:17:26 <Guenther>	We really should try to get a sense of real namespace clashes that actually happened
Feb 02 00:17:27 <PeterW>	The point is that I'm not really thinking about the core objects - I'm actually thinking about different object packages
Feb 02 00:17:33 <Mortimer>	ah whatever, i just sent a message via bitbucket.. although I probably mistyped guenther and sent it to some other guy
Feb 02 00:17:38 <PeterW>	And they typically would not #use each other
Feb 02 00:17:45 <Newton>	Günther: no, both of you start Clonk and meet in a network game
Feb 02 00:17:54 <PeterW>	So we have the most problematic namespace isolated as a result.
Feb 02 00:17:59 <Sven2>	Guenther: The skeleton from Metal+Magic had the same ID as some furniture item in Hazard
Feb 02 00:18:19 <Guenther>	So that's basically halfway solved by the longer ids.
Feb 02 00:18:36 <PeterW>	And there were a few between the Far Worlds packs befiore they were merged, if I remember correctly?
Feb 02 00:18:41 <Sven2>	Yes, definitely
Feb 02 00:18:50 <Sven2>	Yes, that was extraordinary silly
Feb 02 00:18:56 <Sven2>	We ended up having overloads within the same object pack
Feb 02 00:19:08 <Sven2>	Anyway. I'd think "One namespace per object pack" is more than enough
Feb 02 00:19:12 <Newton>	iirc that was also because there were the same objects overloaded ... e.g. fishes
Feb 02 00:19:25 <Sven2>	Yes. But that's a problem namespaces will *not* solve
Feb 02 00:19:31 <Guenther>	And caused by the fact that they were basically the same object, but slightly different behaviour, that should have been solved by more flexibility
Feb 02 00:20:08 <Sven2>	Best example were the FarWorlds hammers, imo
Feb 02 00:20:18 <Sven2>	"Sorry Mr. Inuk, but that's a Jungle Hammer"
Feb 02 00:20:18 *	Maikel has quit (Life is too colorful...)
Feb 02 00:20:20 <Guenther>	So, while we are taking examples from other languages, how about using the directory structure?
Feb 02 00:20:56 <PeterW>	Well, yes, I was thinking about how we could link that somewhat.
Feb 02 00:21:08 <Sven2>	That means super long IDs :(
Feb 02 00:21:19 <Sven2>	Sometimes you build subdirectories because one directory just filled up too much
Feb 02 00:21:23 <PeterW>	But on the other hand I don't really know whether we'd really want "Core_Living_Clonk".
Feb 02 00:21:28 <Sven2>	Like, you would separate explosives from other items
Feb 02 00:21:53 <Guenther>	I was more thinking along the lines of having one namespace per toplevel object folder
Feb 02 00:22:00 <Guenther>	You could call it package
Feb 02 00:22:04 <Sven2>	Objects.c4d automatically in Core?
Feb 02 00:22:22 <PeterW>	We previously discussed that we might want to rename it to Core.c4d anyway
Feb 02 00:22:41 <Sven2>	I don't like that name. But w/e :P
Feb 02 00:22:54 <PeterW>	Well, what would you like?
Feb 02 00:23:04 <Sven2>	Don't know. Objects.
Feb 02 00:23:05 <Guenther>	Hm, are we trying to make name clashes be noticed automatically, or trying to prevent new name clashes from breaking older stuff?
Feb 02 00:23:20 <PeterW>	And we could have #use recursively add all definitions.
Feb 02 00:23:48 <PeterW>	That way, #use Core makes everything run smooth, but you can still do #use Core_Living if you want a more specific set.
Feb 02 00:24:05 <Sven2>	Guenther: When would a name clash break old stuff anyway?
Feb 02 00:24:20 <Sven2>	So far, name clashes were only a problem when independently developed packs ended up being used together
Feb 02 00:24:37 <Guenther>	Objects.c4d gets a hammer, and old arctic worlds stop working
Feb 02 00:24:50 <Sven2>	Arctic worlds would overload Objects' hammer
Feb 02 00:24:56 <Sven2>	No problem there
Feb 02 00:25:20 <PeterW>	I mean, we have people select specific subfolders of definition folders as prequisites - if top definition folders are packages, the subfolders are packages, too.
Feb 02 00:25:24 <Guenther>	Okay, so the Clonk wouldn't be able to build stuff, because he needs a hammer which is overriden by arctic
Feb 02 00:25:47 <Sven2>	That would be a game-breaking change anyway
Feb 02 00:25:55 <Guenther>	PeterW: Maybe we should stop that particular insanity
Feb 02 00:25:58 <Sven2>	Because the arctic scenario wouldn't have put that hammer into base objects anyway
Feb 02 00:27:11 <Sven2>	My point is: Old scenarios used to break commonly. But almost never due to "ID conflicts"
Feb 02 00:28:13 <Guenther>	So, we aren't solving that problem.
Feb 02 00:28:42 <PeterW>	As far as I'm concerned, we are solving the biggest chunk of the problem. Just not the whole thing.
Feb 02 00:28:59 <Sven2>	No. Scenarios break because object internals change
Feb 02 00:29:14 <Sven2>	Like, the dead bird gets its own definition, and suddenly bird hunt no longer works
Feb 02 00:29:14 <Guenther>	Mortimer: solltest schreibrechte haben.
Feb 02 00:29:24 <PeterW>	If some object package #uses another, it will have to adapt anyway if it changes.
Feb 02 00:29:46 <Sven2>	Or matthes decides to rename all knights pack basement IDs
Feb 02 00:30:00 <PeterW>	We can't get around problems here. What we can solve is completely unrelated object packages interfering with each other.
Feb 02 00:30:13 <Sven2>	Yes. Probably
Feb 02 00:30:39 <Sven2>	Still, we wouldn't need "Core". "Core" could be implicit for the system pack that is always loaded
Feb 02 00:31:08 <Guenther>	though one could say that those packs could just be fixed not to interfere
Feb 02 00:32:14 <Sven2>	Also, you could be free to access definitions within your own pack without a qualifier. Like an implicit #use.
Feb 02 00:32:17 <PeterW>	Yeah, that's also one problem I have with that name @ Sven
Feb 02 00:32:44 <Sven2>	Identifiers within the same package need to have precedence, of course
Feb 02 00:32:56 <PeterW>	I think we have material for at least three seperate polls after today's session... ;)
Feb 02 00:33:30 <Mortimer>	hmm.. should I push the debug branch? without merging it into default it shouldn't cause too much damage, right?
Feb 02 00:33:51 <ck>	Make sure that the ones decision to vote for one poll does not depend on the outcome of the others ;)
Feb 02 00:33:57 *	Drakkar has quit (Ping timeout)
Feb 02 00:34:18 <Guenther>	well, if you rebase it first, or at least do not push all those merges which are not followed by a code change
Feb 02 00:34:42 <Mortimer>	okay..
Feb 02 00:34:53 <PeterW>	Will be hard to do. I do know why I don't want to do that this evening ;) @ ck
Feb 02 00:35:26 <Guenther>	so, I'm going to bed. g'night.
Feb 02 00:35:32 <Sven2>	Well, we should resolve it quickly
Feb 02 00:35:35 *	Guenther has quit (Quit: gÀhn)
Feb 02 00:35:38 <PeterW>	Just push a minimal amount of merges, as a rule of thumb ;) @ Mortimer
Feb 02 00:35:56 <Sven2>	People prefer to have some safety their code won't be outdated too fast (though I think it's a bit silly)
Feb 02 00:36:02 <PeterW>	Yeah, we will have to convert some scripts, I guess?
Feb 02 00:36:29 <Sven2>	Depends on the outcome of the poll
Feb 02 00:36:40 <PeterW>	It's pretty likely.
Feb 02 00:36:44 <Sven2>	Do we have an option for "Everyone codes the way he likes"?
Feb 02 00:37:01 <PeterW>	Well, no.
Feb 02 00:37:35 <PeterW>	We can't have everyone call the Core package a different name, for example ;)
Feb 02 00:38:08 <PeterW>	As far as names are concerned, I'm still in favor of a simple prefix like ":" - then everyone can choose names as he sees fit.
Feb 02 00:38:31 <PeterW>	(for IDs, I mean @ prefix)
Feb 02 00:38:56 <PeterW>	We could even make them - haha! - case insensitive :)
Feb 02 00:40:47 <PeterW>	Okay, as moderator I know declare this meeting finished.
Feb 02 00:40:53 <PeterW>	*save log*
Feb 02 00:41:29 *	ck already declared it as finished somewhat earlier and uploaded the log
Feb 02 00:41:33 <ck>	But feel free to replace it