Time |
Nick |
Message |
00:01 |
|
eliemichel left #minetest-dev |
00:17 |
|
Ritchie joined #minetest-dev |
00:45 |
|
Ritchie joined #minetest-dev |
01:18 |
|
Lunatrius joined #minetest-dev |
01:50 |
|
nolsen joined #minetest-dev |
02:14 |
RealBadAngel |
sofar, here? |
02:30 |
|
mangeurdenuage joined #minetest-dev |
02:46 |
sofar |
RealBadAngel: sort of, what's up? |
02:46 |
RealBadAngel |
about bf culling again |
02:46 |
RealBadAngel |
that thing is introduced in protocol version 17 |
02:47 |
RealBadAngel |
but somehow broken |
02:47 |
RealBadAngel |
lemme show you something |
02:48 |
RealBadAngel |
https://github.com/minetest/minetest/blob/master/src/nodedef.cpp#L941 |
02:48 |
RealBadAngel |
for regular tiles its set in code, for special tiles its being read from tiledef only |
02:49 |
RealBadAngel |
that should be somehow fixed, like setting it once with code and alter it when nodedef is set to a different value |
02:49 |
RealBadAngel |
for both sets of tiles |
02:50 |
sofar |
we can change |
02:50 |
sofar |
case NDT_MESH: |
02:50 |
sofar |
to |
02:50 |
sofar |
f->solidness = 0; |
02:50 |
sofar |
and then NO break |
02:50 |
sofar |
and NO f->backface_culling = false; |
02:51 |
RealBadAngel |
but you are making changes to NDT_MESH only, while "backface_culling" in tiledef is general setting for all the drawtypes |
02:51 |
sofar |
whooops didn't see the end of the switch |
02:52 |
sofar |
grmbl I hate redoing PR's to fix other people's bugs :P |
02:52 |
RealBadAngel |
hehe |
02:53 |
RealBadAngel |
its quite old, but i suppose it was designed so |
02:53 |
RealBadAngel |
that flag was propably meant only for water nodes and nothing more |
02:54 |
RealBadAngel |
and it was way before we had such fancy drawtypes as meshes ;) |
02:55 |
RealBadAngel |
on the other hand bugs are sometimes useful, thx to wield mesh hunt ive fixed rendering to texture for postprocessing :) |
02:57 |
RealBadAngel |
that means in fact i could apply now water reflections :) |
02:57 |
RealBadAngel |
how neat that could be? :) |
03:09 |
sofar |
ok so this isn't out of the woods yet |
03:09 |
sofar |
backface_culling inside tiles seems to be enabled by default? |
03:09 |
sofar |
I can't seem to turn it OFF |
03:09 |
sofar |
lol |
03:10 |
RealBadAngel |
default is true i think |
03:10 |
sofar |
yeah I'll figure it out |
03:10 |
RealBadAngel |
for sure |
03:10 |
sofar |
at least, I think I can |
03:10 |
RealBadAngel |
tiledef.backface_culling = getboolfield_default( |
03:10 |
RealBadAngel |
L, index, "backface_culling", true); |
03:11 |
|
red-001 joined #minetest-dev |
03:11 |
RealBadAngel |
so if you dont specify it at all, it will hold true |
03:11 |
sofar |
oh we never read the tiledef culling |
03:11 |
sofar |
gotcha |
03:12 |
RealBadAngel |
so if if its set to "false" it means that modder altered it |
03:12 |
sofar |
that doesn't work |
03:12 |
sofar |
wait |
03:12 |
* sofar |
tries st else |
03:12 |
RealBadAngel |
you have to apply that around line #941 |
03:12 |
ShadowBot |
https://github.com/minetest/minetest/issues/941 -- Index the player list from minetest.get_connected_players() with player names by ShadowNinja |
03:13 |
RealBadAngel |
su bot ;) |
03:14 |
sofar |
still something not right, if I just rely on f->tiledef[j].backface_culling, it still is always enabled even if my mod disables it for a tile |
03:15 |
sofar |
afk 1yr old girl needs attention |
03:15 |
RealBadAngel |
hold on a sec |
03:15 |
RealBadAngel |
something like that should work: http://pastie.org/10693785 |
03:16 |
sofar |
Website is offline No cached version of this page is available. |
03:16 |
sofar |
Error 522 |
03:16 |
RealBadAngel |
if tiledef's is false it means that it is altered, so override nodedef's set one |
03:16 |
RealBadAngel |
wrrr, wait |
03:17 |
sofar |
im sure i have the same change |
03:17 |
RealBadAngel |
http://pastebin.com/fvvcgHgz |
03:18 |
sofar |
https://gist.github.com/sofar/b435a32d14cf70fbbfd5 |
03:18 |
sofar |
afk... cant code when hugs are needed... |
03:19 |
RealBadAngel |
ok, take ur time |
03:19 |
|
frustrated joined #minetest-dev |
03:19 |
frustrated |
howdy |
03:19 |
frustrated |
i'm having a strange problem |
03:20 |
frustrated |
a mod i'm writing had a bug on line 185 of some certain file in it |
03:20 |
frustrated |
i fixed the bug, and added logging above that line, yet the game keeps crashing with the same error on the "old" line |
03:20 |
frustrated |
i even renamed the file and the bug keeps happening with the old file name and old line number |
03:21 |
frustrated |
but if i delete the file altogether the mod won't load |
03:21 |
frustrated |
if i restore the file, even with a new name, the bug persists |
03:21 |
frustrated |
is there some sort of lua cache? |
03:21 |
frustrated |
this thing is driving me mad |
03:23 |
sofar |
paste the code/bug |
03:25 |
frustrated |
http://pastebin.com/be5uCV5Z |
03:26 |
frustrated |
behavior.lua doesn't even evist anymore, and all the paths are correct |
03:26 |
sofar |
are you sure it's not running your mod from a different mod folder? |
03:27 |
frustrated |
it's the only one one my whole system |
03:27 |
frustrated |
the bug suddenly started happening in the middle of development, with no unusual activity on my part |
03:29 |
sofar |
are you puttnig mod inside your compiled minetest tree? |
03:29 |
frustrated |
i compiled with RUN_IN_PLACE, then put the mode in /mods of the minetest folder |
03:29 |
frustrated |
*mod |
03:30 |
sofar |
and it's not reading mods from ~/.minetest/mods/ or anything? |
03:30 |
frustrated |
nope. i'm on gentoo. that folder doesn't even exist |
03:31 |
sofar |
how about /usr/games/minetest or anything? |
03:31 |
sofar |
have you tried `locate behavior.lua` ? |
03:32 |
frustrated |
locate returns nothing |
03:32 |
sofar |
find / -name behavior.lua |
03:32 |
sofar |
crude, lol |
03:32 |
frustrated |
here's a new development: |
03:32 |
frustrated |
i made a new world and the bug is gone |
03:32 |
frustrated |
but in the old world it's there |
03:33 |
sofar |
worldmods/ ? |
03:33 |
RealBadAngel |
have you checked world folder? |
03:33 |
frustrated |
nothing in the world folder |
03:34 |
frustrated |
the function is assigned to a variable in a table that for simple_mobs |
03:34 |
frustrated |
is the function just getting pickled somehow? |
03:36 |
RealBadAngel |
theres no cache for mods, you have this mod installed and enabled for the previous world |
03:36 |
RealBadAngel |
when the error is gone in the new one it means that mod is not enabled propably |
03:36 |
RealBadAngel |
so you have just find the folder with your mods |
03:36 |
frustrated |
no, i enabled the mod in the new one and it behaves as expected |
03:37 |
sofar |
load your old world |
03:37 |
frustrated |
sofar: still crashes |
03:37 |
sofar |
is there a worldmods folder in that world? |
03:37 |
frustrated |
nope |
03:38 |
sofar |
<sofar> find / -name behavior.lua |
03:38 |
sofar |
did that give you anything? |
03:38 |
frustrated |
it's taking a while, i have a lot of files |
03:39 |
RealBadAngel |
btw, it looks like a mod bug, the function is called on entity |
03:39 |
RealBadAngel |
there shall be check for nil on params added |
03:39 |
frustrated |
data.mob is a table not an entity in that code |
03:40 |
frustrated |
but i should change it if the name was not clear |
03:40 |
sofar |
dammit rba |
03:41 |
frustrated |
when an entity is "saved" to the world file, what happens to anonymous functions on it? |
03:41 |
frustrated |
are they serialized? |
03:42 |
RealBadAngel |
function mkFindNodeNear(sel, _dist) |
03:42 |
RealBadAngel |
if sel == nil or _dist == nil then return "failed" end |
03:42 |
frustrated |
sofar: the find command turned up nothing (i renamed the original behavior.lua file) |
03:42 |
RealBadAngel |
that should fix the mod's bug |
03:42 |
frustrated |
i didn't add checks because they are called with constants in only one place |
03:43 |
RealBadAngel |
its wise to check for nils in mods |
03:43 |
RealBadAngel |
shitload of mod bugs are from that |
03:43 |
frustrated |
sure, but the thing where it was erroring on a file that didn't exist anymore is weird |
03:44 |
sofar |
FINALLY |
03:46 |
frustrated |
thanks for the help, i think it was just me not understanding lua very well :) |
03:46 |
RealBadAngel |
sofar, got it working? |
04:41 |
sofar |
RealBadAngel: yeah, I think i got it |
04:42 |
RealBadAngel |
can i see the code changes? |
04:42 |
sofar |
I just got back from kiddo bedtime, sec |
04:56 |
sofar |
https://github.com/minetest/minetest/pull/3578 |
04:56 |
sofar |
update PR |
04:56 |
sofar |
I'm just relying on tiledef to provide the value, which works |
04:56 |
sofar |
the trick was the damn tiles = {} syntax |
04:56 |
sofar |
believe it or not |
04:57 |
sofar |
that had me confused more than anything |
04:58 |
sofar |
RealBadAngel: I don't see why we want to invert logic for some node drawtypes |
04:58 |
RealBadAngel |
actually i pasted you example with syntax needed in my comment on the PR before ;) |
04:59 |
RealBadAngel |
its general property, it doesnt mean some usages may be wise |
04:59 |
RealBadAngel |
but better to have it that way than restricting it for some nodes imho |
05:01 |
RealBadAngel |
hmmm, atm you have set it to tiledef only |
05:01 |
RealBadAngel |
which means you have disabled all the nodedef.cpp set values |
05:01 |
RealBadAngel |
point was to allow override those ones not to trash them |
05:03 |
sofar |
right |
05:03 |
sofar |
yeah I'm just quickly testing with my other meshes and I'll want to change this |
05:04 |
RealBadAngel |
i see |
05:05 |
sofar |
actually |
05:06 |
sofar |
your change makese no difference |
05:06 |
sofar |
and it can't I think |
05:06 |
sofar |
follow me here |
05:06 |
sofar |
formerly |
05:06 |
RealBadAngel |
go on |
05:06 |
sofar |
meshes, always disabled |
05:06 |
sofar |
so now we want to enable it per specific mesh tiledef |
05:06 |
sofar |
but it's enabled by default there |
05:07 |
RealBadAngel |
we need 3rd state? ;) |
05:07 |
RealBadAngel |
lemme think a moment |
05:07 |
sofar |
no we need to tell lua to disable culling in tiledefs for meshes |
05:07 |
sofar |
by default |
05:07 |
sofar |
and then just use my patch |
05:07 |
sofar |
that maintains the default settings |
05:08 |
RealBadAngel |
so just inverse my logic |
05:08 |
sofar |
you can't fix this in nodedef.cpp alone |
05:08 |
RealBadAngel |
if false is default, true will mean modified and have to be used |
05:09 |
RealBadAngel |
tiledef.backface_culling = getboolfield_default( |
05:09 |
RealBadAngel |
L, index, "backface_culling", true); |
05:09 |
RealBadAngel |
you need to change that in c_content.cpp |
05:09 |
sofar |
ah, yes, that's a way to do it |
05:09 |
sofar |
very good indeed |
05:09 |
RealBadAngel |
but hold on |
05:10 |
RealBadAngel |
if we have true in nodedef and wanna disable it? |
05:10 |
RealBadAngel |
same shit :) |
05:10 |
sofar |
same problem |
05:10 |
sofar |
yes, so we're back to always using the tiledef setting, but setting it to false for nodes where it's currently false |
05:11 |
sofar |
bool culling_default = (NDT_MESH) ? false : true; |
05:11 |
sofar |
something like that |
05:11 |
RealBadAngel |
lemme have a cofee, need that for better thinkin |
05:11 |
RealBadAngel |
atm i do have my brain full of texture tear problem and slabs ;) |
05:15 |
RealBadAngel |
i think that "modified" flag is needed |
05:16 |
sofar |
no, it's not that hard |
05:16 |
sofar |
hold on |
05:26 |
sofar |
someone explain me the difference between "visual = "mesh"" and "drawtype = "mesh"" |
05:34 |
sofar |
you know, this whole bloody mess, is pissing me off |
05:34 |
sofar |
it's all about how the hell lua gets parsed |
05:34 |
sofar |
because effin shit |
05:34 |
sofar |
tiles = { "foo.png" } |
05:35 |
sofar |
is not the same as |
05:35 |
sofar |
tiles = {{ name = "foo.png" }} |
05:35 |
sofar |
that's the whole damn problem |
05:36 |
sofar |
I'll see if I can fix it up, tho |
05:38 |
RealBadAngel |
visual i think is for entities |
05:38 |
RealBadAngel |
drawtype ofc for nodes |
05:40 |
RealBadAngel |
it shall be the same, i mean all the 6 tiles shall be filled with this one |
05:40 |
sofar |
I've got a solution now |
05:45 |
|
Dragonop joined #minetest-dev |
05:47 |
RealBadAngel |
need to reboot and check something brb |
06:35 |
|
Hunterz joined #minetest-dev |
06:39 |
|
Player_2 joined #minetest-dev |
07:03 |
|
Calinou joined #minetest-dev |
07:06 |
|
DFeniks joined #minetest-dev |
07:23 |
|
nrzkt joined #minetest-dev |
07:23 |
|
Obani joined #minetest-dev |
07:29 |
sofar |
LOL |
07:29 |
sofar |
signlike... is used by? ladders |
07:29 |
sofar |
what are signs? nodeboxes |
07:29 |
sofar |
seeds on the ground? |
07:29 |
sofar |
signlike! |
07:40 |
sofar |
https://github.com/minetest/minetest_game/pull/793 |
07:40 |
sofar |
enough PR's for today |
07:40 |
sofar |
I'm done, have a good one |
07:59 |
|
red-001 joined #minetest-dev |
08:04 |
|
Darcidride joined #minetest-dev |
08:07 |
red-001 |
how do I get the default value for a setting in C++ |
08:10 |
celeron55 |
red-001: in no way without modifying Settings to support it |
08:11 |
red-001 |
so is it ok to hardcode defaults or should I change settings |
08:15 |
kahrl |
red-001: what are you trying to do? |
08:16 |
red-001 |
and a reset keys to the change keys dialog |
08:16 |
kahrl |
I see |
08:17 |
kahrl |
I'd probably add a method to Setting that removes a given setting (and reverts it to its default value, if any) |
08:17 |
kahrl |
Settings* |
08:17 |
red-001 |
yes I might do that |
08:21 |
kahrl |
actually Settings::remove(name) exists |
08:22 |
red-001 |
doesn't that just remove the setting? |
08:22 |
kahrl |
yes, isn't that what you need? |
08:22 |
kahrl |
if a setting isn't defined, the default is used |
08:22 |
red-001 |
ok then |
08:23 |
|
johnnyjoy joined #minetest-dev |
08:24 |
kahrl |
(don't expect its return value to mean anything, I'm pretty sure it always returns true) |
08:29 |
kahrl |
hmmmm: that ^ was a bug introduced in f2c18511 |
08:29 |
kahrl |
the "delete m_settings[name].group" creates an entry if it doesn't exist, so the erase below it always returns 1 |
08:31 |
kahrl |
it didn't matter until now since nothing in minetest calls Settings::remove, if I checked right |
08:31 |
|
jin_xi joined #minetest-dev |
08:48 |
hmmmm |
i do not even remember writing that commit |
08:52 |
hmmmm |
well that's a simple enough fix (the Settings::remove thing - just use std::map::find, instead of using the convenience operator notation) |
08:56 |
|
Alduin_ joined #minetest-dev |
09:08 |
kahrl |
untested: https://gist.github.com/kahrl/3e37088d40f9346196db |
09:13 |
hmmmm |
lgtm |
09:13 |
kahrl |
thanks, merging |
09:13 |
hmmmm |
aah I got a +1 on this https://github.com/kwolekr/minetest/commit/f8b3395227b2f15ea67844415c96e076f6c097ef |
09:14 |
hmmmm |
you have any thoughts before I merge? |
09:16 |
kahrl |
I don't think I know the emerge queue well enough to check that one |
09:16 |
hmmmm |
it seems inconspicuous enough and it seems to work well... heh... heh... |
09:17 |
hmmmm |
I'm going to write a unit test for the emerge manager at some point, I promise |
09:18 |
hmmmm |
later |
09:19 |
kahrl |
cya |
09:20 |
|
Megaf joined #minetest-dev |
09:38 |
|
Ardonel joined #minetest-dev |
10:38 |
|
blaze joined #minetest-dev |
10:56 |
|
Darcidride joined #minetest-dev |
11:53 |
|
proller joined #minetest-dev |
12:01 |
|
Fixer joined #minetest-dev |
12:14 |
|
Calinou joined #minetest-dev |
12:21 |
|
proller joined #minetest-dev |
12:27 |
|
lezzy joined #minetest-dev |
12:33 |
lezzy |
Irrlicht: Could not open file of texture: <= all textures show correct but this fucking error is spamming it to death what is going on, i never had this issue before |
12:47 |
|
proller joined #minetest-dev |
13:00 |
|
Megaf joined #minetest-dev |
13:01 |
|
Lunatrius joined #minetest-dev |
13:01 |
|
RealBadAngel joined #minetest-dev |
13:58 |
|
twoelk joined #minetest-dev |
14:00 |
|
jin_xi joined #minetest-dev |
14:01 |
|
dfelinto joined #minetest-dev |
14:07 |
|
H-H-H1 joined #minetest-dev |
14:28 |
|
Lunatrius joined #minetest-dev |
14:53 |
|
proller joined #minetest-dev |
15:16 |
|
paramat joined #minetest-dev |
15:18 |
paramat |
!tell hmmmm a freeminer schematic commit in case it's useful https://github.com/freeminer/freeminer/commit/551eb8515450be4167504f12653d111e09b0ee32 |
15:18 |
ShadowBot |
paramat: O.K. |
15:19 |
|
proller joined #minetest-dev |
15:26 |
|
Hunterz joined #minetest-dev |
15:33 |
|
kaadmy joined #minetest-dev |
15:36 |
|
proller joined #minetest-dev |
15:44 |
paramat |
nice looking mars mod https://forum.minetest.net/viewtopic.php?f=9&t=13913 < celeron55 |
15:45 |
sofar |
I don't think Jordach noticed I wasn't using entities for the chests |
15:46 |
sofar |
interesting mod |
15:49 |
RealBadAngel |
he meant animations |
15:50 |
RealBadAngel |
since the very start |
15:50 |
RealBadAngel |
you have made just on/off |
15:51 |
RealBadAngel |
we cant use animatons for regular nodes |
15:51 |
RealBadAngel |
and propably never will be able to |
15:55 |
kaadmy |
sofar: for signs and ladders i use nodeboxes now |
15:55 |
kaadmy |
looks better and cleaner |
15:56 |
RealBadAngel |
but anyway, sofar, youre asking the very same questions |
15:56 |
RealBadAngel |
wonder where that will lead you |
16:01 |
|
hmmmm joined #minetest-dev |
16:02 |
|
luizrpgluiz joined #minetest-dev |
16:05 |
|
twoelk joined #minetest-dev |
16:08 |
paramat |
luiz we know the cause, RBA will be hopefully be working on a fix. it's only 21-25% drop in FPS, not 70% |
16:11 |
|
Darcidride_ joined #minetest-dev |
16:11 |
celeron55 |
there's a massive system load on my VPS and i'm now temporarily disabling a bunch of minetest stuff in order to diagnose it |
16:15 |
RealBadAngel |
paramat, i will after texture tear problem, inventory meshes |
16:15 |
RealBadAngel |
atm im workin on texture tear problem |
16:17 |
paramat |
okay that's cool |
16:18 |
RealBadAngel |
those problems stand in my way |
16:19 |
RealBadAngel |
if i fix them i will be able to make reflections |
16:19 |
RealBadAngel |
so you can bet i will fix them |
16:19 |
|
Calinou joined #minetest-dev |
16:25 |
|
rubenwardy joined #minetest-dev |
16:36 |
luizrpgluiz |
sometimes I wonder if it would be interesting to put an option to choose to play the minetest more processor cores as a non-binding option |
16:39 |
luizrpgluiz |
I know many developers like more OpenGL, but the game has a bug in the graphical engine that when you open the game in OpenGL 1.2, players can not see the icons of the items in survival mode and creative mode |
16:41 |
sofar |
RealBadAngel: I'm prefectly happy with mesh nodes - I do not want to do animations as entities right now |
16:41 |
sofar |
RealBadAngel: if one day mesh nodes can animate, then great |
16:43 |
sofar |
Having chests behave visually like doors seems entirely coherent and natural to me |
16:43 |
sofar |
RealBadAngel: plus I managed to get the chest-close sounds perfectly timed with people closing chests too |
16:43 |
sofar |
even with multiple people looking inside the same chest |
16:45 |
sofar |
the only sad thing... the formspec mostly obscures the chest as you open it :D |
16:45 |
|
Hunterz joined #minetest-dev |
16:58 |
RealBadAngel |
the solution you proposed is imho right in the middle |
16:58 |
RealBadAngel |
im ok with it |
16:59 |
sofar |
I think it's fancy enough to make a difference, but simple enough so that it doesn't stand out with the rest of minetest_game |
16:59 |
sofar |
and on purpose so |
16:59 |
sofar |
I thought about node animations, and they're cool (I certainly want to learn blender better so I can make those) |
17:00 |
sofar |
right now I can redraw the chest mesh in maybe 30 minutes |
17:00 |
sofar |
so I'm getting more proficient in that |
17:00 |
sofar |
which is fun |
17:00 |
RealBadAngel |
you can do animations is separate scene nodes |
17:00 |
sofar |
I know |
17:00 |
RealBadAngel |
easily |
17:00 |
sofar |
I made an animation for a different mesh already |
17:01 |
sofar |
but, that's besides the point |
17:02 |
sofar |
the things I'm proposing for minetest are things that I think should be in minetest_game |
17:02 |
sofar |
having a few more mesh nodes in minetest_game will help mod makers show what's possible |
17:02 |
RealBadAngel |
youre following the pretty same way to mine |
17:02 |
sofar |
similarly I think we should have 2-3 monsters in minetest_game ultimately |
17:02 |
sofar |
not 13 |
17:02 |
sofar |
just 2-3 really well-done |
17:03 |
sofar |
I should perhaps also git commit my .blend files |
17:03 |
RealBadAngel |
get client side lua first |
17:03 |
sofar |
right |
17:03 |
sofar |
perhaps that's what is needed first |
17:03 |
RealBadAngel |
you have saw proof of concept already? |
17:03 |
sofar |
no |
17:03 |
RealBadAngel |
by Jeija |
17:04 |
sofar |
oh, I know what needs an upgrade first in minetest_game? |
17:04 |
sofar |
torches :) |
17:04 |
RealBadAngel |
im talkin client side lua |
17:04 |
RealBadAngel |
it possible since ages |
17:04 |
sofar |
I'm sure it is |
17:04 |
luizrpgluiz |
put monsters back in minetest would be a good idea, but do not need to put in the source code of the game, can be in the same language script |
17:04 |
RealBadAngel |
back? we never had any |
17:04 |
sofar |
luizrpgluiz: right, not in C++ |
17:05 |
luizrpgluiz |
yes |
17:05 |
sofar |
he's just saying "merge" |
17:05 |
RealBadAngel |
floating sprites do not count |
17:06 |
RealBadAngel |
sofar, https://github.com/Jeija/minetest/tree/clientside_mods |
17:07 |
sofar |
RealBadAngel: I'm sure it's not difficult |
17:07 |
RealBadAngel |
ofc not |
17:07 |
luizrpgluiz |
I know I do monsters in 3D takes work, but I have a friend who can program well in LUA and he made a monster using the 4 horsemen of the apocalypse where it only comes when you have bone that has not yet been removed from the map, and the mod checks that no longer has the same monster like him |
17:08 |
RealBadAngel |
but propably against the spirit of the mt ;) |
17:08 |
RealBadAngel |
and its simplicity |
17:08 |
sofar |
I dunno |
17:08 |
sofar |
what are you going to have the client-side api do? |
17:08 |
RealBadAngel |
move things |
17:08 |
RealBadAngel |
without client asking server |
17:09 |
RealBadAngel |
mobs, items, carts etc |
17:09 |
sofar |
how does the server keep track of your position then? |
17:09 |
RealBadAngel |
dont ask me |
17:09 |
RealBadAngel |
idk |
17:10 |
RealBadAngel |
but m$ paid billions for that |
17:10 |
RealBadAngel |
and indie guys were able to make it |
17:11 |
luizrpgluiz |
for now I use the windows to play, but Linux for me is the best system to develop something |
17:11 |
Fixer |
win is degenerating anyway |
17:12 |
RealBadAngel |
win? i had something like that a few yrs agp |
17:13 |
luizrpgluiz |
but minetest runs better on Linux than in Windows |
17:13 |
RealBadAngel |
depends on the drivers sadly |
17:13 |
luizrpgluiz |
yes |
17:13 |
RealBadAngel |
nvidia is beter supported |
17:14 |
luizrpgluiz |
in my notebook I realized that the game had a very good improvement, but of course my laptop is 10 years Ago |
17:15 |
RealBadAngel |
im said that i do develop high end candies |
17:15 |
RealBadAngel |
but i do that on most cheap i3, 4 gb ram, 6 yrs old GTX550ti |
17:16 |
RealBadAngel |
so i usually want to say "stfu" |
17:17 |
luizrpgluiz |
My notebook is simple, the configuration is a Pentium dual core, 3GB of ram and Intel HD graphics card |
17:17 |
RealBadAngel |
5-6 yrs old gaming platform for coder is like having sex with dinosaurs |
17:17 |
sofar |
LOL |
17:17 |
sofar |
painful? |
17:17 |
RealBadAngel |
they do have STANDARDS to take care of |
17:18 |
RealBadAngel |
and yet you know those standards are all gone |
17:18 |
RealBadAngel |
and dinosaurs are exctint already |
17:18 |
luizrpgluiz |
hehehe |
17:19 |
RealBadAngel |
but mt HAVE to be compatible with all those all dead poor dinos |
17:19 |
Fixer |
I usually update every 10 years or so |
17:19 |
Fixer |
and now you don't need to update at all |
17:19 |
luizrpgluiz |
the minetest be done in C#,many developers would not be here |
17:19 |
Fixer |
it is good enough |
17:19 |
RealBadAngel |
i had an ati card, 2 yrs ago or something |
17:20 |
RealBadAngel |
AMD dropped drivers for that card then |
17:20 |
RealBadAngel |
so i wasnt even able to get drivers for it |
17:20 |
|
Krock joined #minetest-dev |
17:21 |
RealBadAngel |
it was a few times faster than minetest reference i945m |
17:22 |
RealBadAngel |
ive "sold" this card to work witch text editors and data sheets at my uncle office |
17:23 |
RealBadAngel |
that topic about conspiracy has more sence when you stop laughing and think about things goes here |
17:23 |
|
Obani joined #minetest-dev |
17:23 |
|
rubenwardy joined #minetest-dev |
17:28 |
|
Robert_Zenz joined #minetest-dev |
17:34 |
sofar |
hmm, I have 13 pending PRs |
17:34 |
sofar |
this is getting out of control |
17:34 |
|
twoelk joined #minetest-dev |
17:41 |
|
Fixer joined #minetest-dev |
17:43 |
|
nrzkt joined #minetest-dev |
17:55 |
|
paramat left #minetest-dev |
18:00 |
|
Megaf joined #minetest-dev |
18:07 |
sofar |
RealBadAngel: client-side modding would be nice for sounds, effects and the like |
18:08 |
sofar |
RealBadAngel: I've been thinking of adding weather, the effects for that should all be client-side tho |
18:08 |
sofar |
RealBadAngel: similarly, explosions, fire, etc. could be client side |
18:08 |
sofar |
RealBadAngel: sound effects |
18:13 |
|
louiloui joined #minetest-dev |
18:14 |
twoelk |
actually individuall fixed position sounds should be all client side as they are different for each client - but somehow I thought sounds where allready processed clientside only |
18:15 |
sofar |
not the scheduling |
18:15 |
twoelk |
mh - now where is that toilet flush in homedecor |
18:16 |
sofar |
servers tells client where to play sounds |
18:22 |
twoelk |
as it should as the position is part of the map but the calculating what is actually heard is calculated by the client, I though (or maybe just hoped) |
18:23 |
rubenwardy |
Ambient sounds should be client side |
18:23 |
rubenwardy |
Lua or not |
18:24 |
twoelk |
can I actually decide in a mod who proccesses something? |
18:24 |
|
Hunterz joined #minetest-dev |
18:24 |
rubenwardy |
? |
18:25 |
rubenwardy |
What do you mean by who, twoelk |
18:25 |
twoelk |
client or server |
18:25 |
rubenwardy |
No. Mods are entirely client side, there is no lua environment on a client |
18:25 |
rubenwardy |
(There's the main menu, but that is destroyed by the time the client is running) |
18:26 |
twoelk |
whatabout all the stuff in builtin? |
18:26 |
rubenwardy |
that's server side |
18:27 |
rubenwardy |
It's just a hidden mod that always runs first |
18:28 |
twoelk |
ah, so the client runs lua on sdtartup but blocks lua when connecting tio a server |
18:28 |
twoelk |
*startup |
18:29 |
rubenwardy |
The mainmenu of the client runs lua but stops running lua when it starts connecting |
18:29 |
rubenwardy |
It doesn't block anything |
18:31 |
twoelk |
so if I flush the homedecor toilet or hear the villages church bell all the calculating of checking and comparing the positions is done by the server that then tells the client how to play the sound from the cache? |
18:32 |
rubenwardy |
Yes. The server runs a lua command which sends a packet to the client telling it which sound and where |
18:33 |
twoelk |
I had thought it would be just - soundhere + rangethat - and the client figures out the rest |
18:33 |
rubenwardy |
I don't understand what you're saying |
18:35 |
twoelk |
sounds can have a range, right? |
18:35 |
sofar |
sounds are rendered just like graphics |
18:35 |
sofar |
the client does all the rendering |
18:35 |
sofar |
the server says "a sound is here, this loud" |
18:35 |
sofar |
the client tells openAL to render the sound in that position |
18:35 |
sofar |
the sound rendering is done in C++ |
18:36 |
|
proller joined #minetest-dev |
18:36 |
sofar |
what my suggestion is, is to add ambience sounds in client-side lua |
18:36 |
sofar |
e.g. you take damage - on_client_damage() handler in lua gets called and plays sound and displays special effects |
18:36 |
sofar |
that's several less packets to the client |
18:37 |
sofar |
since now the server only needs to send a "damage" event |
18:37 |
twoelk |
so sounds get handled like client side textures? |
18:37 |
|
luizrpgluiz left #minetest-dev |
18:37 |
sofar |
and not a "damage" event, and a "sound" event, and a "effect" event |
18:37 |
sofar |
sounds get handled just like a node change, or an object move |
18:38 |
twoelk |
wouldn't that be too general? |
18:39 |
sofar |
I don't get your question |
18:40 |
twoelk |
maybe the game has more detailed sounds for special effects |
18:41 |
|
turtleman joined #minetest-dev |
18:42 |
|
red-001 joined #minetest-dev |
18:42 |
twoelk |
might be on another siedtrack but I was just playing with positioning certain sounds in certain places that mingle with each other |
18:43 |
sofar |
twoelk: obviously the subgame would have to be able to tell the client how and what sounds to play and when |
18:43 |
sofar |
twoelk: in other words, the client-side lua would be sent to the client by the server when you connect to a server |
18:44 |
twoelk |
for example I don't just use one -running water- sound but experiment with different ones to give fountains a unique sound character |
18:44 |
sofar |
twoelk: also, sound assets are already coming from the server, so the client has access to per-subgame sounds |
18:44 |
twoelk |
or as in sokomines villages use different bells for each church |
18:46 |
|
red-001 joined #minetest-dev |
18:48 |
|
dfelinto joined #minetest-dev |
18:54 |
twoelk |
sofar: I fear I don't get where you want to split the computing |
18:54 |
twoelk |
the server sends -this damage to that- and the client looks up the sound and effects? |
18:55 |
sofar |
twoelk: I have a better example |
18:55 |
sofar |
for instance, the player walks into a water node |
18:56 |
sofar |
if the player is only feet-deep in water, play a splashy water foorstep sound |
18:56 |
sofar |
if the player is head-deep, play a "player submerges" sound |
18:56 |
sofar |
that doesn't need any server side processing |
18:56 |
sofar |
can all be done client side |
18:56 |
sofar |
but |
18:56 |
sofar |
let's take that 1 step further |
18:56 |
sofar |
suppose you're standing NEAR the water |
18:57 |
sofar |
and a different player walks into the water |
18:57 |
sofar |
the client knows a player object walked into water |
18:57 |
|
Alduin_ joined #minetest-dev |
18:57 |
sofar |
it knows how deep the other player is |
18:57 |
sofar |
so it can play the right water sound effect for the other player |
18:57 |
sofar |
also, it can put splashing particles on the water |
18:58 |
red-001 |
how would this be used by mods? |
18:58 |
|
Robert_Zenz joined #minetest-dev |
18:58 |
twoelk |
you mean it can calculate the right sound (loudness, direction) |
18:58 |
sofar |
twoelk: no, loudness and direction is calculated by OpenAL |
18:58 |
twoelk |
wich is clientside |
18:58 |
sofar |
the difference is that the server doesn't send any sound events to the client |
18:59 |
red-001 |
doesn't this need client sided lua? |
18:59 |
sofar |
the client lua code does all the detection of sound events and generate them |
18:59 |
sofar |
red-001: yes |
18:59 |
sofar |
red-001: design wise, you'd have a small set of builtin lua client-side code to initialize and run handlers |
19:00 |
sofar |
red-001: then the subgames would provide most of the code that generates events |
19:00 |
twoelk |
well sounds pretty much as I had hoped was allready done |
19:00 |
twoelk |
:-P |
19:00 |
sofar |
red-001: e.g. it would run each tick to detect things like players walking into a wall |
19:00 |
sofar |
twoelk: it's all possible now, but not client side - e.g. the server needs to sent all the clients all the events |
19:00 |
sofar |
which just adds lag, and processing time |
19:01 |
red-001 |
so we will finally have client sided lua? |
19:01 |
sofar |
red-001: I'm considering it unavoidable |
19:01 |
red-001 |
I heard celeron55 started working on it |
19:01 |
red-001 |
so he might have some code you could use |
19:01 |
twoelk |
red-001: of course - just nobody knows when |
19:02 |
sofar |
At this point I have a few other things I want to finish first |
19:02 |
sofar |
I've got 13 open pull requests |
19:03 |
sofar |
I'd like to see most of them merged ;) |
19:03 |
* twoelk |
hopes for the next merging spree |
19:03 |
rubenwardy |
hm_mm started making a prototype, then c55 said he would |
19:04 |
celeron55 |
...then i did the farmesh reboot instead |
19:04 |
celeron55 |
but we'll see |
19:05 |
sofar |
celeron55: hehe. as said I've got 1-2 things that I want to work on first after my current waterfall of changes, but client-side lua may be after ;) |
19:05 |
rubenwardy |
This is cool: https://www.youtube.com/watch?v=nHH8N_lNZzI |
19:05 |
rubenwardy |
~web title |
19:05 |
ShadowBot |
rubenwardy: web title [--no-filter] <url> |
19:05 |
twoelk |
waterfall with sounds? |
19:05 |
rubenwardy |
~web title https://www.youtube.com/watch?v=nHH8N_lNZzI |
19:05 |
ShadowBot |
rubenwardy: HTTP Error 429: Too Many Requests |
19:05 |
Krock |
lol |
19:05 |
rubenwardy |
ShadowBot is the most useless IRC that I've ever interacted with |
19:05 |
ShadowBot |
rubenwardy: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command). |
19:05 |
rubenwardy |
point proved |
19:06 |
rubenwardy |
"Rigid-Body Fracture Sound (ACM SIGGRAPH 2010)" |
19:06 |
twoelk |
lol |
19:06 |
sofar |
twoelk: hehehe |
19:06 |
|
Amaz joined #minetest-dev |
19:07 |
* twoelk |
is dreaming of walking accross a market with lots of sounds mingeling from the right directions and all individually adjustable |
19:09 |
Fixer |
and farmap is buried in PR... |
19:18 |
|
luizrpgluiz joined #minetest-dev |
19:20 |
|
luizrpgluiz left #minetest-dev |
19:38 |
|
Elinvention joined #minetest-dev |
19:41 |
|
SilverLuke joined #minetest-dev |
19:42 |
|
Elinvention joined #minetest-dev |
19:43 |
|
dfelinto joined #minetest-dev |
20:11 |
|
CraigyDavi joined #minetest-dev |
20:16 |
|
red-001 joined #minetest-dev |
20:36 |
|
Elinvention joined #minetest-dev |
20:40 |
|
red-001 joined #minetest-dev |
21:01 |
|
Robert_Zenz joined #minetest-dev |
21:13 |
|
mangeurdenuage joined #minetest-dev |
21:29 |
|
red-001 joined #minetest-dev |
21:32 |
|
kaeza joined #minetest-dev |
21:36 |
|
red-001 joined #minetest-dev |
21:46 |
|
rubenwardy joined #minetest-dev |
21:53 |
|
proller joined #minetest-dev |
21:53 |
|
paramat joined #minetest-dev |
21:54 |
paramat |
will merge 3578 3581 very soon |
22:01 |
nrzkt |
paramat, wait for 3578 |
22:01 |
nrzkt |
i have some comments |
22:01 |
paramat |
ok |
22:02 |
paramat |
i'll wait so i can merge the 2 PRs at once |
22:16 |
|
DFeniks joined #minetest-dev |
22:33 |
|
nrzkt joined #minetest-dev |
22:36 |
|
Niebieski joined #minetest-dev |
22:37 |
RealBadAngel |
sofar, good idea to move defaults |
22:37 |
RealBadAngel |
that looks ok now |
22:52 |
|
paramat left #minetest-dev |
22:52 |
|
Elinvention joined #minetest-dev |
23:00 |
|
Robert_Zenz joined #minetest-dev |
23:10 |
|
Megaf_ joined #minetest-dev |
23:13 |
rubenwardy |
celeron55, 500 Internal Server Error |
23:13 |
rubenwardy |
on forums.minetest.net |
23:14 |
sofar |
he was rebooting some stuff |
23:14 |
sofar |
apparently he had some load issues |
23:14 |
rubenwardy |
and is now working O_o |
23:14 |
RealBadAngel |
luckily irrlicht forums are up now |
23:15 |
sofar |
RealBadAngel: did you edit your github comment? |
23:16 |
sofar |
RealBadAngel: special_tiles and tiles use the same method, so I think that works now similarly |
23:18 |
RealBadAngel |
noticed that? lol |
23:18 |
RealBadAngel |
ive deleted that comment because of water |
23:19 |
RealBadAngel |
in its case content_mapblock expects hardcoded values in special tiles |
23:19 |
RealBadAngel |
that should be changed imho, its mess |
23:19 |
RealBadAngel |
and special tiles shall carry the same flags as regular ones |
23:19 |
|
Fixer joined #minetest-dev |
23:20 |
RealBadAngel |
at least by default |
23:20 |
RealBadAngel |
then we can add that switching tile sets to reduce number of nodedefs |
23:22 |
RealBadAngel |
as far as i remember only thing that should be added is an alternative light source value |
23:23 |
sofar |
this change should help at least |
23:23 |
RealBadAngel |
furnaces active become light sources |
23:23 |
sofar |
moving more of the tile settings to the lua parsing code makes it more readable |
23:23 |
sofar |
hmmm that's nice |
23:24 |
RealBadAngel |
everybody here is crying about high ram usage |
23:24 |
RealBadAngel |
and things that can reduce it simply are not in |
23:24 |
sofar |
you should try to split your PRs better |
23:25 |
sofar |
I know it's hard |
23:25 |
sofar |
but it's so worth it |
23:25 |
RealBadAngel |
if a few liner can half the number of for example mesecons nodedefs is definitely worth it |
23:25 |
sofar |
especially since you depend on it |
23:26 |
RealBadAngel |
well, i can reanimate that PR now |
23:26 |
RealBadAngel |
need a break from texture tearing anywyay, its a frustrating work |
23:27 |
RealBadAngel |
the reason for it is deeply burried, not only slabs are affected |
23:27 |
RealBadAngel |
its visible on each and every surface, but somehow on slabs just a bit more |
23:28 |
sofar |
do you want to do some mundane C++ work? |
23:29 |
RealBadAngel |
oh great, another task? ;) whats that? |
23:29 |
sofar |
I need a new metadata container in ItemStack, but I hate coding up classes from scratch |
23:29 |
sofar |
it needs a new lua method |
23:29 |
RealBadAngel |
why would you need that? |
23:30 |
sofar |
so you can attach attributes to itemstack items |
23:30 |
RealBadAngel |
its already capable of storing anything you would ever need |
23:30 |
sofar |
not in a coherent and c++ safely readable way |
23:30 |
sofar |
the itemstack meta could also be written from lua as a plain string directly |
23:30 |
sofar |
it needs separation just like nodemetadata has |
23:30 |
RealBadAngel |
hmm, i was using it to store whole tables |
23:31 |
sofar |
:get_meta() ; meta:set_int("name", 120) ; etc. |
23:31 |
sofar |
it should really have the same design as nodemeta |
23:31 |
RealBadAngel |
technically you can even store here blobs |
23:31 |
sofar |
items inside items |
23:32 |
sofar |
but |
23:32 |
sofar |
more importantly |
23:32 |
sofar |
infotext |
23:32 |
sofar |
and |
23:32 |
sofar |
description |
23:32 |
sofar |
are the ones I want to immediately use |
23:32 |
sofar |
that way we can have named items |
23:32 |
RealBadAngel |
infotext you already have |
23:32 |
sofar |
nodedef infotext |
23:33 |
sofar |
!= itemstack metadata infotext |
23:33 |
sofar |
you can't modify nodedef infotext |
23:33 |
RealBadAngel |
hold your horses |
23:33 |
sofar |
I want to rename swords |
23:33 |
RealBadAngel |
ofc you can |
23:33 |
sofar |
books with titles |
23:33 |
RealBadAngel |
thats the lua mod that sets it |
23:33 |
sofar |
there's only 2 book craftitems |
23:34 |
sofar |
you can't rename the book |
23:34 |
sofar |
it's always a "book" |
23:34 |
sofar |
you can attach a description field in the itemstack metadata |
23:34 |
sofar |
but the client doesn't know how to display that |
23:34 |
sofar |
https://github.com/minetest/minetest/pull/3449 |
23:34 |
sofar |
that PR changes that |
23:34 |
sofar |
except, the use of itemstack metadata is weaksauce |
23:35 |
sofar |
it needs a full meta backing storage |
23:35 |
sofar |
a real backing storage like nodemetadata |
23:35 |
RealBadAngel |
i remember that PR |
23:35 |
sofar |
with that, we can enchant swords |
23:35 |
sofar |
make potions with damage values |
23:35 |
sofar |
all sorts of varied items coming from a single nodedef |
23:35 |
sofar |
plus renaming books |
23:36 |
sofar |
or keys, like my example |
23:36 |
sofar |
basically, I was thinking of splitting NodeMetadata into a proto Metadata class |
23:36 |
sofar |
and have NodeMetadata inherit it |
23:36 |
sofar |
that would be patch #1 |
23:36 |
ShadowBot |
https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome |
23:36 |
RealBadAngel |
LOL |
23:37 |
sofar |
patch #2 would be to add the new Metadata class to ItemStack |
23:37 |
ShadowBot |
https://github.com/minetest/minetest/issues/2 -- Burned wood |
23:37 |
RealBadAngel |
hehehehe |
23:37 |
sofar |
and #3, tell shadowbot to go fuck himself |
23:37 |
ShadowBot |
https://github.com/minetest/minetest/issues/3 -- Furnace segfault |
23:37 |
sofar |
sorry :) |
23:37 |
RealBadAngel |
that was really good :) |
23:38 |
RealBadAngel |
it even segfaulted on that fuck ;) |
23:38 |
RealBadAngel |
but yeah, that would make things easier |
23:39 |
sofar |
I know what needs to be done |
23:39 |
RealBadAngel |
all is actually doable atm with lua, except for displaying custom names |
23:39 |
sofar |
just dont like class deign |
23:39 |
RealBadAngel |
hmm |
23:40 |
RealBadAngel |
actually theres a simpler way to have custom tooltips |
23:40 |
sofar |
well that patch gets the display part already |
23:40 |
sofar |
that PR |
23:40 |
RealBadAngel |
lemme check your code and compare it to my idea |
23:40 |
RealBadAngel |
hold on |
23:41 |
sofar |
read the PR thread too |
23:43 |
sofar |
RealBadAngel: your "display infotext of dropped inventory items" could also use this metadata store to retrieve an alternative text |
23:43 |
sofar |
instead of "a sword" it could display "DragonSlayer 3000(TM)" |
23:46 |
sofar |
afk |