Time Nick Message 00:00 RealBadAngel i will repeat it once again. you have broken a mod that was a standard for minetest modding. thus you have broken many mods out there 00:00 sapier vanessae are you telling standard is what loudest part of community is using? :-) 00:00 VanessaE sapier: yes. 00:00 RealBadAngel all this without even askin the community 00:00 VanessaE :) 00:00 VanessaE sapier: or more to the point, what is used the most 00:00 sapier oss projects aren't democracy (at least most) 00:00 PilzAdam RealBadAngel, the only thing that is "broken" is that you have double generation of ores if you have morores with the latest dev version of minetest 00:01 VanessaE and when there's only one, by definition it is a defacto standard 00:01 VanessaE (if people use it anyway) 00:01 sapier no vanessae you don't have any way to tell "what is used most" you can only tell what you think is used most based uppon some subjective readings 00:01 PilzAdam RealBadAngel, and this is easy to fix 00:01 VanessaE sapier: I'm basing it on a google search :) 00:02 RealBadAngel PilzAdam, you still dont getting the point of it... 00:02 sapier lol and of course google already knows about all those ppl not writing to any forum but playing minetest 00:02 PilzAdam RealBadAngel, you said I "broke" moreores, but I didnt 00:02 VanessaE heh 00:03 VanessaE well what would you have me base that metric on? 00:03 sapier I don't suggest any metric as we can't ever tell what most ppl use we can only guess 00:04 RealBadAngel PilzAdam, not just moreores. everything around... 00:04 PilzAdam what is broken then? 00:04 VanessaE every server, every texture pack, every mod that has moreores now has to make an adaptation. 00:04 sapier so neither can you proove you're right nor can I or anyone else give a guaranteed telling what is used 00:04 PilzAdam VanessaE, no 00:04 VanessaE s/has/has or uses/ 00:05 PilzAdam only TP have to rename the textures, thats all 00:05 RealBadAngel PilzAdam says "no" because for him change was trivial, take this, trash that 00:06 RealBadAngel now we do have weeks of work to adapt his taste 00:06 PilzAdam but if you see all the other textures that are new/changed in 0.4.6, then thats a little change compared to them 00:06 PilzAdam RealBadAngel, actually 0 sec. of work 00:06 PilzAdam you can use everything as is 00:07 PilzAdam only Calinou has to fix the double generation, thats all 00:07 VanessaE PilzAdam: it's one thing to rename a couple of textures, it's another to have to *copy* them to support two different sets of the same object 00:07 RealBadAngel lol 00:07 RealBadAngel you do believe in what you are typing? 00:07 PilzAdam yes 00:08 RealBadAngel superb. 00:08 PilzAdam try it, get latest minetest_game with latest common, install morores and everything works fine 00:08 VanessaE you keep making enough of these arbitrary changes and there won't be any modding community left. 00:09 VanessaE because no one is going to want to have to keep making little updates to their mods just because of an arbitrary change 00:09 RealBadAngel ofc it works fine, double item, twice as much ores 00:09 sapier guys you're killing minetest development persisting in no changes of mod api to happen 00:09 VanessaE hrm, a little repetitive there, sorry 00:09 RealBadAngel and modders sittin out there rewritting their mods 00:09 VanessaE sapier: we're not talking about the API. 00:09 VanessaE we're talking about the default set of mods and how they affect the modding community as well as the players 00:10 RealBadAngel to fix your like and dont like ore stuff 00:10 sapier this is just extended part of api 00:10 VanessaE s/mods/mods, nodes, items/ 00:10 PilzAdam VanessaE, Calinou has nothing against adding only parts of morores to default 00:11 VanessaE PilzAdam: maybe not but the REST of us do! 00:11 RealBadAngel PilzAdam, btw, you have said youre not using such mods like technic etc 00:11 PilzAdam but the rest has nothing to change 00:11 PilzAdam RealBadAngel, yes 00:11 RealBadAngel so how the heck you know if everything iis allright? 00:11 RealBadAngel lier 00:11 PilzAdam because I know how the API works? 00:12 RealBadAngel so youre wrong 00:12 PilzAdam what do you have to change? 00:12 PilzAdam (in technic or other mods) 00:13 PilzAdam hint: the answer is nothing 00:13 RealBadAngel lemme answer it 00:13 RealBadAngel for nothing 00:13 RealBadAngel you should do the following 00:13 RealBadAngel 1) take moreores mod 00:14 RealBadAngel 2) keep the namespace 00:14 RealBadAngel 3) insert the mod into commons 00:14 RealBadAngel then it would be nothing 00:14 sapier i don't think this is correct moreores != default 00:14 RealBadAngel shit, bucket ~= default 00:15 RealBadAngel and lotsa others 00:15 PilzAdam RealBadAngel, you dont have to change anything in the current state 00:15 PilzAdam so keep saying "everything is broken" 00:16 VanessaE PilzAdam: "broken" in the oldskool sense of the word, as in "this is done so wrong as to be worthy of intense argument" 00:16 VanessaE broken doesn't, in this context, mean not working. 00:16 RealBadAngel and literally translated: fucked up 00:17 VanessaE other synonyms include "botched", "screwed", and "clusterfuck" 00:18 RealBadAngel btw, anybody counted how much memory takes those aliases? 00:19 RealBadAngel all of them i mean 00:19 VanessaE right about now, PilzAdam is gonna say "bye" and sign off. 00:19 sapier good god everyone wants forced map loading by entities any you really ask about memory consumption of aliases? 00:20 RealBadAngel im old school coder 00:20 PilzAdam VanessaE, yes, because its sleeping time in germany 00:20 VanessaE sapier: there's a simple solution to that issue: hard limits on how much of the map can be loaded at any one time 00:20 PilzAdam but I will stay a bit longer 00:20 VanessaE whether by a mod or by the players 00:20 sapier so when a player joins he sees nothing ... not quite a solution 00:20 PilzAdam how many ores do you want to have in the default game? 00:21 Exio 100 00:21 VanessaE sapier: no, when the player joins, the engine decides "hey, I have too much map loaded.. okay, let's throw away thos stuff over here, no one's there now" 00:21 RealBadAngel 123 and 1/3th 00:21 Exio i want a rainbow 00:21 VanessaE PilzAdam: seven. 00:21 VanessaE coal, iron, copper, tin, silver, gold, mithril. 00:21 RealBadAngel we just wanted to merge moreores 00:21 VanessaE (I don't personally care much about diamonds) 00:21 RealBadAngel know minetest standard 00:21 sapier that impies enging can decide why something is loaded thus additional runtime information needs to be added to any loaded block 00:21 VanessaE so 8 ores if you include diamonds too. 00:21 RealBadAngel which Calinou defended like a lion to be not bigger than this 00:22 VanessaE sapier: the engine already has such code in it by virtue of timeouts for how long a mapblock stays loaded. 00:22 PilzAdam RealBadAngel, no, we wanted to add in more ores, and only parts of them from moreores 00:22 VanessaE you's just have to expire it a little sooner. 00:22 Exio i have an alias callled "/modsmt" 00:22 RealBadAngel read moreores topic if you dont believe 00:22 Exio should i use it PilzAdam? 00:22 VanessaE you'd* 00:22 sapier but engine doesn't know if its loaded by entity or player what to unload that block right behind player or that one in front of a entity 00:23 RealBadAngel PilzAdam, so lets say i will take wheels from your carts mod, merge it there 00:23 PilzAdam RealBadAngel, yes, because Calinou is right, too many ores arent good for the game 00:23 VanessaE how are they bad for the game?> 00:23 RealBadAngel and say wheels were the only thing i liked and game needed 00:23 sapier it's simple to unload something but hard to decide what is best 00:23 RealBadAngel rest you can take 00:23 PilzAdam RealBadAngel, you know how stupid that is? 00:23 VanessaE what do they effect if the user isn't doing anything with them? 00:23 RealBadAngel ofc 00:23 RealBadAngel that was the point 00:23 Exio does anyone know what "dev" means? 00:23 VanessaE they're just random dots on a map if the user doesn't care about them, jesus H christ in a cartoon 00:24 RealBadAngel to show how stupid thing you have done 00:24 PilzAdam RealBadAngel, you are comparing wheels with ores 00:24 Exio the bug of two ores will be fixed when 0.4.6 gets released 00:24 sapier pilzadam maybe it's easyer to add/remove moreores than continuing this endless discussion 00:25 PilzAdam VanessaE, if people find ores in the game, they want to do something with it 00:25 Exio i don't like the idea of moreores in common 00:25 PilzAdam and its nonsense to add ores wich dont have any use at all 00:26 PilzAdam sapier, no, because its not good for the game 00:26 RealBadAngel modders, users, players finding use for it 00:26 RealBadAngel this is free world game 00:26 sapier but it's bad for the game if core developers get mad on each other because of this issue 00:26 PilzAdam RealBadAngel, you see the default game as a bunch of resources for modders, right? 00:27 RealBadAngel partially yes 00:27 Exio cuz the core devs can't understand "THIS IS NOT THE STABLE RELEASE" 00:27 PilzAdam RealBadAngel, it isnt, its a game 00:27 sapier and as far as I understand pilzadam sees default game as a consistent game itself 00:27 Exio the moreores thing will be fixed in 0.4.6 when calinou updates it 00:27 PilzAdam sapier, exactly 00:27 sapier with full moreores ore set added consistency is lost 00:27 RealBadAngel its is a sandbox offering elements to play with 00:28 PilzAdam Exio, yes, I already said that 00:28 RealBadAngel not a complete game with a mission 00:28 Exio + aliases == backward compt 00:28 VanessaE it IS a resource for modders as much as it's a game damn it! 00:28 Exio well, let me check 00:28 Exio what is the real problem? 00:28 PilzAdam it should be playable without mods 00:28 VanessaE if it wasn't a resource for modders, then why the hell is there a modding API to begin with? 00:28 sapier vanessae true but if you can't do anything with ores it's more feeling of a limited demo than a game 00:28 PilzAdam and not: "You want a use for tin? install a mod!" 00:29 Exio just double gen of ores? that will be fixed, aliases will be for stuff working, and the main game will be playable 00:29 Exio will be in minetest_game* 00:29 RealBadAngel exio: but also namespace is wrong 00:29 PilzAdam Exio, thats what Im talking about the last hour 00:30 Exio namespace 00:30 Exio ? 00:30 RealBadAngel mod shall be put as moreores without friggin aliases 00:30 VanessaE PilzAdam: how about "you want a use for tin? it's coming soon." 00:30 PilzAdam RealBadAngel, why? 00:30 Exio so you mean, just add a mod what is *called* moreores to a "game"? 00:30 sapier what about unregister_ore("default:copper") 00:30 sapier ? 00:30 RealBadAngel because it is WRONG 00:30 Exio who said that? 00:31 RealBadAngel bad alloc said that 00:31 Exio the aliases are for compatibility, not "gameplay" 00:31 Exio eh? 00:31 sapier or alias "default:copper" to moreores:copper? 00:31 PilzAdam sapier, there is no unique identifier for register_ore() calls 00:31 Exio sapier: moreores:copper -> default:copper 00:31 Exio aliases in that way, working and so on 00:31 sapier yes but maybe this would be a solution? 00:31 Exio no 00:31 PilzAdam sapier, we already have this aliases 00:32 RealBadAngel go on insert 10k of aliases in the game that supposed to be lightweight 00:32 Exio ok, i have a good idea 00:32 PilzAdam there is no problem, except that RBA and VanessaE want all ores to be merged 00:32 sapier yes I know of the aliases I was talking about the register/unregister thing 00:32 Exio PilzAdam: rollback the git repo to 0.1 00:32 PilzAdam Exio, thats a nice idea 00:32 VanessaE PilzAdam: exactly. All ores - lumps - ingots - blocks. that's all. 00:32 VanessaE no silly tools 00:32 PilzAdam because people obviously are against changes here 00:32 hmmmm guys what the hell 00:32 hmmmm chill the fuck out 00:33 RealBadAngel :) 00:33 Exio hmmmm: nobody likes your mapgen 00:33 VanessaE PilzAdam: we are against changes that don't carry a complete set of whatever it is you are cherry-picking from 00:33 PilzAdam hmmmm, we are just starting to have fun 00:33 Exio PilzAdam: +1 at that 00:33 Exio this started to get funny! 00:33 PilzAdam VanessaE, you just think Minetest is good as is, and all changes are bad if they touch anything that exists 00:33 sapier we can't add changes while keeping endles compatibility 00:34 VanessaE PilzAdam: I repeat: we are against changes that don't carry a complete set of whatever it is you are cherry-picking from 00:34 sapier this is true for api as well as content 00:34 hmmmm i agree with the cherry picking from moreores 00:34 sapier core already contains lots of compatibility stuff and it's getting more and more 00:34 hmmmm moreores has some things we don't really want 00:34 RealBadAngel sapier: its not like this, adding this change could be done without need to rebuild mods at all 00:34 hmmmm the whole "take everything or leave it" mindset is very unflexible and not necessary 00:35 hmmmm i already gave you guys a decent solution 00:35 PilzAdam RealBadAngel, it is already done like this 00:35 VanessaE hmmmm: maybe but we're only talking about five lousy ores. 00:35 VanessaE or in this case two or three. 00:35 hmmmm it lets us add what we want without breaking compatibility 00:35 hmmmm yes, but they change the gameplay.. 00:35 sapier rba that impies minetest has to include every silly stuff just because its coupled to things we want ... not quite best way to do it 00:35 Exio [21:34:46] sapier: its not like this, adding this change could be done without need to rebuild mods at all 00:35 Exio tell me what you need to rebuild 00:35 Exio the aliases are here 00:35 RealBadAngel hmmmm, youre more experienced low level coder. please tell me how having hundreds of aliases defined may affect engine? 00:36 PilzAdam Exio, he dont want to belive that its nothing 00:36 hmmmm by hundreds of aliases you mean like 20 00:36 VanessaE strange, I still seem to be able to dig, build, fight, kill mobs, the same as I did before I added this extra ore over here. where's the issue? 00:36 hmmmm vanessa, you have a bazaar of ores in your inventory now 00:36 RealBadAngel hmmmm, this case. we are counting 00:36 VanessaE hmmmm: indeed I do. 00:36 PilzAdam VanessaE, and they are all useless 00:36 VanessaE and they don't seem to have caused a problem for anyone who plays on my server. 00:36 PilzAdam *most of them 00:36 Exio survival or creative? 00:36 VanessaE Exio: creative. 00:36 RealBadAngel lately i can see aliases are used as a solution for everything misplaced 00:37 PilzAdam VanessaE, because its a creative server with a trash can 00:37 Exio if i get something in survival, i want an use for it 00:37 PilzAdam ^ 00:37 VanessaE every block has a use automatically - you can build with it. 00:37 sapier maybe we should start stripping of deprecated things some time ;-) 00:37 Exio VanessaE will kill you sapier 00:37 Exio VanessaE: "build" != "survival" 00:38 Exio the idea of survival is not just building, is "surviving" 00:38 VanessaE Exio: survival still involves building stuff. 00:38 VanessaE protective structures against MOBs if nothing else 00:38 sapier I know exio but this has to be done I'm starting to find more compatibility code in core than actual function code the last weeks 00:38 PilzAdam VanessaE, yes, a dirt house 00:39 PilzAdam I dont need useless tin blocks for that 00:39 VanessaE PilzAdam: oh, I see - so what you're really saying is that survival is all that matters, doesn't need anything at all, and piss on the creative users? 00:39 Exio do you want a example~? lapis lazuli blocks in minecraft, they are useless outside building 00:39 PilzAdam VanessaE, no 00:39 RealBadAngel then think about tin cans 00:39 RealBadAngel for paint for example 00:39 Exio they are used in survival and .. nothing in survival 00:40 Exio unless you make the ore very common, using it for building is ... i'd say impossible 00:40 RealBadAngel and add fuckin content using resources 00:40 Exio just digging one hour for a 4x4 house? 00:40 Exio they are used in creative and ... nothing in survival ** 00:41 RealBadAngel and dont think one change HAVE to go together with immediately massive use of it by common 00:41 RealBadAngel i made formspec backrounds, you have woke up several months later using this 00:41 Exio there is already a lot of stuff what is "useless" without mods 00:41 RealBadAngel and you have not cried that it was useless before 00:42 PilzAdam VanessaE, additions to default should be usefull for both, creative and survival, since both include it 00:42 RealBadAngel PilzAdam, so find use for it 00:42 VanessaE PilzAdam: then why are wool blocks, dyes, and vessels included? 00:42 RealBadAngel allow others to do so 00:42 VanessaE why is jungle grass included? 00:42 PilzAdam VanessaE, they arent in default 00:42 VanessaE what about that other grass? 00:42 PilzAdam and they arent included in survival 00:42 hmmmm mmmm 00:42 VanessaE most of those are in common. what do they add to the game? 00:43 VanessaE any of the games 00:43 Exio i like the idea of grass/jungle_grass 00:43 RealBadAngel but dont say when it is about to be added it doesnt have any use 00:43 hmmmm hey guys, how about this justification for the current ores: 00:43 hmmmm i like them 00:43 PilzAdam VanessaE, thats decoration of the landscape 00:43 VanessaE PilzAdam: but they have no USE. 00:43 Exio they make the terrain look nice 00:43 VanessaE and as usual, you ignored half of my question. 00:43 Exio god, VanessaE 00:43 hmmmm i like them, and so does everybody else 00:43 RealBadAngel Exio +1 00:43 Exio you need to understand 00:43 VanessaE why are vessels, wool, dyes included? they are utterly useless in any game right now and were from the start. 00:44 hmmmm if we considered another ore, and we ALL liked it, we'd add that too 00:44 PilzAdam hmmmm, right 00:44 PilzAdam VanessaE, we have every ore in default that everybody agrees on 00:44 hmmmm it doesn't have to have a use 00:44 VanessaE so now it requires unanimous vote? ehm.. 00:44 hmmmm yeah..... why not? 00:44 VanessaE hmmmm: but PilzAdam JUSt said it had to have a use. 00:44 Exio what? 00:44 hmmmm well i disagree with him 00:44 RealBadAngel hmmmm, uses will come when theyre in 00:44 hmmmm realbadangel, and what about the mods? 00:45 VanessaE [03-28 20:42] VanessaE, additions to default should be usefull for both, creative and survival, since both include it 00:45 Exio i missed something 00:45 RealBadAngel they already use them 00:45 hmmmm if anything had a dependency on moreores previously, it'll still work the same 00:45 hmmmm all that needs to be changed is moreores 00:45 hmmmm and it's very simple to do 00:45 PilzAdam hmmmm, I already told him that 00:45 Exio i just don't get ONE thing, the stuff will work as before, when 0.4.6 gets released (when calinou will do it) 00:45 hmmmm the core is not breaking its back for a *SINGLE MOD* 00:45 RealBadAngel yup, copy it to common 00:45 PilzAdam hmmmm, he doesnt want to believe it 00:46 Exio RealBadAngel: hey, that is a cool idea 00:46 Exio add every mod you have in mod releases to common 00:46 RealBadAngel :P 00:46 PilzAdam Exio, time for your statement :-) 00:46 Exio add yours carts mod PilzAdam 00:46 Exio and boats, i want boats 00:46 Exio aaand! i want some X mod in common! 00:47 sapier I'm with exio just copy every mod do mod common :-) .... just kidding of course 00:47 hmmmm i just don't get how people can have such strong feelings over some blocks that just aren't defined by default 00:47 PilzAdam hmmmm, they think everything is broken without them 00:47 RealBadAngel excuse me: can you tell me whats that? 00:47 RealBadAngel https://github.com/minetest/common/tree/master/mods/bucket 00:47 Exio ? what's up? 00:48 Exio a bucket mod, it has uses, recipes, and so on 00:48 RealBadAngel exio, tell me what is that code 00:48 RealBadAngel ok 00:48 RealBadAngel now tell me whats this: 00:48 RealBadAngel https://github.com/minetest/common/tree/master/mods/stairs 00:48 hmmmm notice who they're made by 00:49 RealBadAngel https://github.com/minetest/common/tree/master/mods/screwdriver 00:49 RealBadAngel https://github.com/minetest/common/tree/master/mods/vessels 00:49 hmmmm but does it make sense to include only part of stairs? 00:49 PilzAdam RealBadAngel, everything ok? 00:49 RealBadAngel you were sayin sir? 00:50 Exio that got converted on a "who haz a bick dick" competition between kids 00:50 hmmmm my counterargument to this is: 00:50 sapier what's a screwdriver? and why it this in common? 00:50 RealBadAngel no, my point is place for moreores is in common 00:50 hmmmm a lot of those mods were made by celeron and karhl, the people who were writing the core too 00:50 hmmmm so they know exactly what they wanted when they wrote those 00:50 PilzAdam sapier, its a tool to open locked doors 00:50 Exio RealBadAngel: moreores in common 00:50 hmmmm and then some other things like screwdrivers, you can't select a couple screwdrivers and not the rest 00:50 Exio moreores in common 00:51 hmmmm you can't just have, say, left-pointing stairs 00:51 hmmmm but for moreores, yes 00:51 hmmmm you can have a couple ores 00:51 hmmmm we like some parts of moreores, but we don't like all of them 00:51 hmmmm we don't all like everything* 00:51 sapier I see ... still I don't understand why this is in common ... but i don't have to understand everything 00:51 hmmmm there are some people who do like everything 00:51 PilzAdam the reason why we added moreores in isnt that we wanted to include the mod, but more ores to the default game for a good gameplay 00:52 hmmmm but that would make the people who don't like everything unhappy 00:52 PilzAdam *parts of moreores 00:52 Exio and if you want things what are actually only provided by moreores 00:52 Exio you will install moreores (when 0.4.6 gets released) 00:52 hmmmm but serious, what's wrong with the 'check if the node exists already' idea to determine what version of common it is? 00:52 VanessaE and if you have it already as part of a long-running server? 00:53 PilzAdam hmmmm, nothing 00:53 VanessaE you end up with double ore gen and ores being generated only in lua. 00:53 hmmmm what's wrong with updating moreores? 00:53 VanessaE some ores* 00:53 PilzAdam VanessaE, not if you use the stable version 00:53 hmmmm guys 00:53 hmmmm don't worry 00:53 Exio be happy 00:53 hmmmm i'll make sure everything is coordinated so there are no periods of breakage 00:53 VanessaE hmmmm: the need to update it multiple times, maybe? 00:53 sapier another suggestion ..... what's wrong with "if you want latest mod use latest core!"? 00:54 Exio calinou doesn't like that 00:54 hmmmm so how about this: 00:54 Exio everything is caused by calinou (aka "blame calinou") >:) 00:54 hmmmm right now i'll have calinou update his mod 00:54 RealBadAngel lol 00:54 sapier mobf for example never supports old core versions, if someone requires an old version she/he can use old mobf versions 00:54 hmmmm so it'll work for both versions 00:54 hmmmm so you guys can put the new version in 00:55 Exio hmmmm: then they will get other thing "to bother" 00:55 hmmmm then when 0.4.6 comes out, you can just update the core 00:55 RealBadAngel ok lets say we can all live with it 00:55 RealBadAngel but the aliases 00:55 hmmmm what of the aliases? 00:55 Exio what is EXACTLY wrong with aliases? 00:55 hmmmm the default mod is making the aliases to moreores 00:55 hmmmm not the other way around 00:56 hmmmm we're coordinating with calinou on this 00:56 RealBadAngel unnecesary memory consumption 00:56 hmmmm =/ 00:56 hmmmm lame excuse 00:56 Exio do i need to ask other time 00:56 Exio what is wrong with aliases? 00:56 Exio 10 kb more of ram when the "leak" is in other place? 00:56 hmmmm grasping straws 00:56 Exio just limiting the game will not fix the issue 00:56 hmmmm exio, more like a half a kB for all those strings 00:57 RealBadAngel leaving mod with its name (even stripped for commons use) means no aliases needed at all 00:57 Exio i said 10 kb because RealBadAngel said +1000 aliases 00:57 Exio RealBadAngel: stripped == even more broke stuff 00:57 hmmmm let's just not break things --; 00:57 RealBadAngel no, just put there those defs pilzadam chosen 00:58 Exio and then add aliases for fixing the missing things in the stripped version? 00:58 RealBadAngel what for? 00:58 RealBadAngel moreores would be just moreores then 00:58 Exio [21:57:02] leaving mod with its name (even stripped for commons use) means no aliases needed at all 00:59 RealBadAngel stripped content i meant 00:59 Exio yes, exactly 00:59 Exio how are you going to fix the issue of missing tools / blocks what are in the "full version"? 00:59 Exio replacing mods in the common game what should be part of upstream? good solution eh 01:00 Exio and what is wrong with adding a 1kb more of ram usage? when using a 512x texture pack is using 6 gb or 7 01:00 RealBadAngel calinou will just fill out missing parts 01:00 Exio it doesn't matter, and actually, even my OLD computer can handle 1kb more of ram usage 01:00 Exio RealBadAngel: how? 01:00 RealBadAngel that approach is never good for complex projects 01:01 Exio OOP is not good for what i think, but meh, minetest is coded in c++ and lua 01:01 RealBadAngel we are fighting for milisecond here and there and you say fuck some kilobytes? 01:01 Exio [21:55:42] what of the aliases? 01:01 Exio [21:56:10] unnecesary memory consumption 01:01 Exio you said the "why not aliases" 01:02 RealBadAngel after some period of happy adding things this way we can fail 01:02 RealBadAngel we already do with contstat bad alloc crashes 01:02 hmmmm we get bad alloc crashes because of jeija's trampoline mod 01:03 Exio . 01:03 Exio that iis not even related 01:03 hmmmm that has nothing to do with consuming too much memory 01:03 Exio is * 01:03 RealBadAngel I dont have this mod installed 01:03 Exio it is an infinite while loop 01:03 RealBadAngel and see this error several times a day 01:03 sapier i think aliases are minor related to bad_alloc ;-) 01:03 hmmmm if you have a bad std::alloc crash, please report it and give a traceback... 01:04 RealBadAngel you can generate it for yourself. run clean game 01:04 RealBadAngel start extit to menu 01:04 RealBadAngel and repeat 01:04 RealBadAngel until you got it 01:04 Exio it is caused by other thing 01:04 hmmmm oh that you're talking about 01:04 sapier thats not an alias problem but texture cache 01:04 Exio ^ 01:04 Exio RealBadAngel: https://github.com/minetest/minetest_game/blob/master/mods/legacy/init.lua 01:04 sapier game isn't really cleant up on exit 01:05 Exio here we go, you have a lot of aliases 01:05 Exio that mod is useless add the whole 0.3 core because it will make mt use less ram! 01:05 sapier lol ... a lot 01:05 Exio i missed the word "useless" before aliases 01:05 sapier I've just added almost same number of compatibility methods to support old scriptapi style :-) 01:07 Exio https://github.com/minetest/minetest/issues/142 01:08 Exio RealBadAngel: you mean this ^ 01:08 Exio or some bug related to that? 01:08 hmmmm i am actually quitting and going back to the menu multiple times 01:08 RealBadAngel no 01:08 RealBadAngel no glithches 01:08 hmmmm i must've done it like 20 times and ram is now 36mb more than it was when i started it 01:08 RealBadAngel but ordinary out of memory error 01:08 hmmmm but i am getting some textures corrupted, and i keep seeing the textures getting rendered on the loading screen 01:09 RealBadAngel i may get it faster because of 128x tp 01:09 Exio s/may // 01:09 Exio it is a leak in the texture pack, not the aliased stuff 01:09 VanessaE hmmmm: seeing the textures rendering on the loading screen is a good thing, that needs to be formalized. it gives the user some feedback. 01:10 VanessaE that is, assuming there's no way to get rid of the cause of it entirely. 01:10 hmmmm might be hard to do 01:10 hmmmm i really don't know much about the graphics part but 01:10 VanessaE c55 once said it's a side effect of irrlicht's render-to-texture function I think. 01:10 hmmmm yeah i figured as much 01:10 RealBadAngel afaik it already uses draw place to render items 01:10 sapier i suggest adding kahrls patch and find out what really triggers the irrlicht problems when textures are cleant up 01:11 RealBadAngel let it be formally display 01:11 PilzAdam VanessaE, we need a real loading screen 01:11 VanessaE PilzAdam: it's better than nothing. 01:11 hmmmm i don't think we should be drawing things like that where it'd render 01:12 hmmmm unless you want all the items to have a powder blue background 01:12 RealBadAngel hmmm, hold on, will look for a vid 01:13 RealBadAngel http://www.youtube.com/watch?v=ySI38AOIfAA 01:13 VanessaE wrong vid, rba 01:13 VanessaE oh there it is 01:13 VanessaE at about 33 seconds in 01:13 RealBadAngel watch this side effect of recording (normally it is not vissible) 01:14 VanessaE why DOES the engine render those anyway? 01:14 VanessaE are they for the inventory or something? 01:14 RealBadAngel yes 01:14 VanessaE why not display the actual object in-game? 01:14 hmmmm ? 01:14 VanessaE er, in-game object. 01:14 RealBadAngel this is exactly items visuals checkbox 01:14 PilzAdam VanessaE, disable preload_item_visuaks 01:14 PilzAdam *visuals 01:14 hmmmm dunno, you can do that if you'd like 01:15 VanessaE I know what makes them render, guys - it was my griping about the startup time that got preload item visuals flag added in the first place. 01:15 hmmmm we'd have to add a new formspec field though 01:15 VanessaE but that doesn't explain WHAT uses those renderings. 01:15 PilzAdam the inventory 01:15 VanessaE ok 01:15 VanessaE so why do we need that at all? 01:16 VanessaE why does the engine bother to render those objects when it can just directly display them as it does in-world? 01:16 PilzAdam because its faster, I guess 01:16 Exio uhm...? 01:16 VanessaE faster? 01:16 VanessaE um 01:16 PilzAdam I mean , drawing them in the inv is faster 01:17 VanessaE I doubt that 01:17 PilzAdam dunno 01:17 VanessaE the video card can render them a fuckload faster than the CPU 01:17 PilzAdam just a guess 01:17 sapier maybe this preload could be done in a separate thread in background? 01:18 hmmmm ha ha 01:18 hmmmm no we need them all before the user can see them 01:18 hmmmm (inventory) 01:18 hmmmm but anyway, you did give me an idea 01:18 VanessaE so draw the inventory like you draw the rest of the screen - with real 3d objects (and not renderings thereof). 01:18 hmmmm like what if we don't render to a texture, what if we just render the actual cube, maybe slowly jiggling up and down or rotating back and forth 01:19 hmmmm in the inventory screen 01:19 VanessaE i just said that! 01:19 VanessaE (but I see no reason for it to move around) 01:19 sapier don't see any problem if a non existing one is requested it's generated on the fly ... ok this will slow down FIRST inventory open ... but currently whole game is slowed down 01:19 hmmmm more livelyhood 01:19 VanessaE well if they just rotate really slowly, I guess that's okay 01:20 VanessaE fast enough to be noticable, but slow enough to not be distracting 01:20 sapier just have a try if inventory background is opaque you don't have to draw world this reducing graphics load drasticaly ... this should be enough to display some additional nodes 01:22 RealBadAngel or somebody write irrlicht snippet to generate inventory image and make it mandatory when registering node 01:22 RealBadAngel or item 01:22 Exio does anyone know where are the memory leaks? 01:22 sapier irrlicht textures arent freed 01:23 RealBadAngel no time spent on generating them then and startup of game blazing fast. and no glitches later 01:23 sapier kahrls patch did this but for whatever reaseson those textures were still in use on start of new game 01:23 RealBadAngel sapier, i do have such code here 01:23 RealBadAngel by cornernote 01:23 RealBadAngel its built ingame 01:23 RealBadAngel to create such images for wikis 01:24 sapier thats creepy make a modder add a picture of a node ... 01:24 RealBadAngel how much it differs from creating the texture actually? 01:25 VanessaE RealBadAngel: yeah, he said once that he actually captures the output of the render-to-texture step and just dumps that to disl 01:25 VanessaE disk* 01:25 sapier you have to keep them in sync ... keeping things in sync that already are fully defined by one instance is always a source of error 01:25 RealBadAngel make a simple tool for texture creators just 01:25 sapier we already have a texture cache why not cache inventory images too? 01:26 sapier this could be done without bothering modders 01:26 VanessaE sapier: I suggested that months ago. 01:26 VanessaE no one listened. 01:26 sapier most likely because of pain isn't big enough ;-) 01:27 RealBadAngel and yet game needs 2 minutes to start here 01:27 RealBadAngel see? bit to bit 01:27 sapier I know when I added texture caching it took me 5 minutes to start game with a local server 01:27 VanessaE startup time for me is tolerable, I'm thinking more of memory usage, and more importantly that stupid, old, long-standing bug where inventory textures don't match the actual in-world objects 01:27 VanessaE you place a lava and you get leaves. 01:28 sapier vanessae thats the cleanup bug, caching wouldn't help anything 01:28 VanessaE sapier: seems to happen to people right out of the first start of the game, I doubt that's a cleanup issue 01:28 VanessaE and it doesn't happen to everyone 01:28 PilzAdam bye 01:29 sapier texture atlas isn't very big maybe those ppz atlas is already overrrun 01:29 RealBadAngel atlas is already dead 01:29 RealBadAngel and obsolete 01:29 sapier is it removed? 01:29 RealBadAngel not yet 01:30 RealBadAngel only disabled by default 01:30 sapier any you're sure those ppl aren't playing minetest with old config files? 01:30 RealBadAngel 045 disables it by default 01:31 VanessaE sapier: the problem is unrelated to the texture atlas. 01:31 Exio still, there a lot of mem leaks and "gpu mem leaks" and so on 01:31 sapier valgrind and efence ;-) ... yes I know its slow 01:31 RealBadAngel ah, it reminded me something 01:32 RealBadAngel thx to different approach and not using "^transform" way to rotate textures 01:32 RealBadAngel just for default facedired nodes 01:32 VanessaE RealBadAngel: speaking of that, 01:32 VanessaE pm, please 01:33 RealBadAngel on Vanessae's server memory usage dropped by 400mb 01:35 sapier lol definitely lost: 51,697 bytes in 649 blocks ... after running minetest for 30 seconds 01:35 sapier indirectly lost: 61,808,379 bytes in 1,595 blocks 01:35 sapier possibly lost: 102,525,126 bytes in 29,373 blocks 01:35 sapier seems noone did bother about cleaning up on close 01:35 Exio what cpu sapier? and how many FPS? 01:36 sapier not playable ;-) 01:36 Exio ok, how many FPM? 01:36 Exio frames per minute :P 01:36 sapier aproximatly 30 fpm 01:36 Exio pretty good versus my netbook 01:36 Exio 4~6 fpm i'd say with valgrind 01:37 sapier but even if its slow it's a good hint where to start cleaning up 01:37 VanessaE fpm? heh 01:37 Exio yeah! :P 01:37 sapier you know everyone can play if you have fps ... its a challange to play with fpm 01:38 Exio xD 01:38 RealBadAngel think chees 01:38 RealBadAngel and play fph 01:39 sapier playersao is missing initialization 01:40 VanessaE hmmmm: so, live objects in the inventory -> TODO ? :-) 01:40 hmmmm ugh i'm not doing it 01:40 VanessaE haha 01:41 sapier I have to complete scriptapi patch ;-) 01:41 VanessaE I have to learn C++ some time this decade. 01:41 VanessaE RealBadAngel has stuff to do also 01:41 VanessaE c55 won't do it 01:41 VanessaE thexyz I dunno about 01:42 VanessaE darkrose is mia again :-) 01:42 RealBadAngel i wonder why this code is so damn slow 01:43 RealBadAngel game renders thousends of block 01:44 hmmmm it might have something to do with the drawing-to-screen part 01:44 Exio this morning i said, every time i read the backlog you have new things in your TODO list 01:44 Exio this day wasn't an exception 01:45 VanessaE hmmmm: interesting, if generic answer :-) 01:45 hmmmm i'm saying that if we had a way to render it to a texture in memory, that'd be much faster 01:45 VanessaE ah 01:45 hmmmm but it's that it has to actually wait for the card to draw it on the screen in order to grab it 01:46 VanessaE well still, the idea of rendering it at all is kinda....dumb 01:46 hmmmm that being said 01:46 hmmmm what if we did more than one at a time 01:46 hmmmm i better take a shower 01:47 RealBadAngel what for you need a shover to code? 01:47 VanessaE yeah, you're covered in bits 01:47 RealBadAngel use keyboard 01:47 hmmmm lol 01:47 * VanessaE picks a "0" off of hmmmm's shoulder 01:47 VanessaE see? look how filthy this thing is 01:47 hmmmm haven't showered in two days 01:47 hmmmm feeling pretty gross 01:47 hmmmm and i don't want to go to sleep like this 01:48 hmmmm also it'd keep me awake longer, which i need to do, so i don't go to bed at 4 am and wake up at noon again 01:48 hmmmm i usually take a nap at 7 and that screws everything up 01:48 hmmmm but the point is: i'm going to be AFK for like 30 minutes 02:21 hmmmm back. 02:21 hmmmm i was wondering why i felt the need to say that in the channel, and i think it's because i treat IRC like my own stream of consciousness, which is why i tend to talk so much 02:21 VanessaE wb 02:22 VanessaE nothing wrong with that 02:22 VanessaE I think a lot of us do the same thing 02:22 hmmmm i talk about unnecessary details all the time, like i didn't even realize i typed in the word 'shower' before, i just said it 02:22 hmmmm this is a really bad habit that i try hard to supress and fail 02:22 VanessaE it's not really a bad habit 02:22 VanessaE think of it this way: 02:22 hmmmm well it decreases the signal-to-noise ratio 02:22 VanessaE what is your primary memory supplement? 02:23 hmmmm ginsing? 02:23 VanessaE haha 02:23 hmmmm or however you spell it 02:23 VanessaE I meant what you do to boost your memory capacity - I expected either "a stack of books" or "google", or words to either effect. 02:23 hmmmm no idea 02:24 VanessaE point is, you use technology as an extension of your brain and your senses, but you don't rely solely on it. 02:24 hmmmm perhaps 02:24 hmmmm yes, indeed, that was it 02:24 VanessaE so it's really not bad. 02:24 hmmmm i said "i need to take a shower" out loud in the channel so that i remember to actually go do it, and not just keep aimlessly browsing the internet and chatting it up 02:24 hmmmm that makes sense 02:24 VanessaE see? 02:25 VanessaE if that's what you have to do, then you do it 02:25 hmmmm i need to work on l_find_nodes_near() 02:25 VanessaE same reason people leave themselves sticky notes. 02:28 VanessaE besides, if there isn't any signal to interrupt, there's no reason to worry about the noise 03:45 darkrose VanessaE: I'm not mia, just busy elsewhere >.> 03:46 VanessaE hah, I though that might get your attention 04:19 jojoa1997|Tablet with the new collision thing added to minetest does that mean player bump inot eachother? 04:21 VanessaE nope. 06:08 hmmmm hmm 06:08 hmmmm i think Minecraft blocks are bigger than minetest blocks 06:08 hmmmm or at least were, in Classic 06:08 VanessaE minecraft generates whole columns by 16x16 no? 06:08 hmmmm i mean nodes 06:08 VanessaE OH 06:09 hmmmm their blocks are our nodes 06:09 VanessaE that's a good question 06:09 VanessaE from every video I've seen it doesn't look that way though 06:09 hmmmm but yeah i think their blocks are 16 pixels, ours are 10 06:09 VanessaE ours are 16. 06:09 hmmmm they are? 06:09 VanessaE *nod* 06:09 hmmmm BS 10.0 06:10 VanessaE to be fair, you can't really measure them in pixels though 06:10 hmmmm i was going through my first ever map and everything just seems so much tinier 06:10 hmmmm maybe half of it is thanks to flying, run mode and whatever 06:11 VanessaE might be 06:11 VanessaE see, with my texture pack a node is "512 pixels", but of course is still a 1m cube 06:12 VanessaE a quick google says the same of minecraft classic 06:12 VanessaE (assuming what I found has any believability to iy) 06:12 VanessaE (it*) 06:14 hmmmm hmm 06:14 hmmmm ah that's what it meant by pixels 06:14 hmmmm but the 1m thing 06:14 hmmmm how do we know it's 1m 06:14 hmmmm i never thought the cubes looked like 1m 06:14 VanessaE wel 06:14 VanessaE well 06:15 VanessaE we know the player's eyes are at 1.6m, so the player is 2m 06:15 VanessaE that's like hard-coded or something 06:16 VanessaE interesting reasoning I saw on in the search results though: A door is usually about a meter wide, and in-game they are of course one block/node wide by 2 tall. 06:16 VanessaE usually, in reality I mean 06:16 hmmmm so that's pretty much their entire basis for saying 2 meters? 06:16 hmmmm err, 1 meter 06:16 VanessaE beats me, but that's how the players seem to rationalize it 06:17 VanessaE you's have to ask notch :) 06:17 VanessaE you'd 06:17 VanessaE or whoever wrote infiniminer 06:17 hmmmm i can't articulate exactly why, but it doesn't feel like blocks are 1m 06:18 VanessaE I know, it indeed doesn't 06:18 hmmmm and yeah, you're right, that BS constant doesn't have to do with the size of nodes 06:18 VanessaE but at the same time, so often it seems like they're farking huge 06:19 hmmmm in theory, changing BS should change everything 06:20 hmmmm but it doesn't seem to have an effect on apparent size of nodes 06:20 VanessaE the value is probably just a maginifier or something 06:20 VanessaE magnifier* 06:20 VanessaE or not. 06:20 hmmmm hrm weird 06:20 VanessaE of course the easiest is to just change the size of the player relative to the world. 06:21 VanessaE why move the world if all you have to do is move the camera, right? 06:21 hmmmm right 06:21 hmmmm that's what BS should do though 06:21 hmmmm hmm 06:21 hmmmm dunno weird 06:21 hmmmm i'm not going to dwell on it too much 06:22 ShadowNinja hmmmm: player size and such are also based on BS 06:22 VanessaE of course doing that also has a minor side effect of reducing the effective size of the map, and there's the small issue of people's structures suddenly being akin to dollhouses.... ;) 06:22 hmmmm shadowninja, i just tried BS = 16.0 and BS = 10.0, nothing visually changed, i compared the two screenshots 06:25 hmmmm oh 06:25 hmmmm duh 06:25 VanessaE light bulb time? 06:25 hmmmm i don't notice anything because everything else changes along with it 06:25 hmmmm what i want to change actually is the player to world size ratio 06:27 darkrose just make the player about 2/3 its current width... then look at a player model standing in the world and it all starts to make sense 06:28 ShadowNinja I saw the camera height somewhere, maybe camera.cpp? 06:32 hmmmm yes, definitely, i'm absolutely certain that blocks in minecraft classic were larger, relative to the player 06:32 hmmmm the abysmal draw range also helped make it seem even larger 06:39 hmmmm oh my, seems to be problems in Map::unspreadLight() 06:40 hmmmm i was noticing that the ServerThread was awful unresponsive when using singlenode mapgen, so i checked it out, and it appears that a getBlockNoCreate() in unspreadLight() called in a Map::updateLighting on a server tick keeps throwing exceptions and it keeps catching them 06:42 hmmmm which seems to happen when liquid flows into an inexistant block 06:42 hmmmm how do i fix this.... 06:44 VanessaE form mod consensus needed... 06:44 VanessaE forum* 06:44 VanessaE (offtopic) 06:45 VanessaE eh, ignore that. 06:45 hmmmm jordan's licencing? 06:45 VanessaE yeah. 06:46 VanessaE I thought it was decided that non-free licenses weren't allowed in -Releases 06:46 hmmmm *shrug* no clue here 08:22 celeron55 VanessaE: NoDerivs is completely disallowed; that's not even a question worth of asking this time 08:22 celeron55 noncommercial is arguable, no derivatives is utterly wrong 08:22 VanessaE as I thought. 08:22 VanessaE but my memory, as you well know, isn't entirely trustworthy. 08:23 celeron55 i think i'll add some clarifying words to the guidelines 08:23 VanessaE good idea. 08:23 VanessaE GAH 08:23 VanessaE stupid thing 08:23 VanessaE that stupid "Leave a redirect topic in the forum" checkbox ha gotta go. 08:24 VanessaE (it's too easy to forget to check it off) 08:24 celeron55 you should direct stuff about the forum to thexyz; he is the only one with access to the running instance's source code 08:25 VanessaE ok 08:25 VanessaE I'll keep that in mind. 08:25 VanessaE (for some reason I thought you sort of admin'd it and he just hosted) 08:31 celeron55 added "Disallowed licenses" to http://forum.minetest.net/viewtopic.php?pid=14697 08:31 celeron55 that wasn't there before because i didn't think anyone would seriously try to use a license that disallows all derivatives 08:32 VanessaE that works. 08:32 VanessaE hah! 08:32 VanessaE first time I noticed the rickroll link in that post :D 08:33 celeron55 just to clarify: we do allow such licenses for texture packs though 08:34 celeron55 as long as it doesn't become too frequent 08:35 VanessaE if it does, we can work out some kind of basic rules then. 08:35 VanessaE for now I see no reason to mess with that. 08:35 celeron55 (mainly to allow MC texture packs to be ported without licensing issues) 08:43 VanessaE ok, bedtime for me...about 4 hours late. 08:49 celeron55 umm 08:49 celeron55 hmm 08:52 celeron55 yes, the item texture generation is slow probably because it needs to do a full render cycle for each item 08:53 celeron55 i guess there is plenty of overhead in such a one 08:56 celeron55 altough, i have no idea how some other game might handle such or whether such is actually generally done anywhere 09:09 prestidigitator Hey dev folks! I've got some Simplex Noise for your pleasure, and it's SWEET! http://forum.minetest.net/viewtopic.php?pid=79748#p79748 09:16 celeron55 a comparison would be useful; i don't see how anyone could do any objective evaluation based on those screenshots 09:18 prestidigitator True. Actually there may not be a lot of qualitative difference at this point, but I am absolutely amazed that the performance is as good as it is, honestly. That's the sweetest part. LOL. 09:19 prestidigitator I'll work on a tangible comparison though. 09:19 prestidigitator Might even be worth trying fewer octaves of noise and seeing if we could get away with, e.g. 3 instead of 5. 09:19 prestidigitator THAT should increase performance, if it works out! 09:22 prestidigitator I may even try out that thing of varying fractal persistence next. It should be incredibly easy given the Decorator Design Pattern the object-oriented interface has. 09:23 celeron55 i think many people would appreciate if you had your code already up on github or so 09:24 prestidigitator I'll have to clean up the history a little, but I'll push it to my fork soon, and create a pull request probably in the next couple days. 09:24 celeron55 there's probably something in it that needs to be modified for upstream anwyay, so it's good to let people find such out early 09:25 prestidigitator Yeah. I'll make sure and merge upstream's master branch as close to the time I create the pull request as possible. 09:28 proller prestidigitator, you want to parse some config strings with lua ? 09:29 proller or it will be in special noise.config.lua ? 09:29 prestidigitator Yeah. I have a working prototype of that, but I'm holding it off for a second phase. 09:31 prestidigitator Oh. No. What I did is took the code that parses structs from settings.h and modified it to take a descriptor object holding info about the C++ struct fields instead of a straight string. Then I created a Lua state with an empty environment to parse it. 09:32 prestidigitator I test the first (non-whitespace) character of the value, and if it is not a "{" then I replace all parens with curly braces in order to take care of the vectors and wrap the whole value in "{". Then I prepent "return " and pass it to Lua. 09:33 prestidigitator Other than values that the C++ code asks settings.h to parse as a struct, the settings file is not affected. So it's still the same basic syntax, even up to getting the np... = .... from a line of the file. 09:34 prestidigitator Other methods could certainly work too though. I'm not too hung up on it. 09:35 prestidigitator That's an interesting idea, taking a second config file. 09:36 prestidigitator Actually it would be a good way to phase the config file completely to Lua, if that was interesting to people. Create game.conf and game.conf.lua, and merge all the values, taking the ones from the Lua file first if they exist in both places. 09:37 prestidigitator That would allow existing config files to live unmolested. 09:37 sapier moving config file to lua will take any chance to get security enabled/disabled on per config base 09:37 prestidigitator Security? In what sense? 09:38 sapier currently security patches use a special set of prefixed config switches that are not allowed to be changed if security is enabled 09:38 prestidigitator Oh. I think I see what you might be getting at. The way I was thinking was as a completely independent Lua state, totally separate from the interpreter used for mods. 09:38 celeron55 note that the Settings class is used for network serialization and such too; if you make it slower or modify it's behavior, you need to make a second version of it for those purposes 09:39 sapier if full config file handling would be done in lua you wouldn't have any chance to stop it from being changed 09:39 prestidigitator Ahh. Okay. Interesting. I'd say the second version would be a good idea anyway. I wouldn't think Lua should be used for basic client/server communication. Hmm. 09:39 celeron55 but anyway, i think the right path to take here is minimal changes to other things while getting the noise thing done 09:40 prestidigitator Oh, yes. No settings file changes for now. Just the basic API. 09:40 celeron55 what i want to do is put you and hmmmm in the same discussion again once you have stuff in github 09:41 prestidigitator Ah. Err, okay. :o 09:41 sapier I've had a look at jmutex and was wondering if it's possible that jmutex posix implementation behaves completely different from win32 one in terms of recursion 09:41 celeron55 i think you two can agree in something that makes nobody sad 09:42 prestidigitator I hope so. I really hope the performance numbers help him feel more comfortable with it. I was surprised myself! 09:42 sapier as far as I understood win32 documentation a CRITICAL_SECTION oject is recurive by default while a normal pthread mutex isn't 09:42 prestidigitator Hmm. If that's true about mutexes, it might be worth looking at the Boost threads library. 09:43 prestidigitator (Which has a version written on top of Windows threads, by the way.) 09:43 sapier is boost stable in between last time I tried to compile something with boost I had to update boost twice a week 09:43 prestidigitator That's true, but there IS a setting for pthread mutexes that makes them recursive. 09:44 celeron55 boost is pretty much a no-go here; it's too bloated for it's purposes 09:44 sapier I know but it isn't set 09:44 prestidigitator Boost isn't a single library, but a huge colletion of them. I believe Boost's thread library only depends on like the Boost time/date library and one other. I HATE many of the Boost libraries, but the threading one is pretty good and clean. 09:44 sapier so currently same code on linux and windows should do completely different things (if I'm correct) 09:45 celeron55 C++11 threads are more in the spirit of minetest; they can be used once all of our supported platforms have it (do they now?) 09:45 prestidigitator Ah. That's a thought. 09:45 prestidigitator No idea. 09:45 sapier can someone tell me which version of gcc supports cx11? 09:45 celeron55 we support the version of gcc in debian stable, visual studio 2010 and newest clang 09:46 sapier still we should fix jmutex if my interpretation is correct 09:47 celeron55 sapier: http://gcc.gnu.org/projects/cxx0x.html 09:47 celeron55 that's for gcc 09:47 celeron55 debian stable has... 4.6 i think 09:47 sapier as CRITICAL_SECTION can't be switched to non recursion mode (at least msdn documentation tells this) we should use a (slower) recursive mutex too 09:47 celeron55 here's a good list for all compilers: http://wiki.apache.org/stdcxx/C++0xCompilerSupport 09:48 prestidigitator g++ 4.7's man page says "The 2011 ISO C++ standard plus amendments. Support for C++11 is still experimental, and may change in incompatible ways in future releases". At least as of the version Ubuntu 12.10 has. 09:48 sapier do we require full cx11 compatibility? 09:48 sapier not even 4.8 has reached this state 09:48 celeron55 sapier: how is that relevant to us 09:49 sapier I don't know those features missing in gcc4.8 don't seem to be relevant to us (as far as I understand) 09:49 celeron55 "they can be used once all of our supported platforms have it" refers to any single feature of C++11 by their own 09:49 celeron55 not the full thing 09:49 sapier ok 09:49 sapier so we only have to wait until wheezy is released 09:50 sapier but as far as I know c++ threads aren't a full replacement for phreads 09:50 prestidigitator I believe there's actually a library that puts a pthreads API on top of Windows threads too. It's possible that might give some consistency. Then again, maybe that's what jmutex is supposed to do anyway? 09:51 prestidigitator No idea about licensing on that one. 09:52 sapier ok I'm wrong according to cppreference thread documentation c++ threads seam quite as good as jthread 09:53 sapier but they are missing thread prioritys ... if we want to make minetest multithreaded we most likely will require this 09:53 celeron55 apparently VC10 doesn't support C++11 threads and never will 09:53 sapier ok so no c++ threads anytime soon 09:54 sapier I suggest only fixing jmutex to behave same way in linux and windows for the time being 09:55 prestidigitator If Windows' default is recursive, fixing the pthreads version should be very easy. 09:55 celeron55 sapier: or we could just define that our mutex implementation is free to behave recursively or non-recursively; that isn't really a problem other than in very special cases 09:56 sapier it's no problem yes but it should be same on linux and windows 09:56 sapier stop it is a problem 09:56 sapier if you define it's free you have to assume it's non recursive 09:56 celeron55 yes, you have to code like it's non-recursive 09:57 sapier ... might be even better .. but more difficult to handle 09:57 celeron55 i'm fine with switching to recursive pthreads though, if the windows one indeed is stuck to being recursive 09:58 sapier it's the quick solution ...as atm mutexes aren't used very excessive the speed penalty might not be noticed within linux 09:59 celeron55 the non-recursive pthread mutexes are multiple times faster than recursive windows ones i think 09:59 sapier but I'll have look if it's possible to make scriptapi behave fine with non recursive mutexes ... functions called from within scriptapi as well as modapi might be a problem ... maybe I need to add aditional functions to get this done 10:00 celeron55 the other windows implementation (the inter-process one, i guess that's non-recursive) selectable in jmutex by a flag is way slower 10:00 prestidigitator All you have to do is call pthread_mutex_init() with an attribute object you've called pthread_mutexattr_settype(..., PTHREAD_MUTEX_RECURSIVE_NP) on. 10:01 sapier yes but we need to be sure we want to use the slow recursive mutexes 10:02 sapier semaphores (events) are heavy operations compared to mutexes (at least on most architectures) 10:02 prestidigitator True. Honestly I doubt they are that much slower though. Hmm. 10:03 sapier mutex speed does make a difference but only if called thousands of times per second (which may happen in some programs) ... i don't know if minetest uses locking this way 10:03 prestidigitator Well, I believe recursive mutexes just lock a non-recursive mutex and check on a thread ownership variable. 10:04 Kray recursive mutexes are bad because they indicate the program is structured poorly 10:04 prestidigitator Right. Hopefully most operations are done using mostly independent state on the different threads. 10:05 prestidigitator I'd have to disagree there. It CAN indicate this, but there are well designed programs that can still recursively lock mutexes. 10:05 sapier which is exactly what minetest is considering locking kray ;-) 10:06 sapier imho locking is done way to heavy within minetest this is like the big kernel lock in linux was some years ago 10:09 prestidigitator I haven't really dug enough to get a sense of that yet myself. I did create the noise API I am working on with concurrency in mind. The noise generation itself is completely re-entrant. To generate blocks of noise, callers pass in a result buffer. 10:09 prestidigitator Somewhat better than the existing API, where the results are stored in the noise object itself. 10:10 prestidigitator So to safely generate noise independently on different threads, the whole noise object would have to be copied. 10:10 prestidigitator Not that big of a deal, until you realize that many objects hold a noise object... 10:14 prestidigitator Anyway, I should probably be getting some sleep. 10:14 sapier ok I've just enabled locking without recursion lets see where I'm gonna be stuck 10:15 prestidigitator Uh oh! Good luck! :-) 10:15 prestidigitator Good talking to you. Goodnight folks. 10:17 sapier lol no lockup at all due to big minetest lock :-) 11:56 sapier PilzAdam are used to locks and how they are used in core? 11:56 PilzAdam no 11:57 sapier :-/ I try to understand how this is done 12:08 Pepsininja Hello:) 12:08 rarkenin Hi. 12:09 Pepsininja You use this too Rark? 12:09 rarkenin Occasionally. IRC is a meeting place for people/developers. :) 12:10 Pepsininja Gtg 12:30 sapier ok I've investigated env lock, there's no way this lock can ever be taken from anyone outside of server thread. Can someone tell me what's this lock good for at all? 12:33 sapier argh ... eclipse has hidden a file ... there is exactly one other thread ... emerge thread 12:37 sapier and emerge thread protects map operations by using env lock ... most other occurences of env lock don't do anything with map ... imho this lock is used as "let me be the only one doing anything"-lock 12:38 celeron55 it protects the environment, consisting of the nodes and objects 12:38 celeron55 and lua 12:38 sapier so "protect everything" is very close 12:40 sapier for example to send time to players env lock is taken ... I don't see any dependency of time and map ... is there a hidden one? 12:41 celeron55 could be that there is none for that, but previously was 12:41 sapier most env locks have been commented within client maybe they have been necessary once 12:41 celeron55 you need to take into account who may write the data, and who may read the data 12:42 celeron55 sapier: don't let that fool you; the client was made single-threaded a while back as far as environment goes 12:43 sapier yes that's why I'm asking I know it's difficult to make locks more specific but currently it's a one thread or another thread lock resulting in almost single thread performance 12:44 celeron55 in order to do that, you need to define smaller atomic operations for everything that needs to be done 12:44 celeron55 currently there is only one atomic operation, which is "do anything that modifies anything in the game state" 12:44 sapier that's what I suggest to aim at 12:44 celeron55 "modifies or reads", that is 12:44 sapier it's not a thing to be done at once of course 12:45 sapier sorry gtg 12:45 celeron55 well i don't really want to discuss this either so whatever 8) other things to do 13:31 PilzAdam I merged the sound_place field for tools and the new damage system together into one branch, since they both require a new protocoll version: https://github.com/PilzAdam/minetest/commits/dev 13:31 PilzAdam all changes are fully backwards compatible 13:39 PilzAdam pull request: https://github.com/minetest/minetest/pull/576 14:18 hmmmm http://forum.minetest.net/viewtopic.php?pid=79748#p79748 <---- something's not right here 14:19 hmmmm the point-noise functions are about 30x slower than my batch noise generation 14:23 hmmmm and i am reading the backlog from that guy now... oh god... "decorator design pattern"? 14:23 hmmmm all the things i thought would happen are happening with this guy 14:24 hmmmm yeah, his code is definitely not making its way in without heavy modification to actually fit with minetest 14:28 celeron55 you have a lot of presuppositions considering you haven't seen a single line of code 14:29 hmmmm i have good intuition much of the time 14:29 celeron55 i suggest not so openly disliking it before you have actually seen it; it does no good to anyone 14:29 celeron55 nor this project 14:29 hmmmm decorator design pattern though 14:29 celeron55 they're just words 14:29 hmmmm did he just finish a software engineering course at his school and he's eager to javafy minetest? 14:30 hmmmm why not draw up some UML diagrams too 14:30 hmmmm make a use flowchart 14:30 Kray why not? 14:30 hmmmm start shitting up the source code with doxygen comments 14:30 Kray doxygen comments in the source is a good thing 14:31 hmmmm they're ugly, space consuming, and often uninformative 14:31 Kray it allows generating nice documentation of APIs 14:31 Kray they are not uninformative if you don't write them to be such 14:32 Kray you have to document somewhere, so why not where the code that's being documented resides? 14:32 hmmmm because it's too distracting 14:32 Kray it's distracting to have well documented and commented code? 14:32 Kray gtfo 14:33 hmmmm you seem to think that comments turn something that was unreadable before into something that's easy to understand 14:33 Kray nope 14:33 hmmmm just by talking about what the parameters are in a full sentence instead of a word or phrase 14:34 PilzAdam hmmmm, if you have time can you look at this: https://github.com/minetest/minetest/pull/576 ? it needs to be merged before 0.4.6 to make the new swords work correctly 14:34 Kray wat 14:36 hmmmm PilzAdam, it looks nice I guess, i can't comment on its functionality though 14:36 hmmmm you know, damage is something that I would've thought would best be done completely in lua 14:36 hmmmm doesn't matter though 14:36 PilzAdam no, the client predicts it 14:37 celeron55 these days i'm actually in for trying doxygen, but i'm leaving actual usage (there is a patch around that puts in the few required pieces to the build system) for those who mainly code things 14:37 hmmmm that's a challenge for the bar api, client-side prediction 14:37 hmmmm celeron, have you seen the average doxygen comment? 14:37 hmmmm a lot of code is self-explanatory to begin with 14:37 hmmmm there is some that isn't, like profiler i'd argue 14:38 celeron55 we can just set up a policy that any self-explanatory code shall not be written extra documentation for 14:38 hmmmm but there, you'd just need a block comment at top to explain in two or three sentences what is going on 14:39 hmmmm i just fear having a 10-12 line comment for a 4 line function whose usage is totally described by the function name, parameters, and parameter types 14:40 hmmmm oftentimes what's needed is to talk about what the function does, not its parameters and what not 14:40 Kray "code is self-explanatory" 14:40 celeron55 ehm... do you not think i would like such ones? 14:40 Kray no, it isn't 14:40 hmmmm doxygen encourages doing that 14:40 celeron55 if such would appear, i'd just go remove it myself if nobody else did 14:41 celeron55 seriously, we're not so dumb that we couldn't use doxygen to our advantage 14:41 hmmmm but where do we draw the line 14:42 celeron55 a few examples should do well 14:42 hmmmm and then people will say it's incomplete because it doesn't document all of the methods of something 14:42 hmmmm and then we're going to get pull requests for complete commentary on the code 14:43 celeron55 maybe initially have a policy of no methods whatsoever to be documented, and only a file top level comment allowed - so it's nicely browseable in a browser, and keeps the actual code compact 14:43 hmmmm "oh yeah will someone merge my pull request, i fixed minetest by giving fizzbuzz() a doxygen style comment and encapsulated it in an interface with a decorator design pattern" 14:43 celeron55 :D 14:45 hmmmm but anyway i like the last idea better 14:45 hmmmm i want to keep code with code mostly 14:45 celeron55 let's say also that only those who have worked on some code are allowed to add the doxygen comment about it, so it stays actually relevant (zero "i++; // Increment i by one" stuff) 14:47 Exio but the i++ is very hard to understand 14:47 Exio add macros like #define Increment_Variable_by_One(i) i++; 14:47 celeron55 anyway, this won't happen until somebody actually wants to handle this 14:48 celeron55 but it's allowed assuming the discussed things will be done correctly 14:48 Kray hey, ++i ! 14:48 Kray i++ in unoptimized !1 14:49 hmmmm that was the whole point of COBOL 14:49 hmmmm it was verbose so that middle managers could read the code like any other document 14:49 hmmmm and we know how fun COBOL is 14:50 hmmmm java definitely has elements of this with the verbosity 14:50 hmmmm languages that are naturally terse (like C/++) are best left alone 14:52 celeron55 (middle managers don't need to understand code at all though; their purpose is to serve the people who actually do stuff in things they don't want to do) 14:53 iqualfragile you can do i++ in java, too 15:08 hmmmm celeron, your dungeon game won't break if everything is set to a light value of 0x0F, right? 15:09 sapier why is block generation split into intit and finish? 15:10 hmmmm ahh nevermind, that won't work, you don't call set node with an explicit param1 15:10 hmmmm sapier, locking 15:10 sapier I still don't understand? 15:11 sapier init is done within one lock finish within another 15:11 hmmmm makeChunk() is called in between the two 15:11 PilzAdam celeron55, do you want to look at the serialization? https://github.com/minetest/minetest/pull/576 15:11 hmmmm you don't want to call makeChunk() while the environment is locked, that's braindead 15:11 sapier ok I'll have alook what this does 15:12 sapier I try to understand where env lock is used for what in order to replace it by smaller locks ... e.g. a map lock where only map operations are done 15:12 hmmmm you'll have trouble 15:12 hmmmm i was looking at the same exact code you're looking at now 15:13 sapier primary goal is to enable scriptapi to run with no lock at all ... currently all scriptapi calls are done under envlock ... wich isn't quite fast 15:14 sapier but I'm in early stage of investigation atm 15:16 hmmmm https://github.com/minetest/minetest/commit/b0f39da131bc24a41c5d5c8a03d06192937a4568 15:27 celeron55 sapier: it might usually not make sense to run scriptapi without a lock - because the vast majority of the time the only thing the scripts are going to do is mess around with everything in the environment 15:28 celeron55 but dunno 15:29 hmmmm celeron, do you have any ideas on how to fix Map::updateLighting() from taking insane amounts of CPU time from the server thread when a liquid is flowing into an inexistant block? 15:29 sapier inventory actions aren't modifying map, entity interaction isn't modifying map, crafting doesn't modify map ... there are at least some situations where a map lock is not necessary 15:29 celeron55 hmmmm: no 15:29 celeron55 >inventory actions aren't modifying map 15:29 celeron55 they can be modifying node metadata 15:30 sapier if it's a node inventory and not a detached one 15:31 celeron55 but what do you achieve by letting the global lua run without a lock? node placements and the constructors of special nodes and so on need to run in it, blocking everything anyway 15:31 hmmmm hah, this is fun, if you have some water and lava source nodes at the edge with nothing but air surrounding them, they make some pretty cool terrain thanks to the new lava cooling and the way liquids spread 15:31 celeron55 it would possibly be more reasonable to make a system for allowing some kind of script threads maybe 15:32 sapier that's exactly what I want to do but it's useless unless It can't run asynchronously to server 15:33 sapier if this thread requires env lock taken to run it'd exclude server thread vice versa 15:33 celeron55 well, just disable the whole environment and server api from the threads and just allow serialized data to go in and out 15:34 sapier isn't worth the work as you couldn't do anything with a script environment stipped down that much 15:34 celeron55 you can then 1) do blocking i/o in them, 2) launch one in on_generated to build some terrain in the background, passing the copied table of originally generated nodes to it 8) 15:34 celeron55 not sure if this is really viable, but it's one of possible approaches 15:35 sapier that's why I want more specific locks to make those threads run asynchronously as long as possible 15:35 sapier if someone places a node from lua I don't have any chance but locking map 15:35 sapier but if someone punches a entity i don't need to bother about map 15:35 celeron55 sapier: what do you want to do in non-locked lua? 15:36 celeron55 you need to know the answer to that before you can design anything 15:36 sapier e.g. entity interaction inventory interaction 15:37 sapier lua based pathfinding for example took 1s to fetch data from map but several hundreds to calculate ... I know if something is that heavy it'd not be done in lua but it's a good example for locks just not required for so long 15:40 sapier But I'll do some investigations how much time is wasted within lock not required to be wasted 15:48 hmmmm sapier, it would probably help to have some APIs for manually unlocking/locking the environment back, to be used at the modder's own careful discression.. 15:48 hmmmm that's what i would do anyway. 15:54 celeron55 basically, here is why it has been left like that - it'll take much effort to figure out how to do it so that it can actually bring some benefit 16:13 sapier I know it's lots of effort but as cpu's don't get faster anymore but only get additional cores amdals law is most important for any application doing paralelizable computation 16:57 sapier hmmm for some cases this might be usefull but I don't think modders should bother to take env lock when adding a single block 16:58 sapier excuse me I meant node of course 17:02 celeron55 obviously it can be automated when the modder doesn't care 17:11 sapier according to profiler there is time consumed within lua functions that don't need a lock ... it's about 0.06 if here's almost nothing to be done within lua 17:14 hmmmm holy crap i am such an idiot 17:18 hmmmm https://github.com/minetest/minetest/commit/5b854f95d2144710493520151aafc48a887ac1b3 17:18 hmmmm why didn't anybody tell me i did something dumb 17:19 PilzAdam we want you to find your bugs yourself :-) 18:47 PilzAdam celeron55, sorry for repeating, but can you look if I have done something dumb to the serialization: https://github.com/minetest/minetest/pull/576 ? 18:52 celeron55 it seems to be roughly right 18:52 celeron55 you've screwed up the documentation though 18:53 PilzAdam wich documentation? lua-api.txt? 18:53 celeron55 damage_groups = {fleshy=100}, <- this example is ridiculous 18:53 celeron55 a tool that makes 100hp of damage 18:54 PilzAdam oh 18:55 PilzAdam anything else? 18:55 celeron55 and after "List of damage for groups of entities.", add "See "Entity damage mechanism"", and also after line 473 18:55 celeron55 so that it's easy to find how it actually is supposed to work 18:55 celeron55 oh and 18:56 celeron55 hmm, i think it's good enough after that 18:57 celeron55 i think this may leave some old misinformation somewhere but i can't immediately find such 18:59 PilzAdam ok, thx 19:02 PilzAdam maybe in "Known damage and digging time defining groups" add "percentage of damage caused by damage group fleshy" to fleshy 19:03 celeron55 umm hmm 19:03 celeron55 no 19:04 celeron55 the mention about percentage should be added under "Groups of entities" 19:05 celeron55 from "Known damage and digging time defining groups" the line "Valid ratings for these are 0, 1, 2 and 3, unless otherwise stated." should be removed 19:05 celeron55 or alternatively changed to... well no, it doesn't belong there 19:05 celeron55 it's supposed to be just a list 19:06 celeron55 the 1...3 thing for digging time is explained elsewhere already 19:08 celeron55 lua_api.txt should be minimal but accurate 8) 19:09 hmmmm celeron, was it l_find_node_near() that was being slow? 19:09 hmmmm there are a lot of calls to l_find_node_near(), but they all take <= 1ms 19:09 PilzAdam updated 19:10 celeron55 >there are a lot of calls 19:10 celeron55 there are a fuckton of calls, made by leaf decay 19:10 VanessaE moretrees uses the lua hook for that as well. 19:10 VanessaE (for the same reason) 19:11 celeron55 l_find_node_near should be optimized to be as light as possible for light queries 19:11 celeron55 not something that takes as much as "<=1ms" 19:11 PilzAdam Ill push it now 19:11 hmmmm there are a lot of other functions called more than that which take longer than 2ms 19:11 hmmmm i'm not wasting my time 19:12 celeron55 could be 19:12 hmmmm haha j/k, i'm not like that 19:12 celeron55 that's just one thing that easily popped out by inspecting with callgrind/kcachegrind 19:13 celeron55 leaf decay will actually cache the result on it's own so it gets easier over time 19:13 hmmmm but i'm going to need to add a microsecond precision timer, something that's long overdue 19:13 VanessaE plants_lib also uses it during mapgen time. 19:14 VanessaE (just mentioning these because they're the two heaviest mods I know of that would benefit from a speedup in that function) 19:23 hmmmm well this isn't as simple as it should be 19:23 hmmmm irrlicht doesn't have anything other than ms 19:23 celeron55 you need to add a platform-specific one to porting.h 19:23 hmmmm yeah i had to do that anyway 19:23 celeron55 posix has gettimeofday, windows has something else 19:24 hmmmm i know, i know 19:24 celeron55 why don't you just do it then and stop talking :P 19:24 hmmmm for the hell of it, i expanded timing to seconds, microseconds, and nanoseconds 19:25 hmmmm ah, you have to specify whether or not a timetaker is quiet now in order to use that, oh well 19:28 hmmmm and for nanoseconds i guess i can use clock_gettime() 19:28 sapier I like it :-) 19:49 hmmmm hrmm 19:49 hmmmm does anybody have Windows to test something? 19:51 VanessaE hmmmm: got Win2k via virtualbox over here... 19:51 VanessaE (on husband's machine) 19:51 hmmmm haha, no thanks 19:51 VanessaE heh 19:51 hmmmm I mean an actual machine that can run minetest 19:52 VanessaE well it works enough to play his pinball games :D 19:52 VanessaE but no, nothing handy that actually has win installed 19:56 Exio hmmmm: for testing what? 19:57 hmmmm well, two things I guess. my implementations of getTimeUs and getTimeNs for windows, and to see how slow l_find_nodes_in_area really is for other people 19:57 Exio how should i test that? 19:57 Exio any virus.exe? :P 19:57 hmmmm oh, well hold on a minute 19:57 hmmmm not at the moment 19:58 hmmmm actually i can do this without dragging other people around 19:58 hmmmm nevermind 20:00 Exio ok... 20:00 hmmmm sorry :p 20:00 * Exio throws lava at hmmmm's computer 20:00 hmmmm lava! 20:00 hmmmm hopefully not a lava source 20:01 Exio it is a NON RENEWABLE lava source 20:03 hmmmm haha 20:03 hmmmm / CLANG SUCKS DONKEY BALLS 20:03 Exio i saw that when grep-ing 20:08 Calinou it does :> 20:08 Calinou well, not really 20:08 Calinou but it bugs with a lot of programs 20:09 hmmmm clang is nice because it has a BSD license and it's quite fast these days.. i am looking forward to freebsd 10 where it's the default cc 20:09 hmmmm well, let's be honest, anything is better than gcc 4.2.2 20:29 Calinou I don't really care about compile speed (MSVC ALWAYS wins in this anyway, no need to compile), just about the resulting binary speed :P 20:29 Calinou or the fun intel compilers :p 20:35 VanessaE Calinou: you forgot to delete gold, copper, bronze nodes from moreores :-) 20:36 VanessaE (and tools, items) 20:38 sfan5 bug: 20:39 sfan5 ERROR[main]: WARNING: updateListener: invalid value 20:39 sfan5 and the world turns invisible 20:39 jojoa1997|AWAY How do I add a. Name to my account 20:40 sfan5 debug stack trace: http://pastie.org/pastes/7166009/text?key=prs9gr93ikamveaqce17oa 20:48 hmmmm this is harder than i thought 20:48 hmmmm QueryPerformanceCounter is wildly inaccurate 20:48 hmmmm a lot of the time i do get what i expect, other times it's way off 20:48 hmmmm and i don't think it's due to context switching 20:49 hmmmm ah, nevermind, it's accurate enough, it's Sleep() that's not accurate 20:53 hmmmm https://github.com/minetest/minetest/commit/df49b93877b40551111be6ef5ecfe4629787ab75 21:30 hmmmm vanessae, they still have to be there in case those nodes need to be registered 21:31 VanessaE oh. 21:31 VanessaE but they show up anyway 21:31 VanessaE so the test isn't being done 21:37 proller https://github.com/proller/minetest/commit/c0c55e3c8a196eaa1ec412a230a339b771c692b9 - masterserver fixes 21:38 proller added gameid, uptime from server 21:46 proller comments? 21:48 PilzAdam is it backwards compatible? 21:53 PilzAdam and wouldnt it be better to use the name that is set in game.conf instead of the id? 21:55 proller fully compatible 21:57 hmmmm from what i understand, the name in game.conf is a larger string to describe the game better, not a unique identifier 21:58 hmmmm yeah, looks good aside from the lines that are like 150 columns long 21:58 hmmmm lol, 'human_time()' 21:58 hmmmm the time that earthlings use 21:59 proller yes, too long 21:59 proller human-readable 22:00 proller commit with .id ? 22:00 hmmmm yeah 22:00 hmmmm because an id actually identifies the game, that's why it's called the I.D. 22:03 PilzAdam the ID of games is just the name of the directory of it, while the actual name of the game is set in game.conf 22:03 PilzAdam like "name = Build" 22:04 hmmmm yea 22:04 hmmmm oh... wait... that's going to be displayed to the user? 22:04 PilzAdam lua-api.txt says is the "human readable" version of the game ID 22:04 PilzAdam *its 22:04 PilzAdam I guess, yea 22:05 hmmmm if that's the case, then yeah, the name should be used 22:05 proller "minimal" 22:05 PilzAdam we also need to change the select world GUI to show the name instead of the ID behind the worlds in the [] 22:05 proller and now its for show in web only, no space in game chooser 22:06 hmmmm yeah 22:06 hmmmm if the end user is going to see this in a list, it should be .name, if not, .id 22:06 proller http://minetest.setun.net:8000/ 22:06 PilzAdam proller, also a proper commit message would "Small fixes for masterserver and add uptime and game name to announce" 22:07 PilzAdam +be 22:07 proller ok 22:08 PilzAdam oh, the one you commited is also good 22:08 proller ^^ in link .name 22:08 proller no, i commited .id 22:08 proller but can change 22:08 proller but look on http://servers.minetest.net/ 22:09 proller add long string too bad 22:13 proller main difference now in first letter, capital or not 22:15 hmmmm wow, gotta wonder, is that really all the minetest servers there are? 22:16 VanessaE http://servers.minetest.ru/ 22:16 VanessaE those, too 22:16 hmmmm minetest isn't popular outside of the people in our channel i guess 22:16 hmmmm ah that looks a bit better 22:17 proller hmmmm, all with server_announce=1 22:17 VanessaE hmmmm: well that's not true, if you were to look at my auth.txt, you'd find maybe 80% or more of the 1491 entries are people we've never seen in these channels 22:17 hmmmm isn't server_announce=1 the default? 22:17 proller no 22:17 hmmmm oh 22:17 proller but you can enable in gui 22:18 proller "Public" 22:18 PilzAdam most people dont know how to use it 22:18 Calinou idea: ability to change server name in the server creation menu :P 22:18 Calinou name, desc, maybe max players 22:18 VanessaE it's just more a problem of "how to run server plz I cant read web halp plzzz" 22:18 VanessaE know what I mean? 22:18 Calinou (we could have a more full server gui, actually) 22:19 Calinou a separate one, but in the MT main menu 22:20 proller btw, now possible to embed serverlist in any page, i think must be tab in http://minetest.net/ 22:21 proller or directly on main page like http://buildandshoot.com/ 22:27 IceCraft Lol 22:27 IceCraft Buildandshoot.com :3 22:27 IceCraft Yay 22:34 proller PilzAdam, ups, uptime backward comp. was broken 8) small fix.. 22:34 proller only in js 23:33 PilzAdam hmmmm, whats this? http://www.zimg.eu/i/4153720300 23:34 PilzAdam it appeared in my world after I started MT in a shaft under the tower and went up 23:34 PilzAdam the trees are grown from saplings 23:35 VanessaE I saw something like that on my server a few days ago too. 23:35 VanessaE inexplicable, square black shadows. 23:39 PilzAdam oh, I have planted a new sapling, and when the tree grows the shadows are gone 23:42 PilzAdam yep, its reproduceable that a growing sapling fixes it