IRCMeeting/20100201: Difference between revisions
Clonk-Karl (talk | contribs) Added today's meeting's log |
Clonk-Karl (talk | contribs) Provide summary for today's meeting |
||
Line 1: | Line 1: | ||
== Summary == | |||
* 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 oc.org, will start on Gamepad controls next. | |||
** See also his [http://forum.openclonk.org/topic_show.pl?pid=5730#pid5730 forums post]. | |||
* Nightly builds and development snapshots | |||
** Windows engine can be cross-compiled, interface to upload builds on openclonk.org required | |||
** See also [http://forum.openclonk.org/topic_show.pl?pid=5736#pid5736 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 == | == Full Log == | ||
<pre>19:11:12-!- Guenther [~guenther@euirc-c8e98cb1.dip.t-dialin.net] has joined #openclonk-dev | <pre>19:11:12-!- Guenther [~guenther@euirc-c8e98cb1.dip.t-dialin.net] has joined #openclonk-dev |
Revision as of 22:34, 1 February 2010
Summary
- 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 oc.org, will start on Gamepad controls next.
- See also his forums post.
- Nightly builds and development snapshots
- Windows engine can be cross-compiled, interface to upload builds on openclonk.org 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
19:11:12-!- Guenther [~guenther@euirc-c8e98cb1.dip.t-dialin.net] has joined #openclonk-dev 19:11:13-!- mode/#openclonk-dev [+ao Guenther Guenther] by ChanServ 19:11:13<!ck> ok so let's get starting, shall we? Does anybody want to discuss something beyond the obligatory status updates? 19:11:14<!PeterW> Hm, do we have some sort of developer list somewhere? 19:11:20< loriel> Hi, Guenther :) 19:11:28<!Mimmo_O> we do 19:11:31<!Sven2> I'm here...gtg soon tho 19:12:06<!PeterW> Where? :) 19:12:17<!Maikel> no @ck do you lead it today? 19:12:17<!Guenther> hello. 19:12:25<!Mimmo_O> but i cant find it 19:12:43<!PeterW> Well, I could use the list from the forum. 19:13:11< Ape> PeterW: /names #openclonk-dev and look for ! 19:13:25<!ck> (I might want to discuss potential nightly builds) 19:13:28<!ck> Maikel: No idea. Can do. 19:13:32<!PeterW> Well, feel free. 19:13:46<!PeterW> You are first on the alphabetical list :) 19:14:13<!Maikel> /nick A 19:14:16<!ck> Let's go reverse so that Sven2 gets his turn before he leaves ;) 19:14:19-!- Irssi: #openclonk-dev: Total of 28 nicks [3 ops, 0 halfops, 1 voices, 24 normal] 19:14:29<!ck> So Zapper is first 19:14:31<!PeterW> How much time do you have? @ Sven2 19:14:49<!Sven2> Don't know. Could leave any moment from now. 19:14:50<!Zapper> Oh 19:15:07<!Sven2> Anyway, I don't have much to tell. Fixed a few engine bugs, including the much/dreaded crash-at-game-end 19:15:12<!PeterW> I'd say Sven simple reports first and we continue with the list from there. 19:15:15<!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 19:15:30<!PeterW> Heh 19:15:46<!PeterW> <- moderator, by Maikel, so please do as I say ;) 19:16:01<!Sven2> Gone now, have fun! 19:16:02<!Zapper> I read the red highlighted line and started typing :< 19:16:22<!ck> ok. cya Sven 19:17:06<!PeterW> No questions to Sven? ;) 19:17:29<!PeterW> Then okay, let's continue with ck. 19:17:59<!ck> I did some more work on mesh rendering 19:18:12<!ck> as you probably noticed the ugly display bugs are gone :) 19:18:42<!ck> And I added the possibility to animate attached meshes, the bow is currently a nice example for that 19:19:11<!ck> Ah, and the lighting has been somewhat fixed 19:19:52<!PeterW> What's changed with the lighting? 19:20:12<!ck> The position of the light source 19:20:34<!ck> I think it was in positive X direction in front of the Clonk before, instead of "out of the screen" 19:21:17<!ck> And then I cross-compiled the Windows engine from Linux (this went surprisingly smoothly), which could be used for automatic nightly builds 19:21:27<!PeterW> Hm, the lighting now uses true dynamic lights? :) 19:21:35<!PeterW> Didn't notice that. 19:21:45<!ck> Yes, it did from the beginning 19:21:57<!ck> It's just that the light source is always at the same position relative to the object currently 19:22:36<!ck> I'm not sure whether it should stay like that... maybe worth another discussion ;) 19:22:55<!PeterW> Hm, how did matthes build the Windows engine anyway? 19:23:06<!ck> I think he used MSVC7 19:23:08<!PeterW> Did he have some kind of virtual machine setup...? 19:23:31<!PeterW> Yeah, but he somehow also did it in the server, or am I wrong? 19:24:09<!Guenther> No, he didn't 19:24:13<!PeterW> The compiler might even work with Wine... 19:24:13<!ck> Hm, not sure. We had cross-compiled 64 bit linux builds on zeri IIRC, but I am not sure wrt the windows ones 19:24:43<!PeterW> So I just missed him uploading the binaries by hand? @ Guenther 19:24:57<!Guenther> Probably. 19:25:06<!Guenther> He even mentioned the machine names in the SVN logs 19:25:59<!PeterW> Hm, okay. So no help there. 19:25:59<!Guenther> Only the Linux binaries were compiled on the Server, mostly because matthes didn't use a Linux desktop/laptop machine regularly 19:26:17<!PeterW> And cross-complied the Mac one? 19:26:18<!Guenther> Crosscompiling with mingw32 to windows isn't _that_ bad ;-) 19:26:35<!Guenther> No, he simply used a mac laptop for that, iirc 19:27:13<!PeterW> Ah well, 10 minutes are up. 19:27:34-!- Irssi: #openclonk-dev: Total of 28 nicks [3 ops, 0 halfops, 1 voices, 24 normal] 19:27:40<!PeterW> Next up: Günther :) 19:27:42<!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? 19:27:43<!Mimmo_O> PeterW: you dont have to follow my pattern with the 10 minutes 19:27:49 * Guenther has nothing 19:28:08<!PeterW> I don't think it's neccessarily a bad rule to follow. 19:28:10-!- stevi is now known as stevi`off 19:28:18<!PeterW> Before we get too much into details. 19:28:32<!PeterW> Okay, Isilkor? 19:28:59<!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. 19:29:01<!PeterW> Hm, he didn't report, so he might not be here? 19:29:26<!Maikel> Indeed, Idle: 2hrs 9mins 1sec 19:29:35<!PeterW> You mean like for an PS emulator? 19:29:43<!Guenther> No, the PC version. 19:30:06<!PeterW> If you learn some shaders along the way it might actually turn out to be of some use ;) 19:30:14<!PeterW> (okay, D3D6, I know, but still.) 19:30:41<!PeterW> I'm still convinced that we should try to solve the landscape zooming problem this way. 19:31:03<!PeterW> Okay, moving the the next developer: Maikel 19:31:05<!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. 19:31:24<!Guenther> Yeah, improving the landscape shader would be very worthwhile 19:32:08<!PeterW> Maikel, you there? :) 19:32:14<!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 19:32:15<!Maikel> yes 19:32:19<!PeterW> Ah, okay 19:32:29<!PeterW> IRC needs typing notifications, sorry. 19:33:00<!Maikel> Furthermore I started on MicroMelee-based rule, which allows for relaunches and a scoreboard, etc. 19:33:56<!Maikel> So that basically any scenario for out first release can be without scenario scripts, do we even want this? 19:34:03<!Maikel> out=our 19:34:47<!PeterW> You mean, you configure everything by placing objects? 19:35:11<!Maikel> Just a rule and some scenario callbacks 19:35:13<!ck> Might be good to have relaunches/scoreboard at a common place as they are used in many scenarios 19:35:29<!PeterW> Scenario callbacks need scripts, don't they? 19:35:56<!Maikel> It is in the rule, you just specify the number of relaunches with func Relaunches {return 3;} in the scenario 19:36:19<!Maikel> Scoreboard is also done inside that rule. 19:36:45<!PeterW> That's been considered good style for quite some time, hasn't it? 19:36:47<!Zapper> Would be good to combine different rules that use the scoreboard 19:37:08<!Zapper> So the rules must not use fixed columns 19:37:09<!ck> hm, that's a goal, not a rule, isn't it? :o 19:37:30<!Maikel> Melee is the goal 19:37:54<!Maikel> It is a bit odd if you would have a second goal that just allows relaunches 19:38:02<!Guenther> The relationship between rules and goals is kind of awkward 19:38:19<!ck> ah, OK 19:38:21< Ape> We could call all of the rules 19:38:30<!PeterW> Isn't a goal just a rule that might end the round...? 19:38:35<!ck> Well, I do think there is a clear distinction... 19:38:54<!Maikel> Zapper, you mean that different rules have different scoreboard columns? 19:38:58<!Guenther> And then there are rules which also do that. 19:39:08<!Zapper> Maikel, if they are activated, yes 19:39:10<!Guenther> Kill-the-captain etc. 19:39:10<!Maikel> Like one for deaths one for relaunches, one for score 19:39:27<!ck> Kill-the-captain does not end the round, it eliminates one player 19:39:32<!Zapper> Well, one rule that shows kills/deaths in the scoreboard would care for that 19:39:41<!ck> So maybe Goals are win conditions and (some) rules are lose conditions 19:39:50<!Zapper> but the rules would have to say "i need a free column!!" and some global function would have to care for that 19:39:50<!PeterW> ... which might make the Melee goal (!) end the round. 19:39:52<!Guenther> Which ends the round for the player, and also defines the goal for the other players 19:40:18<!Maikel> That brings me to another point, I'd like to pass the killer to RelaunchPlayer 19:40:24<!PeterW> But yeah, it might be confusing to put it that way :) 19:40:28<!Guenther> So there's a technical difference, but it's hair-splitting and confusing for the player 19:41:31<!PeterW> Hm, concerning the columns: 19:41:40<!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 19:41:55<!PeterW> Isn't there already some kind of system where you use IDs as column identifiers? 19:42:01<!Maikel> Yes there is 19:42:31<!PeterW> It's a pity Sven isn't here, I never really understood how it was supposed to be used :) 19:42:48<!PeterW> Especially when a rule needs, say, more than one column 19:42:52-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has quit [Client exited] 19:43:24<!PeterW> Plus there is little standardization concerning rows, as far as I know? 19:43:25<!Maikel> I don't get the point either, And how would the colums be sorted? Rules are called kind of at random 19:43:37-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has joined #openclonk-dev 19:43:47<!Maikel> So that kills appear sometimes before relaunches and sometimes behind 19:44:56<!PeterW> Well, maybe we might need some kind of new system for that. 19:45:01<!ck> Guess that's hard to solve in general if the rules don't know each other at all 19:45:31<!PeterW> As long as rows are always something like players and teams? 19:46:05<!PeterW> I don't think it's /that/ hard to come up with something that works for most goals or rules. 19:46:12<!Maikel> Well I keep it one object for now, we might differentiate later if scoreboards allow it. 19:46:39<!PeterW> Okay, 10 minutes are up then. 19:46:46<!Maikel> And also for the first release, one kind of melee suffices. 19:47:02<!Maikel> k next 19:47:04<!PeterW> Yep. I'd also really like to hear what Sven has to say. 19:47:11<!PeterW> Next is Mimmo_O 19:47:22<!Mimmo_O> ja, hai 19:47:34<!Mimmo_O> so 19:47:40<!Mimmo_O> i did nothing special 19:47:57<!Mimmo_O> i wrote a blog entry, for the 30.01.2010 release 19:48:06<!Mimmo_O> if someone reads the blog but dont have a look to the forums 19:48:37<!Mimmo_O> in addition, im just upgrading the checkpoints from maikel (graphical) 19:49:22<!Mimmo_O> so nithing special 19:49:41<!PeterW> Can we really call that "release"? ;) @ build 19:49:53<!Mimmo_O> oh, and i found an assertion error 19:50:07<!Maikel> No we shouldn't call that releases, Imo 19:50:10<!ck> Maybe you should say that you are on it in the forums so that Work is not duplicated. 19:50:14<!Mimmo_O> it occurs, when you use foo+=x; instead of foo=foo+x; 19:50:15<!ck> What defines a release? :P 19:50:20< Ape> PeterW: It might not be an official release, but still a release 19:50:27<!Maikel> Something stable 19:50:30<!Mimmo_O> ( i think that this causes it) 19:51:58<!PeterW> Well, at least something we actively "release"? 19:52:16<!Mimmo_O> i showed the blog to two people i know...! 19:52:18<!PeterW> In contrast to, say, one developer uploading a binary of some arbitrary revision somewhere. 19:52:22<!Mimmo_O> one even downloaded it!1 19:52:35<!ck> ok so it's a release once we declare it as such :) 19:52:42<!Mimmo_O> okay 19:52:52<!Mimmo_O> will we have periodic releases? 19:52:52<!PeterW> Yeah, you could say that. Mimmo_O didn't use the term in the blog posting. 19:53:01<!PeterW> But I was briefly confused :) 19:53:13<!ck> Mimmo_O: Let's discuss that after the status updates 19:53:32<!Mimmo_O> ok 19:53:38<!PeterW> We will be done shortly anyway. 19:53:47-!- stevi`off is now known as stevi 19:54:02<!PeterW> As I was lazy again and haven't done anything. 19:54:28-!- Irssi: #openclonk-dev: Total of 28 nicks [3 ops, 0 halfops, 1 voices, 24 normal] 19:54:37<!PeterW> Besides some theoretical thoughts on how OC should /not/ work that might culminate in some forum postings eventually. 19:55:03<!PeterW> So if I'm not mistaken, the last available person on the list is Zapper. 19:55:04-!- Mortimer [~Mortimer@euirc-e18df716.extern.uni-duisburg-essen.de] has joined #openclonk-dev 19:55:20<!Zapper> Okay, I already said what I did, let me strg+f for it :) 19:55:35<!ck> you mean that in a "political" way? How development is structured in the long term, how "open" we actually are etc.? 19:55:35<!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 19:55:40<!Zapper> So I have still stuff to do 19:55:47<!Zapper> And nothing interesting happened last week 19:56:29<!ck> as a result of the discussion with newton? 19:56:37<!PeterW> (No, I have no hope to reach consensus on that one anyway. I meant gameplay-wise :) ) 19:57:08<!Maikel> How would you like to see it in a "political" way? 19:57:18-!- ShadoOw [~ShadoOw@euirc-bdf8d76a.dip.t-dialin.net] has joined #openclonk-dev 19:57:41<!PeterW> Let's not go into that right now. It's Zapper's report time right now :) 19:57:44<!Zapper> ck, yes, basically 19:57:49<!Sven2> PeterW: Scoreboard roaws are player info IDs or Team IDs 19:57:56<!Zapper> I will change the weapon "system" to be more open 19:58:10<!Sven2> Scoreboard coloumns are IDs converted to int (ScoreboardCol was a CastInt), which now no longer works 19:58:25<!Sven2> You usually used the ID of the rule, so you wouldnt have conflicts 19:58:28-!- Matthi [~a@clonk-center.de] has quit [Connection reset by peer] 19:58:32<!Zapper> Just deliver a set of functions that the weapons have a common feeling for the player and leave the rest to the weapons 19:58:36<!Sven2> (Leaving for movies again) 19:58:44<!Zapper> so that the weapons are not just different names with different strengths 19:59:47<!PeterW> Yeah mean the whole blunt/slice/stab thing we discussed last time? 20:00:14<!Zapper> The damage types are something different 20:00:27<!Zapper> The behavior and effects of the weapons can be completely different 20:00:39<!Zapper> And an example newton mentioned the mario-hammer and some kind of baseball bat 20:00:39< ShadoOw> ack. 20:00:40< ShadoOw> btw. 20:00:45<!PeterW> ... while still having a commong feeling? ;) 20:00:51<!Zapper> Sure! 20:01:18<!Zapper> That will mostly be about the way the use of weapons affect the movement 20:01:20<!PeterW> Which, I guess, means how you control it? 20:01:40<!Zapper> Partly :) 20:01:47<!PeterW> What's the other part? 20:02:08<!Zapper> The behavior of the change of velocity when you hit and enemy (at both you and your enemy) 20:02:12<!Zapper> for example 20:02:16<!Zapper> And an easier interface 20:03:32<!PeterW> The bow has blowback now? ;) 20:03:48<!ck> oh, it has? I didn't notice :o 20:04:13<!PeterW> Don't know, I'm just thinking about what "change of velocity" means in this case. 20:04:37<!PeterW> For larger weapons than the bow it might actually make sense. 20:04:41<!Zapper> Not the bow. Rather the sword 20:04:50<!Zapper> It's still a melee combat system 20:05:11<!PeterW> Hm, this is so you can't stand still and keep hacking? 20:05:22-!- Newton [~Miranda@euirc-a8df1436.adsl.alicedsl.de] has joined #openclonk-dev 20:05:25-!- mode/#openclonk-dev [+ao Newton Newton] by ChanServ 20:05:36<!ck> It's basically a change of the opponents velocity I guess? 20:05:44<!Newton> hi 20:05:44<!ck> hi Newton 20:05:45<!PeterW> Ah, a second late visitor. 20:06:10<!PeterW> Zapper's currently reporting about weapons. 20:06:23<!Newton> PeterW but I announced that I won't be there for the meeting :P 20:06:25<!Mimmo_O> Newton! 20:06:26<!Newton> ok 20:06:41<!Zapper> <PeterW> Hm, this is so you can't stand still and keep hacking? <- for example 20:06:55<!ck> Newton: Will you still join us now, though? :) 20:07:05<!Zapper> But as I said I have to change things there. And I don't know yet how it will work out actually :) 20:07:48<!Newton> ck: yes 20:08:01<!PeterW> Well, okay. 10 minutes kind of up. 20:08:22<!PeterW> If there's nothing else, it's a chance for the late visitors. First Mortimer, as he came first. 20:08:52<!PeterW> Or isn't he a developer? 20:09:21<!ck> If he has something interesting to contribute I don't mind whether he is developer or not 20:09:26<!Newton> no, but if he has something to say... 20:09:29<!Maikel> He should become one, foot -> ass. 20:09:47<!PeterW> Well, he hasn't said anything yet. 20:10:02<!ck> (same for others here of course) 20:10:03-!- Irssi: #openclonk-dev: Total of 30 nicks [4 ops, 0 halfops, 1 voices, 25 normal] 20:10:03<!PeterW> Well 20:10:40<!PeterW> Yeah, of course, but I know him as developer of C4DT and just realized it doesn't mean he actively participates in OC :) 20:11:06<!PeterW> Well, okay, then let's continue with Newton. 20:11:50<!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... 20:11:56<!Newton> hmm, I already said everything here: http://forum.openclonk.org/topic_show.pl?pid=5730#pid5730 20:12:15<!Guenther> Wasn't Mortimer the one doing feature development for the Mac port lately? ;-) 20:12:58<!PeterW> Well, aynthing special you would like to discuss here? @ Newton 20:13:39<!Newton> no, the thing about periodic releases already started in the forum 20:13:43<!Newton> I mean the discussion 20:13:54<!PeterW> We already had some minor point previously that we might not want to call single binaries "releases" 20:13:59<!Newton> the stuff with the gamepads I'll discuss with Sven2 20:14:10<!Newton> well, builds then 20:14:22<!Guenther> C4String uses pointers, C4ID uses numbered handles. C4String uses a hash table, C4ID std::map. C4String has refcounting, C4ID hasn't. 20:14:30<!Guenther> [x] snapshots 20:14:47<!Zapper> snapshot builds! 20:14:50<!Newton> I don't know the correct term so I leave it to you 20:14:56<!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. 20:15:01<!Mimmo_O> i think ill make some screenshot and write a blog entry tothem soon 20:15:14<!ck> Actually both "nightly builds" and "development snapshots" are familiar to me 20:15:20<!PeterW> Let's push that back to the discussion phase @ Guenther 20:15:23<!Zapper> "release" is more "hey we have something interesting to show to you" or "everything works now!!" 20:16:22<!PeterW> Real snapshots might have to include more than a binary. 20:16:38<!Newton> to not include the other stuff is not planned? 20:16:39<!ck> OK, that's one of the points I wanted opinions about 20:16:51<!PeterW> Actually, we don't have a proper concept on how binary distributions might look like, do we? 20:16:54<!ck> Do we want to release only binaries or something which fully works out-of-the-box? 20:17:01<!ck> -release+snapshot . 20:17:11<!Zapper> Both 20:17:17<!Zapper> builds on a regular basis 20:17:19<!Newton> [x] fully works out of the box. I mean this is the whole point about having these 20:17:26<!Zapper> and out-of-the-box every few weeks or so 20:17:29<!PeterW> Might become a lot of date very quickly. 20:17:32<!ck> (that is, the binary, the DLLs, and planet/ basically I think) 20:17:33<!PeterW> *data 20:17:33<!Zapper> (builds for the obejct scripters) 20:17:39<!Zapper> and the ootb thing for the players 20:17:44<!ck> Newton: I tend to agree 20:17:56<!Zapper> But the scripters need something regularly 20:17:57<!Newton> all together it is about 13 MB currently 20:18:25<!ck> We don't need to archive every day's snapshot of course 20:18:44<!Newton> there is no need in archiving anything, I think 20:18:56<!PeterW> Well, CR was about 100 MB, if I remember correctly. But well, we don't have those problems yet, yes :) 20:18:58<!Newton> why would people not want to have the newest snapshot? 20:19:11<!Zapper> even IF they want. They can get the repository and use that 20:19:13<!PeterW> Do check when a certain bug was introduced? 20:19:25<!Zapper> Someone who checks for bugs can compile the engine himself 20:19:33<!ck> because it has a serious bug? Because the other with whom I want to play over network has an older version 20:19:41<!Guenther> not necessarily. 20:19:53< Ape> Well I could host a mirror / archive unofficially 20:19:59<!PeterW> Or to side-step a critical bug in a current release. 20:20:00<!ck> PeterW: That can be done with hg I think 20:20:09<!ck> Yeah that's more what I had in mind 20:20:18<!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 20:20:25<!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. 20:20:42<!PeterW> Plus from the developer's perspective - it's /very/ useful to have complete releases from past dates. 20:21:09<!Guenther> Content developers are the ones noticing a lot of the engine bugs... 20:21:17<!PeterW> It's not that trivial to do the hg update / clean / compile / pack routine x times just to pinpoint a moment in time. 20:21:33<!ck> ok but what's different between checking out the corresponding version from which the snapshot was built and the snapshot itself? 20:21:54<!Newton> true...@noticing engine bugs 20:22:03-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has quit [Ping timeout] 20:22:04<!PeterW> Another use could be playing old records, last but not least. 20:22:19<!ck> Newton: How much space do we have available on openclonk.org btw? 20:22:29<!Guenther> Doesn't hg have a bisect function by now? Writing a script which automates the clean/compile/run cycle isn't that difficult 20:22:41<!ck> Yes, there is hg bisect 20:22:55<!Guenther> More annoying are those times where the engine doesn't build for your particular combination of OS and options 20:23:31<!ck> which raises the question what do we do if the nightly build fails? Upload a build log instead? 20:23:31<!Newton> I think 1GB 20:23:40<!Newton> we are currently using 200MB or something 20:23:47<!Guenther> Anyway, we could simply store snapshots until we run out of space 20:24:41<!Guenther> and then somebody could archive them on their desktop or something, and help a fellow developer out if he needs one 20:25:08<!Zapper> the engine is not very big. So if only the engine is archived the most annoying part of spotting bugs is done 20:25:17<!Zapper> updating planet doesnt take a lot of time 20:25:41<!Zapper> So we wouldn't have to store the whole snapshot but only the binaries 20:25:51-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has joined #openclonk-dev 20:25:57<!Zapper> (if the reason for storing it is spotting bugs easier) 20:26:03<!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...) 20:26:24<!PeterW> ... which would suggest having both nightly builds (engine) and snapshots - the latter using something like a weekly turnus. 20:26:46<!PeterW> But well 20:27:07<!PeterW> Do we even have someone that feels responsible / motivated to make snapshots work? 20:27:24<!ck> Yes, I'll get on it. 20:28:05<!PeterW> Great. 20:28:22<!ck> Judging from B_E's post in the forums he might be interested in doing the the scripting on oc.org, but I can also do that if necessary 20:29:37<!ck> Newton: Are you the only one who can upload to openclonk.org currently? 20:29:57<!Newton> Clonkonaut has access too 20:30:21<!ck> OK 20:31:09<!Newton> ah, by the way 20:31:13<!Newton> documentation 20:31:27<!Newton> Günther, can you give me some advice? 20:31:46<!Newton> regarding the stuff that I posted in Klatch? 20:32:03<!Guenther> documentation is good, if it does not take too much time away from other stuff. 20:32:04<!Guenther> ;-) 20:33:25<!Mimmo_O> brb getting some food 20:34:04<!Newton> erm 20:34:15<!ck> oh, one more thing: Automatically built Windows engines are enough for now, right? 20:34:23<!Guenther> uh, an s/\.php/\.html/g doesn't work? 20:34:25<!Newton> I mean this: http://forum.openclonk.org/topic_show.pl?tid=343 20:34:42<!PeterW> What do you mean by "automatically"? @ ck 20:34:43<!Newton> ck: ack 20:34:53<!ck> PeterW: the snapshot ones 20:35:13<!PeterW> I'd be great to have some, if that's what you mean 20:35:35<!PeterW> I don't think I will stop compiling them myself, though. 20:35:41<!Newton> Günther: I have no clue bout perl. And of regex neither :/ 20:35:52<!ck> I mean: Is it enough if we provide them for Windows (as a start) or do we also want Linux/MacOSX? 20:35:58-!- Icewing [~Icewing@euirc-9359146c.pool.mediaWays.net] has joined #openclonk-dev 20:36:11<!ck> Newton: Hey, I posted the complete command line to do that substitution :) 20:36:14<!PeterW> Oh, sorry. 20:36:33<!PeterW> Well, I guess we'll see if there are complains. 20:36:36<!Guenther> Well, but you _can_ do search&replace. I'd have to read the code more thoroughly for a more helpful answer. 20:36:51<!Newton> hrmyes 20:36:53<!Newton> i could 20:37:11<!Newton> but I'd need to do that every time I recompile the docs 20:37:29<!Guenther> oh, er, wait. do you want to replace .html with .php? 20:37:32<!ck> Hm, it should be easy to add it to the Makefile, no? 20:37:43<!Guenther> I meant in the perl file, obviously 20:38:08<!Newton> ck: well, erm I don't know so much about makefiles either... ;-) 20:38:19<!Newton> yes@Günther 20:38:43<!Guenther> yeah, there's the webnotes option for that. 20:39:02<!ck> Newton: Well, then write a script which contains a single line "make && substitute html by php" and run this instead of make :) 20:39:07< Mortimer> yay, i missed the conversation \o/ 20:39:38<!Guenther> Newton: how do you build the docs at the moment? 20:39:44<!Newton> make 20:41:13<!Guenther> I'll come back to you. 20:41:55<!PeterW> Mortimer: Anything to report? 20:42:13-!- Gurkenglas [~Gurkengla@euirc-956afde3.pools.arcor-ip.net] has joined #openclonk-dev 20:42:16-!- Irssi: #openclonk-dev: Total of 32 nicks [4 ops, 0 halfops, 1 voices, 27 normal] 20:42:46< Mortimer> well, i wrote some eclipse support for the debug branch 20:43:08< Mortimer> and that might be useful for developing/debugging future scripts 20:43:13< Mortimer> ..or not 20:43:21<!PeterW> Oh yeah, plus some patches for the debug branch, if I remember correctly? 20:43:40< Mortimer> I merged it with the default branch 20:43:42<!ck> hm what is actually missing from the debug branch which prevents it from being merged btw? 20:44:11< Mortimer> dunno... I could be pulled perhaps? 20:44:13<!PeterW> Well, the finished debug functionality, actually. Though Mortimer might fix that one ;) 20:44:15< Mortimer> it 20:44:36<!ck> Mortimer: So there is nothing missing, everything works? 20:44:40< Mortimer> I ised STL :p 20:44:43< Mortimer> as I understood, big no no 20:44:50<!PeterW> In my branch, yes :P 20:45:03<!ck> ok so let's merge it then it's no longer in your branch :P 20:45:10<!PeterW> :'( 20:45:34<!PeterW> I do still think it makes sense style-wise to keep STL usage down. 20:45:41-!- Matthi [~a@clonk-center.de] has joined #openclonk-dev 20:45:46< loriel> Huh. 20:45:57< Mortimer> okay.. then someone fix it :p 20:46:03<!Newton> Clonk does not use STL? Since when? 20:46:17<!ck> It does in the meanwhile, at certain places 20:46:38<!Guenther> Clonk has always used the STL. Always. 20:46:38<!ck> Though I do think most classes don't use STL stuff in their public interface 20:46:39<!Newton> why would someone not want to use STL? 20:47:02<!PeterW> Well, I think it's good if you need some quick don't-care-type container 20:47:03< Mortimer> be right back.. 20:47:10-!- Mortimer [~Mortimer@euirc-e18df716.extern.uni-duisburg-essen.de] has quit [Quit: Arr] 20:47:10< loriel> Generic code tends to lead to large binaries, I guess 20:47:31< loriel> Some implementations have unintuitive performance penalties and/or make debugging harder 20:47:40<!Guenther> Newton: Okay, so it's not simply a bug of some sort, but a real missing feature we fixed for clonk.de by having the files end with .html even though they're php inside. 20:47:40<!Newton> and faster, more bug- and obstacle free programming 20:47:41< loriel> Guy at EA wrote a paper about it 20:47:43-!- Mortimer_ [~chatzilla@euirc-552d386a.extern.uni-duisburg-essen.de] has joined #openclonk-dev 20:47:55<!Guenther> Do we want to keep the chm? 20:48:04<!Newton> thats the question 20:48:10<!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. 20:48:19<!Newton> how would offline-docs look like without a CHM? 20:48:35<!PeterW> Plus the Clonk source doesn't use it very often, and I'm always striving to keep the style somewhat pure :) 20:48:46<!ck> Newton: HTML 20:48:58< ModernClonker> Like an folder with an index.html and an subfolder with a lot of HTML-Files 20:49:04<!Newton> you are a library-racist then, arent you Peter!! 20:49:16< loriel> phew 20:49:19<!PeterW> Actually, quite the opposite. 20:49:24<!Newton> only pure, arian libraries! 20:49:32<!Newton> :P 20:49:39<!PeterW> I'm just arguing we should not forget pure C++ has its upsides, too. 20:49:48<!ck> Basically most distributed offline documentation I know is in plain HTML format 20:49:56< loriel> The standard library is part of pure C++ :/ 20:50:05<!PeterW> And, say, just replace all data structures by STL equivalents without thinking twice. 20:50:19< loriel> I would not make an argument in favour of actively replacing your data structures with standar-- yeah, not that 20:50:34< loriel> but I think it is not a question of style to use standard library functionality that fits what you are trying to do 20:50:37< loriel> instead of reimplementing it 20:50:48<!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 ;) 20:51:33<!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++ 20:51:37<!Newton> to be cautious about abstraction applies for all libraries, not only STL 20:52:38< 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 :) 20:53:58<!PeterW> Well, I do consider linked lists to be an universally known subject, obviously ;) 20:54:06<!Newton> btw, is boost now part of the c++ standard? 20:54:25< Mortimer_> http://bitbucket.org/mortimer/openclonk/changesets/ <- debug branch ... did a lot of merges lately >_> 20:54:25< loriel> No, but they took some inspiration 20:54:33< loriel> for things like the multithreading interface, smartpointers 20:55:26<!PeterW> Btw: Does Mortimer have repository access? 20:55:30<!Newton> no 20:55:31< Mortimer_> nope 20:55:36<!PeterW> Why not? 20:55:52<!Newton> because he didnt ask Isilkor or Günther to get one yet, I guess ^^ 20:56:18<!PeterW> Whoa btw @ merges 20:56:34< Mortimer_> >_> wanted to see the new stuff without leaving the branch.. 20:56:35<!PeterW> Well, the he should do that :) 20:56:55< Mortimer_> Guenther: may I have access :o ? 20:57:17< Mortimer_> I promise to spam everything with merge pyramids and other weird commits.. 20:57:36<!PeterW> You might want to do some rebasing before commiting those patches. 20:57:53<!Zapper> btw 20:58:11<!Zapper> why does OC use a registry path inside RedWolf Design? 20:58:13< Mortimer_> i'll do that.. when i get home 20:58:26<!ck> While we are it: We might also want to grant Maikel access 20:58:28<!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. 20:58:51<!Guenther> Zapper: Because nobody thought of changing that yet. 20:59:25-!- Balu [~Balu@euirc-ba3f1be6.pools.arcor-ip.net] has joined #openclonk-dev 21:00:32<!Newton> Maikel has no access? 21:00:41<!Maikel> no 21:00:45<!Newton> oh 21:01:03<!Newton> thats why you never pushed your patch in the bugtracker 21:01:38<!PeterW> Hu? Why are there changesets by Maikel then? 21:01:45<!Maikel> And because I am too stupid to write my own stdadapter 21:02:06<!ck> PeterW: I committed some of his patches 21:02:16<!ck> or rather, pushed ;) 21:02:52<!PeterW> Well, we wanted to be rather liberal with giving people access, if I remember correctly? 21:03:06<!Maikel> As long as the others aren't getting annoyed by pushing 1/2 changesets a week, there is no problem for me 21:03:49<!PeterW> If I'm not mistaken, it should be impossible to really break anything permanently. 21:04:38<!PeterW> Or am I wrong? o_O 21:04:46<!PeterW> > You should have some compelling arguments why you can't just use bitbucket though. 21:05:15<!PeterW> I don't know whether that's a wrong impression, but I don't think using multiple repositories really works that well. 21:05:15< Ape> PeterW: Even if somebody could destroy the repository, you could always replace it with your local one 21:05:19<!Newton> Isilkor wrote that after Clonkonaut pushed some shit that didnt work 21:05:21<!Maikel> because the repos is larger than 150Mb in a few months, hopefully 21:05:27<!PeterW> It makes rebasing awfully complicated, doesn't it? 21:05:35<!Newton> and when Carli wanted access to dunno... implement shaders 21:06:08<!ck> PeterW: I know we had that discussion already, but I still favor merging where it makes sense ;) 21:06:34< Mortimer_> too stupid to obtain my public key from bitbucket.. so i'll provide it when i get home >_> 21:06:45<!PeterW> http://bitbucket.org/mortimer/openclonk/changesets/ <- And that doesn't make you change your opinion? 21:07:12<!PeterW> I don't think we just want to pull that. 21:07:43<!Newton> why not? 21:07:56<!ck> well, I can still rebase locally and push that to hg.oc.org 21:08:09<!PeterW> Because we would import 8 new development branches this way? 21:08:32<!ck> would we? 21:08:58<!PeterW> Well, not actually branches. Development lines (?) 21:08:58< Ape> Cherry picking good commits from bitbucket is a good way to do it 21:09:05<!ck> If they aren't named and they are merged already then we don't even create a new head in our repository? 21:09:25<!ck> But the development lines are "finished" already when they are merged 21:09:26<!Newton> Mimmo: oh, you wrote in the blog 21:09:27-!- alexX_ [~alexX@euirc-2e53fbd4.dip.t-dialin.net] has joined #openclonk-dev 21:09:34<!ck> So I don't see a problem 21:09:38<!Newton> now I really need to check out if highreslandscape is enabled by default 21:09:38<!PeterW> But they will show up in the history. 21:09:45<!Newton> because it does not work for most people 21:09:55<!ck> Yes, but that's completely OK from my pov 21:10:12<!ck> Because this is how the commits actually have been recorded 21:10:21-!- alexX__ [~alexX@euirc-f3ede793.dip.t-dialin.net] has quit [Ping timeout] 21:10:25<!Guenther> I have far more problems with a message like "...." 21:10:43<!PeterW> It's complexity overhead. I don't want to scroll past pages of commits reading "merge" 21:10:45<!Guenther> We should try to prevent that sort of stuff ending up on openclonk.org. 21:11:05<!Newton> TortoiseHG has the option to hide all "merge"-commits 21:11:06<!PeterW> And then wonder which one of the dozens of development lines actually means what. 21:11:24<!PeterW> Yeah, which then makes the second issue worse. 21:11:33<!ck> We could tell people to use more meaningful commit messages then "Merge" 21:11:45<!Newton> hehe 21:11:51<!PeterW> How is that supposed to make things easier? :) 21:12:02<!PeterW> Then you have even more useless information. 21:12:02<!Newton> "why did somebody commit just when I wanted to push!!! ARGH" 21:12:14<!Newton> "merging mesh with default... AGAIN!!!" 21:12:26<!ck> Newton: Now in that case even I'd go with rebase 21:12:28<!ck> (And I normally do) 21:12:31< Mortimer_> i once did that!1 21:12:31<!Newton> "WTF, well here it goes - mergyly dumdidum" 21:12:38<!PeterW> I don't care about merges or how a patch was developed. 21:12:52<!PeterW> I want to know how the patches appeared on the repository. 21:12:58<!ck> It makes it easier to see "which one of the dozens of development lines actually means what." 21:13:03<!ck> I do. 21:13:25<!PeterW> Why? :P 21:13:52<!ck> Because it preserves information like the conditions under which a patch has been developed 21:14:25<!PeterW> Which is very seldom the condition under which the patch is actually approved for release. 21:14:52<!Mimmo_O> Newton: yes i did 21:15:02<!Newton> good 21:15:25<!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 21:15:44-!- clonkine [~clonkine@euirc-e80d0587.dynamic.qsc.de] has quit [Quit: ] 21:16:16-!- Mortimer_ [~chatzilla@euirc-552d386a.extern.uni-duisburg-essen.de] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158]] 21:16:38<!PeterW> But we're getting to far into the discussion again. 21:17:08<!PeterW> Guenther wanted to discuss something about strings and C4IDs, if I remember correctly? 21:17:26<!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 21:17:45<!ck> I agree on that discussion being somewhat pointless though ;) 21:17:52<!Guenther> Na, I just wanted to accuse Isilkor of NIH and let it be ;-) 21:18:10<!PeterW> So that's done then? ;) 21:18:45<!PeterW> Isilkor seems to be passive anyway. 21:19:07<!PeterW> Anything else that needs discussion? 21:19:16<!Guenther> A better discussion might be the question of how-to-prevent-C4IDs and other identifiers from clashing 21:20:02<!Maikel> We decided to use a namespace Core_ 21:20:09<!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 21:20:15<!Guenther> Ah, good. 21:20:38<!PeterW> Core_ is the namespace for Objects.c4d? 21:21:10<!Guenther> OC_ might have been a little bit shorter, but well. 21:21:25<!Newton> Peter: oh, its still the meeting? ^^ 21:21:38< loriel> I was opposed to OC_ because it hardcodes the project name :> 21:21:46<!Maikel> Some people were against OC because of branding 21:21:56<!PeterW> As long as people are discussing - I guess so? :) @ Newton 21:22:06<!Maikel> Regarding IDs we should get rid off the old ones asap 21:22:34<!Newton> but I want Library_ for libraries 21:22:36<!ck> any volunteer for that? :) 21:22:43<!ck> Newton: Didn't we say Core_Library_ even? 21:22:45<!PeterW> Also if we do something like Knights.c4d in future, would we want to call it OC_Knights_? 21:22:54<!Newton> ur :(@Core_libary 21:23:00<!ck> I'd say just Knights_ 21:23:11<!Newton> why do we need Namespaces again? 21:23:26<!PeterW> We should call it Core.c4d then, btw. 21:23:42<!ck> Hm, I'm not opposed to that@renaming to Core.c4d 21:24:27<!Newton> I want to note that with OC there will probably just one official main pack 21:24:28<!ck> Newton: But especially for libraries long IDs are not too annoying are they? 21:24:38<!ck> They only need to be given once for a script when including them 21:24:49<!Newton> as classical knight elements and I am sure fantasy elements will go into the main pack 21:25:08<!PeterW> Another thing to think about: calling it "Core" makes it sound like it's really needed for running the game. 21:25:22<!PeterW> Like, say, System.c4g scripts. 21:25:38<!ck> Std anyone? ;) 21:25:41< loriel> We could call it Std_ 21:25:42< loriel> hey! 21:25:42< Matthi> st... 21:25:45<!Newton> ck: thats true. But what is the chance of having two Libraries of the same name 21:25:46< Matthi> ok 21:26:23<!Newton> or two Horses 21:26:26<!Newton> two Clonks 21:26:42<!ck> I don't think it's a question of likelihood but rather one of consistency. 21:26:45<!Newton> or is the namespacing about more than just possible name collisions? 21:26:46<!Sven2> *jumps in* I'd like to have it as short as possible 21:27:05<!ck> Plus likelihood 0 is better than likelihood 0+epsilon :) 21:27:18< loriel> Std_, Vanilla_, Default_, Basic_, ... hm : 21:27:19< loriel> :) 21:27:21<!Newton> I mean, it would be pretty neat to just be able to write Bow->GetWidth() ... whatever 21:27:24<!PeterW> Btw, we didn't agree on something like "#use Core"? 21:27:36<!Sven2> Yes, I agree on that @neat 21:27:37<!Newton> whats that 21:27:51< loriel> Like using namespace? 21:27:55<!PeterW> Yes 21:28:07<!Newton> we could also say: he, the core/std pack does not use any namespaces but all others have to!!! 21:28:08<!PeterW> So you can use, say, "Clonk" and it resolves to "Core_Clonk" 21:28:30<!PeterW> Then we don't need to worry about long names anymore. 21:28:47< loriel> Newton: imho, that is mean. :) 21:28:54<!Newton> btw is it _ now? I'd like : or :: better 21:29:04<!PeterW> (It's preferable to doing abbreviations like "Std", imo) 21:29:15< 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 21:29:16<!Guenther> The train about branding has left the station a long time ago with all the C4* stuff... 21:29:39<!Newton> [ ] C4 21:29:42<!Newton> [ ] Std 21:29:45<!Newton> [ ] Core 21:29:46< 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 21:29:53<!Newton> [ ] nix 21:30:01< loriel> I would be all for :: if there is an equivalent of using namespace 21:30:09<!PeterW> [ ] #use? 21:30:23<!Newton> that would be an addition, no?@peter 21:30:45<!PeterW> Well, it would influence my vote. 21:31:10<!Guenther> Well, if C4Script had proper scoping, we might get away with not using name-prefixes 21:31:11<!ck> I think we'll end up with #use in one form or the other 21:31:12<!Sven2> He, C4 would be cool 21:31:12<!Sven2> C4Clonk! 21:31:13<!PeterW> I'm slightly against "::" because it's two characters... ;) 21:31:29< loriel> But if you use :, the ? : operator will be harder to parse! 21:31:47<!ck> What about .? 21:31:54<!Sven2> On that topic...what happened to the idea of replacing "->" with "."? 21:31:54<!Newton> there is no ? : operator, loriel 21:32:04<!PeterW> Don't we want to use that in place of "->"? @ ck 21:32:06< loriel> Newton: Well, there is no :: operator right now either 21:32:12< Matthi> [x] Core 21:32:12< Matthi> [x] #use 21:32:12< Matthi> [x] :: 21:32:23<!Sven2> I'm with Matthi here 21:32:26<!Newton> ack 21:32:31<!PeterW> ack. But "_". 21:32:47< loriel> How about \? 21:32:49<!ck> PeterW: Well, I prefer -> 21:33:01<!Guenther> #use just makes the problem come again. 21:33:09<!Newton> Sven: The discussion is versandet because it didnt look like someone was ready to implement that 21:33:13-!- Ape [~ape@88.193.0.euirc-fdc0a58a] has quit [Client exited] 21:33:26<!Sven2> Implement what? -> to .? 21:33:31<!Newton> yes 21:33:34-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has quit [Client exited] 21:33:35< loriel> Guenther: But then you can still take #use out of your script and give all the namespaces explicitly 21:33:36<!Sven2> That's one character to change in source? 21:33:47<!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 21:33:47<!ck> And hundreds in scripts :) 21:34:06<!Sven2> Search&Replace should be pretty safe here 21:34:12< Matthi> ck: well, find&replace should do the trick here 21:34:18<!ck> Dunno. I still prefer -> over . 21:34:22<!PeterW> When doing what? @ Guenther 21:34:38<!ck> Guenther: The parser can emit an error if there is a collision 21:34:44<!ck> +only 21:35:07< loriel> Guenther: I am not sure I can follow. Are you saying the main pack is too big? 21:35:23<!Guenther> When introducing a "Foo" object, you'd have to make sure there's no local variable named foo in the entire pack. 21:36:04< loriel> Well, then tell people writing main pack code not to use #use 21:36:04< loriel> :/ 21:36:13<!Sven2> Local variables are supposed to be lower case? 21:36:16-!- ModernClonker [~mx@euirc-872761ac.dip0.t-ipconnect.de] has joined #openclonk-dev 21:36:29<!Guenther> are they? 21:36:43<!Sven2> It's what most people do 21:36:51<!Sven2> And some use hungarian, which would also not conflict 21:37:02<!Sven2> I'd be more worried about function names 21:37:16<!Guenther> yeah. 21:38:33<!PeterW> Hm, having some sort of trailing character of IDs is out, I guess? 21:38:37<!Newton> bot i want to name my special clonk iClonkIndex !!! 21:38:38<!PeterW> *for 21:38:45<!Newton> or "i" 21:38:46<!Sven2> Clonk$? 21:39:15<!PeterW> More like $Clonk - the upside would be that synthax highlighting can pick it up. 21:41:13<!PeterW> Ruby has ":bla" for something similar... :) 21:41:55<!Sven2> I wouldn't mind that 21:42:21<!Maikel> Can we even use :? 21:42:27<!PeterW> .oO( ":Core:Clonk"? ) 21:42:43<!PeterW> Might get confusing with Namespaces, though. 21:42:53<!Maikel> I'd prefer C_ 21:43:20<!PeterW> For marking IDs? 21:43:22< ModernClonker> Why C_? 21:43:27<!Maikel> So everybody can fill in his favorite word, either Clonk or Core. 21:43:44<!Guenther> We need a method to decide such matter-of-taste questions... 21:43:48<!PeterW> And what about stuff that isn't neither Clonk nor Core? ;) 21:43:55<!Guenther> Simple forum poll? 21:44:08<!PeterW> Which matter of taste currently? 21:44:09<!Maikel> Yes but we have like unlimited options 21:44:33< loriel> \Core\Clonk 21:44:34<!Guenther> How to distinguish C4Ids from other global constants. 21:45:08<!Guenther> The possibilities are endless, as we're seeing, and it doesn't matter much which we pick 21:45:20<!Newton> well 21:45:26<!Newton> as Sven2: coding guidelines 21:45:33<!PeterW> Well, I guess we have a consensus in that we need /some/ kind of fixed prefix? 21:45:42<!Maikel> yes 21:45:47<!Newton> Isilkor said, if I declare a variable named Core_Clonk, it hides the definition 21:45:59<!Newton> but this won't happen too often 21:46:10<!Newton> very seldom, actually - especially with namespaces 21:46:12<!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 21:46:17<!ck> What kind of fixed prefix? A namespace kind, or a special character like $ or :? 21:46:31<!PeterW> Then making it "Core" or "C" doesn't make much sense, imo. "ID_" would be the logical choice if we want a word. 21:46:38< loriel> Or even a namespace separated from the actual name by a special character...! 21:47:00<!PeterW> A Prefix that dsitinguishes it from method names. 21:47:12<!PeterW> *distinguishes 21:47:19<!ck> What's the problem with methods overriding the ID locally in that script? 21:47:19<!Newton> err, I don't see the necessity to have a fixed prefix for IDs 21:47:38<!ck> The script won't use that ID if it introduces a method with the same name 21:48:16<!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 # 21:48:36<!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 21:48:42<!Guenther> ck: But an include might. 21:48:56<!PeterW> In case of global functions, that might be quite a lot. 21:49:36<!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 21:49:43<!PeterW> So shall we make a poll out of "do we even want a fixed prefix?"? :) 21:49:44<!Newton> global functions dont hide ids 21:50:03<!Newton> GetHiRank()->GetWidth(); 21:50:14<!PeterW> But local ones do? What about appends and includes? I don't think we want to put too much thought into that. 21:50:14<!Newton> GetHiRank->GetWidth(); <- this one is an id 21:50:22<!ck> I'm not sure how it currently works, but it would need to only override it for that script, not for its includes 21:50:35<!Newton> I don't undestand your point 21:50:40<!Guenther> PeterW: We could include it in the poll. Perhaps even as "I don't want a prefix" and "I can live without one" 21:51:24<!PeterW> A minor gripe with "#" would be that we already use it for our directives. 21:51:25<!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. 21:52:05<!PeterW> That's exactly what I'm trying to sidestep - let's have a prefix and be done with it. 21:52:17<!ck> yeah, I see, it's probably possible to get it correct, but too much effort to do so :) 21:52:25<!ck> @go without prefix 21:52:29<!Newton> statics hide ids 21:52:32<!Newton> locals hide statics 21:52:39<!Newton> vars hide locals 21:52:44<!Guenther> Aren't ids statics now? 21:52:46<!Newton> @clear defined 21:52:52<!Guenther> So it depends on the loading order... 21:53:09<!Newton> so it is wrong what i said? 21:53:57<!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 21:54:25<!Guenther> It should be mostly consistent, but it's a mess 21:55:26<!Guenther> And if I've read the source correctly, a C4ID is more or less a "static const" now 21:55:41<!Newton> I see 21:55:57<!PeterW> Btw - don't static consts also use upper case names? 21:56:00<!Newton> actually to define a static with the same name as a C4ID might have some interesting side-effects 21:56:10<!Newton> yes 21:56:10<!Guenther> and multiple static const overwrite each other, but in which order depends on engine internals 21:56:24<!Newton> but they have all this BIG_LETTER_Bullshit in front 21:56:47<!Newton> or rather *Stuff 21:57:44<!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. 21:57:49<!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 ;-) 21:59:11<!PeterW> So, who does the poll? ;) 22:01:32<!Guenther> We might want to gather options in a topic first 22:02:31<!PeterW> Well, then let's do that instead. 22:03:05<!PeterW> Do we have anything else to discuss? 22:04:56<!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. 22:06:05<!ck> 21:36:13 <!Sven2> Local variables are supposed to be lower case? 22:06:10<!ck> So iPlr and pObj are out :P 22:06:22<!Newton> they start with lower case 22:06:23<!Maikel> Then we have a great documentation :D 22:06:29<!PeterW> Only applies to the first character, silly ;) 22:06:35<!ck> oh :( 22:06:54<!Newton> PeterW: we talked a lot about interna 22:07:03<!Newton> I'd like to see more progress on the content 22:07:23<!Newton> perhaps talk about some ideas for weapons, tools & stuff? 22:07:24<!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. 22:07:30<!Newton> - and post that 22:07:50<!PeterW> +war 22:08:12<!Maikel> Well, I tried to implement a rope+hook that can be shot with the bow. 22:08:34<!Newton> :o 22:08:42< Matthi> PeterW: I don't think it's worth discussing much more 22:09:00< loriel> Maybe we can compromise on camelCase 22:09:14<!ck> loriel: yeah, let's introduce a third style :D 22:09:16<!Newton> I also want to discuss that Matthi does nothing 22:09:33< Matthi> The time spent on forum topics, polls and whatnot would be spent better on implementing whatever comes to your mind :/ 22:09:34<!Newton> that might be dromedarCase 22:09:51< loriel> (I always thought it was camelCase versus PascalCase) 22:09:57< Matthi> I just don't think it's THAT big a deal. 22:10:17<!Newton> and I want to discuss that Matthi shouldnt do advice here and in the forum but spent his time better on implementing stuff 22:10:45<!Newton> but the camel has two höckers 22:10:54<!PeterW> (I think that too, I might have failed to express a slightly sarcastic tone. :) ) 22:11:24< 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 22:11:44<!Maikel> [x] Newton implements everything, the rest goes to bed now. 22:11:54<!Newton> Lets discuss how much Matthi fails his exams 22:12:17<!ck> Lets discuss about how much Newton drank already this night 22:12:52<!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 22:13:01-!- ShadoOw [~ShadoOw@euirc-bdf8d76a.dip.t-dialin.net] has quit [Ping timeout] 22:13:11<!Maikel> Yes we can? 22:13:32<!Newton> because motivation (and time) of single people runs out - as productive as they may be 22:13:52<!Newton> but if we turn more towards community buildings, the long term gain for the project will be greater 22:14:01<!Newton> because the project is not so much bound to certain people anymore 22:14:12<!Maikel> But you really need content to show 22:14:33< Matthi> And we're going to need a bigger chatroom on mondays, then. 22:14:34<!Newton> and where are the people who are good with C4Script? 22:14:42<!Newton> (not counting us) 22:15:02<!Maikel> Everybody interested in OC development is in the CCF? 22:15:05< Matthi> I guess there are busy coding C4Script for a game that actually WORKS? :/ 22:15:32<!Newton> well, I think OC reached a state where content developers can begin to err.. dwell 22:15:38< Matthi> Yes 22:15:52<!Newton> so it works out of a C4Scripter POV 22:15:55< Matthi> And throw around their code when the forum poll has decided the camel-case-war? 22:16:22<!Newton> ? 22:16:36< Matthi> Seriously, I won't be doing a greal deal of script-work unless the engine-side of scripting is near "done" 22:16:58<!Newton> tell me, what is missing engine side` 22:17:08< Matthi> Well, let's say, consistency? 22:17:20<!Newton> meaning? 22:18:06< Matthi> There are still open topics, like if we use "." or "->", Camel-Case Namespaces, how propertyLists/Setter-Getter are managed... 22:19:14<!Newton> the first is not of any importance 22:19:24< 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 22:19:44<!Newton> if this patch comes, the one that does this patch will replace all -> with . 22:19:55<!Newton> and so with all other C4Script changes 22:20:07<!Newton> nobody may commit a patch that breaks the game 22:20:07< Matthi> Haha 22:20:28< Matthi> Well, that's not a good idea 22:20:37< Matthi> You'd just burden the engine coders even more 22:21:05<!Newton> aha, is that so 22:21:18<!Newton> well but this is how we do it with our repository 22:21:34<!ck> I think Newton is right here. We should not commit any patches obviously and intentionally breaking stuff. 22:21:45< Matthi> Of course 22:21:51<!ck> At least not if it has not been discussed before 22:21:52< Matthi> that's not what I'm getting at 22:22:26<!Newton> and this out of an obvious reason 22:22:30<!Newton> you are right, we need content 22:22:55<!Newton> but content can only be developed if the content developers know that they dont have to write everything new all the time 22:22:57< 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. 22:24:26<!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 22:24:53< Matthi> I don't think he is THAT mysterious 22:24:55<!Newton> this is what many people think that are outside the project 22:25:20< Matthi> So where am I wrong with that assumtion? 22:25:55<!Newton> brb 22:26:04<!ck> I'd say there is no fixed date at which C4Script is "done". 22:26:14<!ck> There will always be discussions about what can be changed or improved 22:26:24< Matthi> okay, agreed. 22:27:04< Matthi> But implementing stuff considered important like this namespace-discussion above is something I wouldn't call "change or improve" 22:27:11< Matthi> but "laying out the basics" 22:27:37<!Newton> the basics are layed out 22:28:10<!Newton> the namespace discussion is not a big one either 22:28:40<!Newton> cmon, change the id of all objects? Thats not really a long task either 22:28:53<!Newton> search&replace 22:29:15< Matthi> search&replace on Ids? 22:29:19<!Newton> yes 22:29:50<!Newton> long ideas are implemented already by the way. Because the stuff about namespaces is not solved yet, I just name my Objects anything 22:29:59<!Newton> QWER 22:30:11< Matthi> Phew 22:30:34<!Newton> no actually i still use 4-character IDs with "logic" names 22:31:55< 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. 22:32:28<!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. 22:32:40<!Guenther> We already did the big breaking changes. 22:32:46<!ck> Matthi: Then the one making the change in the engine is responsible for making sure your scripts still work 22:32:59-!- B_E is now known as b_e 22:33:34<!Guenther> I mean, we do feature additions to C4Script because we like to implement our own programming language. 22:33:56<!Guenther> If we didn't, we'd just use Lua or something. 22:34:45<!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. 22:35:06<!Guenther> On the other hand, not having content and losing the interest of other developers is a grave risk. 22:39:02-!- Mortimer [~Mortimer@euirc-d8bc059f.dip.t-dialin.net] has joined #openclonk-dev 22:41:28< Matthi> Yes, agreed. 22:42:45<!Newton> and for me, it is important now to mobilize (and coordinate) as many ppl for that as possible to get out of this 22:44:32<!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) 22:44:40-!- Icewing [~Icewing@euirc-9359146c.pool.mediaWays.net] has quit [Client exited] 22:45:42<!Newton> (plus I have more fundamental stuff to do that wouldn't count as "content" - e.g. next gamepad controls) 22:50:56<!ck> Would be good to have a list of very clear and discrete tasks 22:51:04<!ck> But of course it's already a lot of work to compile such a list