Time |
Nick |
Message |
00:00 |
sapier |
sorry proller but thats freeminer not minetest |
00:01 |
proller |
sapier, its broken in minetest |
00:01 |
sapier |
this may or may not be a bug in stable too but I don't intend to spend time on verifying this guess |
00:02 |
VanessaE |
proller: standard answer, "Can you reproduce this with the latest git of Minetest"? ;) |
00:03 |
proller |
yes, all 3+ cores |
00:03 |
proller |
in tests, in connection break, in disconnect, in mod store |
00:03 |
proller |
everywhere |
00:04 |
proller |
http threads totally broken |
00:10 |
sapier |
proller why is there done a kill on shutting down gui engine? |
00:10 |
|
domtron joined #minetest-dev |
00:10 |
proller |
i dont know |
00:11 |
proller |
i can make ipv6 only freebsd jail for tests |
00:11 |
proller |
if somebody wants to debug |
00:12 |
sapier |
for what I remember async engine is supposed to ask the thread for shutting down, wait for shutdown, and do a kill for safety. But kill is not supposed to kill anything |
00:13 |
sapier |
vanessaE never ever try to add a graphic with more then 32mb ;-) |
00:13 |
VanessaE |
you mean as a server tex pack? |
00:13 |
sapier |
no a single graphic |
00:13 |
VanessaE |
dare I ask what happens? |
00:14 |
|
Gethiox joined #minetest-dev |
00:14 |
VanessaE |
server blowed up? :) |
00:14 |
sapier |
terrible things |
00:14 |
VanessaE |
I think I may already have a couple that are that big |
00:14 |
VanessaE |
*checks HDX* |
00:14 |
VanessaE |
nope |
00:15 |
VanessaE |
biggest is 8.9M (animated, flowing lava, 512px) |
00:15 |
sapier |
sequence number is a 16 bit value so there are at most 32mb available with separate sequence numbers ... some overhead needs to be substracted too ... so I guess it's somewhere aroung 30 ... maybe less |
00:15 |
VanessaE |
...and only because for reasons that escape me, all we allow for an animated format is vertical frames (no stacked frames ala GIF, or movie formats, e.g. ogv) |
00:16 |
iqualfragile |
why not apng |
00:16 |
VanessaE |
iqualfragile: not supported by irrlicht I think |
00:17 |
VanessaE |
doesn't matter, offtopic |
00:17 |
VanessaE |
sapier: perhaps it would be a good idea to add a sanity check somewhere in the image loader then :) |
00:19 |
sapier |
might be usefull |
00:39 |
|
werwerwer joined #minetest-dev |
01:27 |
|
Miner_48er joined #minetest-dev |
01:43 |
|
EvergreenTree joined #minetest-dev |
01:44 |
|
Gethiox joined #minetest-dev |
01:57 |
|
Gethiox joined #minetest-dev |
02:29 |
|
bas080 joined #minetest-dev |
03:42 |
|
sapier left #minetest-dev |
03:59 |
|
domtron joined #minetest-dev |
04:21 |
|
ShadowBot` joined #minetest-dev |
04:22 |
|
NakedFury joined #minetest-dev |
04:24 |
|
mrtux joined #minetest-dev |
05:01 |
|
domtron joined #minetest-dev |
05:04 |
|
Miner_48er joined #minetest-dev |
05:47 |
|
blaaaaargh joined #minetest-dev |
06:32 |
|
mrtux joined #minetest-dev |
06:36 |
|
Gethiox joined #minetest-dev |
06:59 |
|
nore joined #minetest-dev |
07:27 |
|
aaronfranke joined #minetest-dev |
08:11 |
|
darkrose joined #minetest-dev |
08:26 |
|
kahrl_ joined #minetest-dev |
08:58 |
|
Calinou joined #minetest-dev |
09:19 |
|
kahrl joined #minetest-dev |
09:22 |
|
VanessaE joined #minetest-dev |
10:17 |
thexyz |
VanessaE: neither gif nor ogv is supported by irrlicht |
10:17 |
VanessaE |
I know. |
10:18 |
thexyz |
so do you want someone to spend their precious time implementing gif parser for Irrlicht instead of, well, making the game better? |
10:18 |
VanessaE |
why it doesn't support those, I don't understand, as both are quite free now. |
10:18 |
thexyz |
gif is shit |
10:18 |
VanessaE |
(well ogv always has been) |
10:19 |
VanessaE |
gif is shit but it's also ubiquitous. |
10:19 |
VanessaE |
and quite adequate for some things |
10:19 |
thexyz |
and then why would you support movie formats? |
10:19 |
thexyz |
and in which way |
10:19 |
thexyz |
anyway, this discussion is not productive |
10:19 |
VanessaE |
what does it matter? it isn't supporte and nebver wwill be |
10:19 |
VanessaE |
ugh, terrible typing. |
10:20 |
thexyz |
yes, probably |
10:20 |
thexyz |
unless you go on and implement it |
10:20 |
thexyz |
because no one thinks there's a need |
10:20 |
VanessaE |
"not productive", says the guy who raised the qeustion like 8 hours after I mentioned it entirely in passing. |
10:21 |
VanessaE |
if it was nonproductive to mention it...um...why did you bring it up? |
10:23 |
VanessaE |
I mentioned it then because animated images were the only way I could conceive of to get the huge image sizes sapier and I were discussing guarding against. That part of the discussion was hypothetical. |
10:26 |
thexyz |
ah well |
10:26 |
thexyz |
I still don't understand why can't we just switch to enet |
10:26 |
thexyz |
and also implement messagepack |
10:26 |
thexyz |
instead of adding more and more restrictions |
10:26 |
thexyz |
and "fixing" the current implementation |
10:28 |
VanessaE |
"more and more restrictions"? |
10:38 |
thexyz |
well, not more and more; we just only get to know about them now |
10:38 |
thexyz |
"never ever try to add a graphic with more then 32mb" |
10:39 |
VanessaE |
oh that |
10:39 |
thexyz |
it's not that you'll ever need that, but the restriction already says something about the implementation |
10:39 |
VanessaE |
yes |
10:39 |
VanessaE |
well it comes from the same basic idea about gifs and ogv and the like: |
10:40 |
thexyz |
hm? |
10:40 |
VanessaE |
the reason I wanted them in the first place is that animations have a limited size if they're a vertical strip. The bigger the frame size, the shorter the length of the animation, because irrlicht can't load a file that has a vertical height of more than 16348 pixels. |
10:41 |
VanessaE |
so for example at 512px an animation could only be 32 frames. |
10:41 |
VanessaE |
just thirty two. |
10:41 |
thexyz |
I think what you're doing is a bit crazy |
10:42 |
VanessaE |
use a gif or ogv or some other format where the "frames" are stored sequentially and that restriction goes away - but we can't d that because irrlicht can't |
10:42 |
VanessaE |
what I'm doing? is nothing. I have as yet done exactly nothing that needs that many frames. |
10:42 |
VanessaE |
I'm talking about some time down the line. what if I did? |
10:43 |
VanessaE |
or wanted to, rather. |
10:43 |
VanessaE |
oh s/16348/16384/ |
10:43 |
VanessaE |
(typo) |
10:45 |
|
kaeza joined #minetest-dev |
10:45 |
VanessaE |
the point of that particular desire was that at some point in the future, I'm gonna find myself wishing I could fit *ust* a few more frames in, or even wishing I could play back a short full-motion video (hell, I already wish I could), but I can't. |
10:45 |
VanessaE |
*just** |
10:45 |
thexyz |
fine |
10:47 |
thexyz |
hm.. we can have two dimensions though |
10:49 |
Taoki |
VanessaE: ogv as in videos on node faces? |
10:49 |
VanessaE |
Taoki: precisely. |
10:49 |
Taoki |
I don't think that's crazy. Quite possible... although I don't know specifically for Irrlicht |
10:50 |
Taoki |
The only crazy part is the amount of data that might have to be transferred for such a thing. The media protocol is already slow enough with the 16x textures |
10:50 |
VanessaE |
Taoki: imagine the TV in homedecor actually playing *video* instead of just showing a single image every several seconds |
10:50 |
VanessaE |
that's the sorta thing I was referring to. |
10:50 |
Taoki |
Yes. I like the idea |
10:50 |
VanessaE |
(or that big screen that I never implemented) |
10:50 |
Taoki |
Might waht to ask on #irrlicht about that or google "irrlicht video on surface" or something like that. Can't now cuz I need to leave soon |
10:50 |
VanessaE |
yes, the amount of data would be crazy. that's the problem. |
10:51 |
Calinou |
"videos as textures" is something I've never seen in any game |
10:51 |
VanessaE |
every rusted-out old web browser can show an animated gif. why can't irrlicht? |
10:51 |
Taoki |
Yeah. Though that's the modder's problem |
10:51 |
Calinou |
you could use a .jpg or a .png as an animated texture |
10:51 |
Taoki |
Calinou: Oh, it exists in some games. Or at least it's easily possible |
10:52 |
Taoki |
Only example that comes to mind is Second Life (virtual space not game, but still 3D). You can have INTERACTIVE html pages on a 3D surface even, where you can click links / scroll / etc. like in a web browser |
10:52 |
Taoki |
ag: You can create a cube, put a Youtube page on it, and play videos there |
10:52 |
VanessaE |
but this is is all jut jabber, I didn't intend to start this conversation at all. Sapier only warned against loading bloody huge images and those were the only ones I could possibly think of that could get that big by any means :-() |
10:52 |
VanessaE |
:-) |
10:52 |
VanessaE |
just* |
10:53 |
Taoki |
I think some modern FPS games (with maps and stories behind them especially) do this too. In recent ones people probably encounter televisions that play stuff |
10:53 |
Taoki |
DeusEx - Human Revolucion for instance... I remember it did that |
10:53 |
Taoki |
**Revolution |
10:55 |
Taoki |
Anyway, thexyz stated earlier that this isn't supported in Irrlicht. I assume he knows what he's talking about, so in this case we do have a serious problem in making this possible. |
10:56 |
Taoki |
Althoooooooooooooough... http://irrlicht.sourceforge.net/forum//viewtopic.php?t=6389 |
10:57 |
Calinou |
using an animated texture is the best way to simulate it |
10:57 |
Calinou |
.jpg or .png |
10:57 |
Calinou |
see water and lava textures |
10:58 |
Taoki |
Calinou: Especially if the movie is of any useful resolution, a frame can be pretty big. If for example it's 256 x 256 (smallest reasonable resolution), and has over 1000 frames, the height of the image would have to be 2560000. I don't think that's even possible |
10:58 |
VanessaE |
no image editor will ever handle that |
10:59 |
Taoki |
What COULD work is if the video file can be automatically decomposed into a jpg sequence in memory, and the audio into an ogg file. Then those are automatically put in place |
10:59 |
VanessaE |
even on a cluster. |
10:59 |
Taoki |
Yeah |
10:59 |
VanessaE |
decompressing a video into raw imagery would not work |
10:59 |
VanessaE |
the resultant stream would be too big. |
10:59 |
Taoki |
Each frame would have to be a different file. To keep things in order, each video should then be a different folder in media and cache |
11:00 |
VanessaE |
you'd have to cache the video client side and play it from the compressed file |
11:00 |
Taoki |
VanessaE: The client could do it still. The server sends the original ogv file, then once it has it the client extracts it. |
11:01 |
Taoki |
Client must do the rendering after all, based on info it receives from server |
11:01 |
Taoki |
But for this to work, Minetest must be compiled with a non-proprietary ffmpeg-like tool |
11:02 |
Taoki |
Also, unpacking could take very long at connection time |
11:03 |
VanessaE |
indeed so |
11:04 |
Taoki |
But the idea would be: Client receives ogv file - Frames are unpacked into a sub-folder in the cache as jpg sequences, and frame rate is noted - Audio is unpacked into an ogg file - Make the audio file loop on that node. The image sequence loops at the remembered frame rate. |
11:04 |
VanessaE |
something like this would definitely call for client-side video packs |
11:04 |
VanessaE |
like technic-ambiance's client-side sound packs. |
11:04 |
VanessaE |
if not present, client just gets some static image like the old Indian Head test card or something. |
11:04 |
VanessaE |
( http://en.wikipedia.org/wiki/Indian-head_test_pattern ) |
11:06 |
VanessaE |
but, again, |
11:07 |
VanessaE |
this is all academic, and way beyond the intention of the statement thexyz so grossly misinterpreted :) |
11:08 |
Taoki |
I imagine some might find this both useless (supporting video in a system and world like Minetest) and might be afraid of the media jam and data transfer this could cause (which is a correct concern) |
11:10 |
|
jin_xi joined #minetest-dev |
11:42 |
|
PilzAdam joined #minetest-dev |
12:27 |
|
blaaaaargh joined #minetest-dev |
13:02 |
|
sepi joined #minetest-dev |
13:15 |
sepi |
How can I spawn mobs from the mob framework? |
13:15 |
sepi |
or will they spawn automatically only? |
13:21 |
sepi |
Oh, I found out :) |
13:21 |
|
VanessaE joined #minetest-dev |
13:23 |
|
sapier joined #minetest-dev |
14:09 |
|
salamanderrake joined #minetest-dev |
14:10 |
|
iqualfragile joined #minetest-dev |
14:35 |
|
zat joined #minetest-dev |
14:39 |
|
Taoki[laptop] joined #minetest-dev |
14:44 |
|
blaaaaargh joined #minetest-dev |
14:58 |
|
Zeitgeist_ joined #minetest-dev |
15:30 |
|
kaeza joined #minetest-dev |
15:47 |
|
harrison__ joined #minetest-dev |
15:49 |
|
harrison joined #minetest-dev |
15:54 |
|
rubenwardy joined #minetest-dev |
16:04 |
|
nore joined #minetest-dev |
16:07 |
|
Anchakor_ joined #minetest-dev |
16:16 |
|
Calinou joined #minetest-dev |
16:17 |
|
Anchakor_ joined #minetest-dev |
16:27 |
|
Jordach joined #minetest-dev |
16:29 |
|
nore joined #minetest-dev |
16:34 |
|
EvergreenTree joined #minetest-dev |
16:36 |
|
Gethiox joined #minetest-dev |
17:13 |
|
troller joined #minetest-dev |
17:13 |
|
proller joined #minetest-dev |
17:15 |
|
paramat joined #minetest-dev |
17:21 |
|
diemartin joined #minetest-dev |
17:24 |
|
PilzAdam joined #minetest-dev |
17:29 |
|
kaeza joined #minetest-dev |
17:29 |
|
hmmmm joined #minetest-dev |
17:34 |
|
nore joined #minetest-dev |
18:05 |
|
paramat joined #minetest-dev |
18:05 |
|
iqualfragile joined #minetest-dev |
18:08 |
|
diemartin joined #minetest-dev |
18:24 |
|
Akien joined #minetest-dev |
18:37 |
|
Miner_48er joined #minetest-dev |
18:44 |
|
smoke_fumus joined #minetest-dev |
18:46 |
|
naxthesurvivor joined #minetest-dev |
19:12 |
|
NakedFury joined #minetest-dev |
19:14 |
thexyz |
patch suggestion: https://github.com/xyzz/freeminer/commit/f29abd5baa83a3333d748ea61d977190489160cd — according to my profiler this improves the performance (previously the `find()` call was marked as the slowest) |
19:15 |
thexyz |
this adds a 8 kilobytes overhead to every abm |
19:16 |
sapier |
are bitsets as ugly for multithreading as bitfields are? |
19:17 |
thexyz |
sapier: what do you mean? |
19:17 |
ShadowNinja |
getIds seems unrelated. |
19:18 |
thexyz |
it is related |
19:18 |
thexyz |
because it now can assign to std::bitset |
19:18 |
sapier |
e.g. you can't actually use bitfields from different threads because you need to lock the whole thing for each access ... but this situation doesn't look like anything even close to that issue |
19:19 |
sapier |
I guess that bitfield is runtime constant too isn't it? |
19:19 |
thexyz |
that's true but this is also true for std::map which was used before |
19:19 |
thexyz |
it's O(1), yeah |
19:19 |
sapier |
-bitfield+bitset |
19:20 |
sapier |
did you know maximum reliable on wire datasize is 16mb for minetest? once you pass that threshold nothing is guaranteed :-) |
19:20 |
thexyz |
something like std::vector<char> would be faster (by a constant) but it'll eat more memory too |
19:20 |
sapier |
per channel of course |
19:20 |
thexyz |
nope, I've already replaced protocol with enet |
19:20 |
sapier |
but we only use a single channel |
19:20 |
thexyz |
without even looking at it D: |
19:20 |
thexyz |
sapier: also you might be interested http://www.youtube.com/watch?v=Hny6ovvGR3Y |
19:21 |
sapier |
with consequence you most likely don't even know where to look for issues beeing same ;-) |
19:22 |
sapier |
no I'm not interested as long as you guys don't start participating with minetest community again ... ok that's mostly adressed to proller ;-) |
19:22 |
thexyz |
I do |
19:22 |
thexyz |
I've tried to convince you to switch to enet |
19:22 |
thexyz |
but I failed |
19:23 |
thexyz |
so now I'll just be showing the benefits it gives from time to time |
19:23 |
thexyz |
to maybe finally convince everybody (again?) |
19:23 |
sapier |
I do like enet too but I see some issues beeing same there ... and of course compatibility is an issue |
19:23 |
thexyz |
also, it's weird for you to say we don't participate |
19:24 |
thexyz |
I'm trying my hardest but it seems that things are going too slow here |
19:24 |
sapier |
as I said that one is mostly addressed to proller |
19:24 |
thexyz |
so I'm better off developing some new fun things instead of trying to make you merge those things |
19:24 |
thexyz |
same is true for troller/proller I believe |
19:25 |
troller |
for last 3 weeks we make much more than last 6 months in minetest |
19:25 |
sapier |
things are going "slow" here, because doing a quick n dirty hack you don't have to defend is possible in your own fork, but not in a project where others contribute too |
19:25 |
troller |
no. |
19:25 |
thexyz |
hm, I guess you're right |
19:26 |
sapier |
I can't remember a single feature addon proller/troller ever finished to a state it was mergable |
19:26 |
sapier |
of course I follow pull request discussion in detail for about half a year only |
19:26 |
thexyz |
slow n dirty hacks are better of course |
19:27 |
sapier |
I ignore your last comment you know as well as all others we try to get good solutions |
19:27 |
|
naxthesurvivor joined #minetest-dev |
19:28 |
thexyz |
yeah sure |
19:31 |
thexyz |
sapier: any progress on your work on minetest network stack? |
19:32 |
sapier |
progress yes final cleanup no ... that code was broken that multiple times I'm not even 100% sure I touched ground |
19:32 |
thexyz |
alright |
19:33 |
sapier |
I guess it did only work reliable for a low number of packets |
19:34 |
Exio4 |
what is wrong about switching to enet? |
19:34 |
Exio4 |
yes, compatability, support 0.3.x clients as you are on it |
19:35 |
Exio4 |
compatibility* |
19:38 |
sapier |
can anyone guarantee enet won't run into same issues just at 120 peers? |
19:38 |
Exio4 |
enet is used in a lot of games I play; I can't think why it would be that bugged and still used |
19:39 |
sapier |
as far as I know noone actually understands why we run into those problems so switching to any other lib may help or may not help |
19:39 |
sapier |
Exio4 still there's the "right tool for right job"-rule do you have any proof enet is the right tool for our job? |
19:39 |
Exio4 |
do you have any proof enet is NOT the right tool? |
19:40 |
sapier |
I admit it seems to be ... but proof is different then doing a little bit of testing |
19:40 |
Exio4 |
yeah, but the code will never get tested enough though, we're a small community |
19:40 |
sapier |
so you suggest switching now ... and maybe switch again in half a year and then half a year later again? |
19:40 |
Exio4 |
nope |
19:41 |
Exio4 |
but don't throw it because "it may or may not be the proper thing" and try to fix the actual protocol |
19:41 |
Exio4 |
if it isn't enet, it should be other thing, like udp+tcp that was suggested, or a fully tcp solution |
19:41 |
Exio4 |
also, how old is minetest 3.x? |
19:41 |
sapier |
All I say is breaking compatibility is not something you do twice a year so if we do this we're stuck with enet for some years. lets better be sure we don't have to write mountains of code around enet to workaround it's flaws |
19:42 |
Exio4 |
you're already writing a mountain of code for workarond the actual network stack and the serialization format |
19:42 |
Exio4 |
look at minetest 0.4.4 |
19:42 |
sapier |
I'm doing this fror educational reasons it's completely unrelated to enet |
19:43 |
Exio4 |
ah |
19:44 |
sapier |
one result is for example minetest original network code will never support packets(therefore files) > 32mb ... most likely usefull maximum is somewhere around 24 mb |
19:44 |
Exio4 |
how https://github.com/minetest/minetest/releases |
19:44 |
Exio4 |
er |
19:44 |
Exio4 |
s/how// |
19:45 |
Exio4 |
0.4.4 -> 0.4.8+ |
19:45 |
sapier |
sorry lost red line what are you trying to tell? |
19:46 |
Exio4 |
the compatibility 'between clients' was there for a whole year, isn't that enough time? |
19:47 |
sapier |
>>>>>>>> lets better be sure we don't have to write mountains of code around enet to workaround it's flaws<<<<<<< |
19:47 |
sapier |
that's my main issue |
19:47 |
Exio4 |
well |
19:47 |
Exio4 |
unless you write your own library for doing everything you want, i don't think we will get the perfect library anyway |
19:47 |
|
Taoki[laptop] joined #minetest-dev |
19:48 |
sapier |
right now we have our own library ... well .. it's broken and ugly but it's ours |
19:48 |
Exio4 |
that was my point |
19:49 |
Exio4 |
it is searching not for the perfect-library but the one that less workarounds, isn't it? |
19:49 |
sapier |
and whoever decided to use 16 bit sequence number should have his ass kicked all day long |
19:49 |
thexyz |
<sapier> right now we have our own library ... well .. it's broken and ugly but it's ours |
19:49 |
thexyz |
and this is the problem I see with Minetest development |
19:49 |
thexyz |
also called as NIH syndrome |
19:50 |
thexyz |
err, *known as |
19:50 |
Exio4 |
not invented here? |
19:50 |
sapier |
I know but using irrlicht on the other hand you see what's happening on choosing wrong tool |
19:51 |
troller |
also you make game with +- 0 players, not something like JS for billion users |
19:51 |
troller |
you can broke compatibility every relese |
19:51 |
Exio4 |
it is an extreme point |
19:53 |
sapier |
guys decision for enet has already been made so just fix your work by that time I'm gonna know where the bottlenecks are and can tell you where you need to fix enet, hopfully it'll not be too difficult |
19:54 |
sapier |
I still think it's wrong decision but I'm only a single person and obviously minetest community is more than one ;-P |
19:55 |
thexyz |
I don't know what decision was made |
19:55 |
thexyz |
the decision was to go with TCP + UDP afaik |
19:55 |
sapier |
and irrlicht isn't a extreme point basically that's gonna happen anytime you can't push fixes upstream ... enet is a one man show, usually those aren't very likely to accept fixes ... but maybe someone else can tell more about that topic |
19:55 |
Exio4 |
thexyz: yeah |
19:55 |
troller |
connection.cpp is whole bottlneck |
19:55 |
|
Calinou joined #minetest-dev |
19:55 |
thexyz |
Irrlicht is fast |
19:56 |
Exio4 |
if you use it properly* |
19:56 |
Exio4 |
like everything, eh ;) |
19:56 |
sapier |
no minetest binary is the bottleneck .. proller please stop posting useless generics |
19:57 |
sapier |
thexyz did you implement media sending through enet yet? |
19:57 |
thexyz |
wat do you mean? |
19:57 |
sapier |
textures models ... |
19:57 |
thexyz |
everything works through enet now |
19:58 |
thexyz |
(in my enet branch) |
19:58 |
thexyz |
I haven't tested it with 100 megabytes file as I wanted to |
19:58 |
troller |
some parts is good, some ugly and designed for 1 player |
19:58 |
thexyz |
but it ~10 megabytes pretty fast |
19:59 |
troller |
also need to test with gprs ugly connection |
20:00 |
Exio4 |
i have a gprs-like network, i could try |
20:00 |
Exio4 |
where was that branch? |
20:01 |
thexyz |
Exio4: https://github.com/xyzz/freeminer/tree/enet |
20:02 |
Exio4 |
thanks! |
20:02 |
sapier |
how far is freeminer branch away from minetest master? |
20:03 |
thexyz |
what freeminer branch? |
20:03 |
sapier |
yours? |
20:03 |
troller |
git diff freeminer/master | wc |
20:04 |
iqualfragile |
minetest does not log umlauts in debug.txt/stdout |
20:04 |
iqualfragile |
it instead only prints Character conversion failed! |
20:04 |
sapier |
that's a codepage issue |
20:05 |
sapier |
set internalization correct and it'll work |
20:06 |
thexyz |
Exio4: connect to xyz.is:30000 |
20:06 |
iqualfragile |
sapier: how to? |
20:07 |
sapier |
either in minetest.conf or by environment ... are you on windows or linux? |
20:07 |
iqualfragile |
lin |
20:07 |
sapier |
interesting by now codepage issues have been way more common for windows |
20:08 |
sapier |
actually I guess there ain't a full solution ... btw this is result of a NIH library called gettext ;-) |
20:08 |
sapier |
with a little help of NIH irrlicht |
20:09 |
iqualfragile |
language = de should fix it? |
20:09 |
sapier |
I already spent two weeks on trying to work around those libraries issues ... obviously not a full success |
20:09 |
sapier |
LANGUAGE or LANG |
20:09 |
sapier |
in env |
20:09 |
sapier |
or language in minetest.conf |
20:42 |
|
sapier1 joined #minetest-dev |
20:52 |
|
djdduty joined #minetest-dev |
20:56 |
ShadowNinja |
Me and VanessaE get that "Character conversion failed!" message a lot. My $LANG is en_US.UTF-8. |
20:56 |
sapier1 |
do you see them in log only or in game too? |
20:57 |
ShadowNinja |
sapier1: From the IRC chat. (register_on_chat_message gets a converted string) |
20:58 |
sapier1 |
oh form some external character device ... actually the only one who can fix this is irc chat converting any charset to the one minetest is configured |
20:58 |
ShadowNinja |
It should happen with anything that calls wide_to_narrow with a charachter that isn't 0-128. |
20:59 |
ShadowNinja |
sapier1: Nope, the issue's engine-side, I traced it to wode_to_narrow, anything that uses on_chat_message will have that issue. |
20:59 |
sapier1 |
that doesn't help, f there's sent a chinese language character minetest can't decide from the character itself what encpding is used |
20:59 |
ShadowNinja |
wide_to_narrow* |
20:59 |
kaeza |
hot to fix what isn't broken? (from our side) |
20:59 |
kaeza |
how* |
21:00 |
ShadowNinja |
The encoding is UTF-8, as my $LANG says. |
21:00 |
sapier1 |
minetest relies on incoming character data to match the configured codepage, if this isn't true you get conversion failed messages |
21:00 |
sapier1 |
most codepages have a lot of characters in common so the basic ones will work |
21:01 |
ShadowNinja |
And how do I set the "codepage" to UTF-8. |
21:01 |
ShadowNinja |
s/./?/ |
21:01 |
sapier1 |
but not umlauts for example, a windows codepage ä just isn't same number as UTF-8 ä |
21:01 |
sapier1 |
UTF-8 is a codepage |
21:02 |
ShadowNinja |
And how do I make Minetest use it?! |
21:02 |
sapier1 |
but e.g. windows usually uses country specific codepages instead of utf8 |
21:02 |
sapier1 |
mintest usually uses it if you set it in LANG variable |
21:02 |
sapier1 |
but as I said first make sure incoming data IS UTF-8 |
21:03 |
ShadowNinja |
minetestarch:~ $ echo $LANG --> en_US.UTF-8 |
21:03 |
ShadowNinja |
Wait, so the client sends it in whatever encoding the client has? |
21:04 |
sapier1 |
that'd be my first guess yes |
21:04 |
ShadowNinja |
It should be hardcoded to UTF-8. |
21:04 |
PilzAdam |
can someone explain this to me? https://gist.github.com/PilzAdam/8088432 |
21:04 |
sapier1 |
ShadowNinja that's the problem you can't do that for windows |
21:05 |
ShadowNinja |
Not even with C++11 codecvt? |
21:06 |
sapier1 |
c++ doesn't specify codesets as far as I know |
21:06 |
sapier1 |
the whole codepage + i18n thingy is just ugly everyone does different and we're stuck for a unsupported lib on win32 too |
21:10 |
sapier1 |
feel free to try your own fix but be aware usually doing a fix for one platform will break another ;-) |
21:11 |
ShadowNinja |
codecvt lets you specify UTF-8 (std::wstring_convert with codecvt_utf8). Unfourtunately it's a C++11-only feature, so we would have to drop sopport for old compilers. |
21:12 |
sapier1 |
I guess breaking compatibility to 99.9% of all environments really isn't an option |
21:13 |
sapier1 |
isn't clang the only compiler with completed c++11 support right now? |
21:13 |
ShadowNinja |
Um, gcc has it (IDK if it's 100%) And I imaging most comilers have at least partial support. |
21:14 |
sapier1 |
I doubt gcc 4.7 has c++11 but I'm not sure about that |
21:15 |
thexyz |
msvc |
21:15 |
sapier1 |
and msvc2010 (default build env for windows) doesn't have either |
21:15 |
sapier1 |
does it? |
21:15 |
ShadowNinja |
Seems the only thing missing is "Minimal support for garbage collection and reachability-based leak detection". |
21:15 |
thexyz |
it supports some subset of c++11 |
21:15 |
thexyz |
I think it's ok to use features that are widely supported |
21:15 |
thexyz |
i.e. auto keyword |
21:16 |
ShadowNinja |
Gcc 4.3 has support, and it gets better as the version increases. |
21:16 |
sapier1 |
what about bsd? |
21:17 |
sapier1 |
isn't proller stuck with some olde gcc version? |
21:17 |
|
jin_xi joined #minetest-dev |
21:17 |
thexyz |
it's broken anyway |
21:17 |
Exio4 |
bsd users can use clang |
21:17 |
thexyz |
as proller has reported |
21:18 |
sapier1 |
ok if I don't have to update to some exotic kind of linux distibution I'm fine with c++11 but I'll not break my os for minetest for sure |
21:19 |
sapier1 |
if it's not working with debian stable I'm out |
21:19 |
ShadowNinja |
I take it you have 4.7, which supports most features. |
21:19 |
sapier1 |
that's what I said ;-) debian stable |
21:19 |
ShadowNinja |
http://gcc.gnu.org/projects/cxx0x.html |
21:19 |
thexyz |
so why do we need it? |
21:20 |
sapier1 |
Shadow proposed some c++ extention to fix i18n ... but I guess it needs to be proofen if this is really true ;-) |
21:21 |
ShadowNinja |
For std::wstring_convert, to convert wstrings to UTF-8 and not whatever the system uses. Unless we can override the system's encoding at startup. |
21:21 |
sapier |
we can override anything but irrlicht as well as gettext will override again ;-) |
21:22 |
ShadowNinja |
:-| |
21:22 |
sapier |
so hopefully that c++ feature wont be messed up same way it is now |
21:22 |
sapier |
but without trying noone can tell |
21:28 |
|
iqualfragile_ joined #minetest-dev |
21:31 |
thexyz |
ah, wstrings |
21:31 |
thexyz |
terrible, terrible stuff |
21:32 |
thexyz |
I think all strings should be in UTF-8, and conversion should be done when you get them (i.e. chat input) or display |
21:35 |
|
Gethiox joined #minetest-dev |
21:43 |
celeron55 |
oh debian stable has 4.7 these days |
21:43 |
celeron55 |
that means code is limited by visual studio 2010 until it is dropped (in favor of 2012) |
21:47 |
thexyz |
https://github.com/minetest/minetest/issues/1064 |
21:51 |
|
Gethiox joined #minetest-dev |
21:54 |
celeron55 |
thexyz: that was previously checked to be correct by the standard |
21:55 |
celeron55 |
i'm not against changing it though; but there's nothing saying it shouldn't work |
21:56 |
thexyz |
let's check it then |
21:56 |
thexyz |
I only have some free draft though |
21:57 |
thexyz |
const_reference operator []( size_type pos ) const ; |
21:57 |
thexyz |
reference operator []( size_type pos ); |
21:57 |
thexyz |
Returns: If pos < size(), returns *(begin() + pos ). Otherwise, if pos == size(), the const version |
21:57 |
thexyz |
returns charT(). Otherwise, the behavior is undefined. |
21:58 |
thexyz |
(also, it doesn't work very well with msvc debug build and that's why I had to consult the standard) |
22:00 |
celeron55 |
oh yeah, it was that thing where it matters whether the compiler thinks it is const or not |
22:16 |
ShadowNinja |
Can someone check http://ix.io/9u2 to fix #233? |
22:16 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/233 |
22:19 |
ShadowNinja |
I'll push it in a few minutes unless someone objects. |
22:21 |
sapier |
seems to be fine |
22:21 |
specing |
no STAHP! |
22:21 |
sapier |
agreed |
22:21 |
sapier |
no? |
22:22 |
sapier |
what's wrong with it specing? |
22:22 |
specing |
idk :P |
22:22 |
specing |
so you are going to allow mode changes in protected territories? |
22:24 |
ShadowNinja |
specing: They were before, if you weren't pointing at anything. |
22:24 |
troller |
ServerMap: Written: 0 sector metadata files, 3952 block files, 20592 blocks in memory. |
22:26 |
specing |
troller: du -hs ? |
22:27 |
troller |
3G |
22:27 |
ShadowNinja |
sapier: Does https://github.com/minetest/minetest_game/pull/229 seem fine now? |
22:27 |
troller |
17581 player files |
22:27 |
specing |
isn't 20k blocks in mem ... small? |
22:27 |
specing |
20k blocks is not many blocks |
22:28 |
ShadowNinja |
troller: Well? And -> #minetest? |
22:28 |
ShadowNinja |
sapier: And BTW it would have crashed before. (nil):get_player_name() isn't valid. |
22:30 |
sapier |
you're right so go on ;-) |
22:37 |
ShadowNinja |
sapier: "go on" == "push it"? |
22:38 |
sapier |
yes |
22:49 |
kahrl |
what do we do with the 6 open issues in the 0.4.9 milestone? |
22:51 |
kahrl |
#1011: kind of hard to do anything about this within a day if it can't be reproduced |
22:51 |
ShadowBot |
https://github.com/minetest/minetest/issues/1011 |
22:51 |
VanessaE |
well, also hard to reproduce it if github won't show us what it is :) |
22:51 |
VanessaE |
503. |
22:51 |
sapier |
:-) |
22:51 |
kahrl |
did I kill it? |
22:51 |
VanessaE |
YOU BWOKE IT! |
22:53 |
specing |
We are taking the site down for an emergency database maintenance. We should be back up shortly. |
22:53 |
sapier |
oops hope we've got a copy of our repository ;-) |
22:53 |
VanessaE |
now ya did it kahrl! :P |
22:56 |
ShadowNinja |
Back. |
22:58 |
VanessaE |
I wonder what happened.. |
22:59 |
PilzAdam |
whos going to say it? |
22:59 |
VanessaE |
I have not seen this bug happen in a *very* long time in my own game. |
22:59 |
VanessaE |
but in realtest I have seen it happen rarely. |
23:03 |
iqualfragile_ |
kahrl: i could reproduce it |
23:05 |
ShadowNinja |
I think I found it. He uses minetest.get_node in sz_pos:node_get(). |
23:06 |
iqualfragile_ |
turns out i could reproduce it twice, just twice |
23:11 |
ShadowNinja |
iqualfragile_: Where did you reproduce it? And what were you holding? |
23:11 |
iqualfragile_ |
ironbucket with water |
23:12 |
iqualfragile_ |
wanted to place water against a stoneblock, instead replaced the block |
23:12 |
ShadowNinja |
iqualfragile_: ironbucket? Is that the regular bucket? |
23:12 |
iqualfragile_ |
yes |
23:13 |
ShadowNinja |
Default bucket has the same issue, I'll fix it. |
23:14 |
iqualfragile_ |
great |
23:21 |
ShadowNinja |
Does this look good? https://gist.github.com/ShadowNinja/8089636 |
23:21 |
|
EvergreenTree joined #minetest-dev |
23:23 |
* VanessaE |
pours the now-fixed bucket on EvergreenTree so he'll properly take root. |
23:23 |
* EvergreenTree |
takes root |
23:23 |
VanessaE |
ShadowNinja: looks okay |
23:23 |
EvergreenTree |
sudo -i |
23:24 |
EvergreenTree |
Okay, I'm rooted now |
23:45 |
specing |
What is up with buckets being disabled on many servers? |
23:45 |
specing |
Fix grief in code, not by disabling such an useful feature. |
23:45 |
sapier |
you can destroy things easyly on placing whater somewhere |
23:47 |
ShadowNinja |
I disabled lavacooling, as that allows massive greifings. But with a protection mod that supports the new API, fire disabled, and lavacooling disabled, it's pretty harmless. |
23:50 |
kahrl |
ShadowNinja: looks good to me too |
23:51 |
ShadowNinja |
Alright, pushing... |
23:53 |
iqualfragile_ |
sapier: its its annoying that you jump off the strauß on every click, should only jump of if you hold the saddle |
23:54 |
iqualfragile_ |
(and instead of removing the saddle it should give you a saddle_off item) |
23:55 |
sapier |
hmm but you shouldn't be able to dig from upon ostrich? |