Time |
Nick |
Message |
00:00 |
Exio |
wut? |
00:00 |
hmmmm |
still can't really come up with a solid way to add decorations that would be cut off |
00:02 |
hmmmm |
i don't want to use that overly-complicated method i was talking about yesterday, so i said i'd just queue the position to get added later, outside of makechunk |
00:03 |
hmmmm |
so do i have a separate decoration queue as part of emergemanager? |
00:03 |
hmmmm |
it'd have to be thread-safe, all mapgens share this same thing |
00:04 |
hmmmm |
and perhaps one decoration will be done at a time, or else i'll have to find a way to not have them run on areas with intersecting blocks |
00:07 |
Exio |
why is that needed? |
00:10 |
Exio |
(as, wouldn't be doing the decorations just in the same place to where they "are done" actually? - the lua on_generate / the v6-trees, the caves, etc?) |
00:13 |
hmmmm |
lua on_generate is completely different and has nothing to do with this |
00:13 |
Exio |
but i mean, the place where it "runs" |
00:13 |
hmmmm |
trees and caves aren't going to be taller than a chunk |
00:14 |
hmmmm |
the place where it "runs" is the most "horrible" place possible |
00:14 |
hmmmm |
when on_generate runs, the rest of the server just pretty much stops |
00:16 |
|
Taoki joined #minetest-dev |
01:06 |
hmmmm |
ugh man |
01:06 |
|
dexter0 joined #minetest-dev |
01:07 |
hmmmm |
so what do you guys think is a better idea? recalculate the lower adjacent chunk's positions and see if anything would've got cut off, and then place the rest of that decoration |
01:07 |
hmmmm |
or have those decorations that would be cut off added to a queue and placed in their own specially-sized voxelmanipulator |
01:53 |
|
jojoa1997 joined #minetest-dev |
02:26 |
RealBadAngel |
imho own sized manipulator |
02:32 |
hmmmm |
you do realize what i'd need to do for that to happen, right? |
02:33 |
VanessaE |
tear your hair out? ;) |
02:33 |
RealBadAngel |
but if that would overcomplicate things im fine with other solution |
02:33 |
hmmmm |
after finishBlockMake, i'd have to loop through each decoration that didn't fit (which is basically all of the l-systems trees), lock environment, emerge the blocks, unlock environment, generate the tree, lock environment again, blit back, unlock environment, bladdy blah, bladdy blah |
02:34 |
hmmmm |
and another thing is that it'd be disjoint from the map generator |
02:34 |
RealBadAngel |
for own blit i had trees in mind ofc |
02:35 |
hmmmm |
the only advantage of this approach is that it's simpler |
02:36 |
hmmmm |
and that you don't need to duplicate computations |
02:37 |
hmmmm |
the disadvantages otoh, is that it locks more and it's outside of the mapgen, and lighting computations would be duplicated |
02:38 |
hmmmm |
another advantage is that i wouldn't have to make a separate case for horizontally out-of-bounds structures |
02:39 |
hmmmm |
humungous buildings would therefore be possible, the only problem is that it'd be shitted up by dirt being placed on top of it |
02:40 |
hmmmm |
and let's be honest |
02:40 |
hmmmm |
it's much harder to figure out what's part of a discretely placed structure and actual map |
02:40 |
hmmmm |
this all goes back to the fundamental "it's not about what was placed, it's about why it was placed" issue |
02:45 |
RealBadAngel |
so i would have to check if the tree will fint in generated area? |
02:45 |
RealBadAngel |
*fit |
02:46 |
hmmmm |
wait, what? why would you be doing anything |
02:46 |
RealBadAngel |
to make sure it will be generated whole, not cut |
02:47 |
RealBadAngel |
but if you mean treegen doesnt bother about it, then pick the way which is better |
02:47 |
hmmmm |
are you sure you read the original idea? |
02:50 |
RealBadAngel |
"and see if anything would've got cut off, and then place the rest of that decoration" |
02:50 |
RealBadAngel |
so what happens with the cut off part? |
02:51 |
hmmmm |
in both cases, i'd have the written to a buffer first |
02:51 |
hmmmm |
the tree written to* |
02:51 |
hmmmm |
the whole tree |
02:52 |
hmmmm |
what i'd actually place would be the contents of that buffer, up to the y position that fits in that chunk |
02:52 |
hmmmm |
and for the "rest of it", i'd just blit the part that didn't fit below |
02:54 |
hmmmm |
you know the more i think about it, the more i'm liking this idea |
02:54 |
hmmmm |
except instead of having to recalculate everything, what i would do is add the positions of things that did not fit and their height to a queue that's shared among all mapgens |
02:55 |
hmmmm |
that would simplify things a bit, remove the need for duplicating lighting computations, remove the extraneous envlocks |
02:55 |
|
[0gb-us] left #minetest-dev |
02:56 |
|
jojoa1997 joined #minetest-dev |
02:56 |
hmmmm |
of course you can overfill the buffer by never having the chunks above the cut-off areas generated, it'd be difficult for a totally legitimate client to do that though |
02:56 |
hmmmm |
if the buffer is overfilled, naturally you'd just drop things |
02:56 |
RealBadAngel |
and the chunk that will need it will take it off the not added yet things list? |
02:56 |
hmmmm |
yes |
02:57 |
hmmmm |
would you people please stop playing nick games |
02:57 |
hmmmm |
jeez |
02:57 |
RealBadAngel |
that sounds reasonable |
02:57 |
keaza |
ok sorry i thought i got out of this channel |
02:57 |
|
keaza left #minetest-dev |
02:58 |
hmmmm |
and now to decide which chunks each request fulfillment "belongs" to would be obviously an O(n) operation |
02:58 |
hmmmm |
......i try to avoid O(n) |
02:59 |
hmmmm |
especially if it involves factors you can't control, like this |
02:59 |
hmmmm |
who knows if it can grow into the thousands |
02:59 |
hmmmm |
well easy, i'll just make the limit 1024 |
03:00 |
hmmmm |
alright so any objections? that's how i'll handle decorations that would be cut off |
03:02 |
|
BackupCoder joined #minetest-dev |
05:51 |
|
proller joined #minetest-dev |
06:00 |
|
emptty joined #minetest-dev |
06:07 |
celeron55 |
hmmmm: and in the end, all the thing will actually be used for will be single node plants? 8) |
06:14 |
hmmmm |
of course not.. the l-system trees will get cut off quite often |
06:16 |
hmmmm |
single node plants, and even cacti and papyrus are handled with the simple decoration type. they won't ever get added to the cut-off queue |
06:16 |
hmmmm |
only schematic and l-system types might |
06:28 |
|
emptty joined #minetest-dev |
06:42 |
|
darkrose joined #minetest-dev |
06:47 |
|
emptty joined #minetest-dev |
07:11 |
|
darkrose joined #minetest-dev |
07:26 |
|
iqualfragile joined #minetest-dev |
07:31 |
|
darkrose joined #minetest-dev |
08:28 |
|
iqualfragile joined #minetest-dev |
09:42 |
|
proller joined #minetest-dev |
10:03 |
|
PilzAdam joined #minetest-dev |
10:19 |
|
Taoki joined #minetest-dev |
10:29 |
|
darkrose joined #minetest-dev |
10:47 |
|
Zeg9 joined #minetest-dev |
11:04 |
|
Calinou joined #minetest-dev |
11:39 |
|
Taoki joined #minetest-dev |
12:29 |
|
Taoki joined #minetest-dev |
13:04 |
|
kahrl joined #minetest-dev |
13:07 |
|
Taoki joined #minetest-dev |
13:08 |
|
Zeg9 joined #minetest-dev |
13:11 |
|
salamanderrake joined #minetest-dev |
13:11 |
|
hmmmm joined #minetest-dev |
13:34 |
|
emptty joined #minetest-dev |
13:58 |
|
Taoki joined #minetest-dev |
14:19 |
|
BlockMen joined #minetest-dev |
14:51 |
|
kaeza1 joined #minetest-dev |
15:33 |
|
serengeor joined #minetest-dev |
15:50 |
|
Calinou joined #minetest-dev |
15:52 |
|
dexter0 joined #minetest-dev |
16:06 |
|
rubenwardy joined #minetest-dev |
16:22 |
|
dexter0 joined #minetest-dev |
16:49 |
|
ImQ009 joined #minetest-dev |
16:54 |
|
rubenwardy joined #minetest-dev |
17:18 |
|
iqualfragile joined #minetest-dev |
17:32 |
rubenwardy |
+1 for http://dev.minetest.net/User:Rarkenin/Proposal_System |
17:38 |
|
sapier joined #minetest-dev |
17:39 |
RealBadAngel |
im not quite sure with this. this rules means ONE dev with unknown number of community folks behind (not to be verified, counted or whatever) could be able to push everything |
17:40 |
RealBadAngel |
this is unaceptable |
17:41 |
sapier |
-1 to proposal system suggestion |
17:41 |
rubenwardy |
how many core devs are there? |
17:41 |
RealBadAngel |
following this quide lets say one core dev thought lets make pokemon game out of it |
17:42 |
RealBadAngel |
published the idea on forums, gather some pokemon fans |
17:42 |
RealBadAngel |
and... |
17:42 |
sapier |
imho any successfull oss project needs a strong lead I don't know any system wich doesn't have one |
17:42 |
RealBadAngel |
we have PokemonTest |
17:43 |
rubenwardy |
how about if 5/7 devs say yes, it is merged? |
17:43 |
PilzAdam |
sapier, for some resons people think that MTs development is "community driven" |
17:43 |
PilzAdam |
-s |
17:43 |
RealBadAngel |
replace ONE with AT LEAST TWO of devs |
17:44 |
RealBadAngel |
than it will have legs and arms |
17:44 |
sapier |
rba I don't even think this is worst thing but what I'm frightened of is all "cool" features beeing added while the really important low level maintenance changes don't get majorities |
17:44 |
sapier |
rubenwardy it's already something like that |
17:45 |
RealBadAngel |
we are specializing as you may propably noticed |
17:45 |
RealBadAngel |
im from some time are not leaving drawtypes |
17:45 |
RealBadAngel |
hmmm is mapgen |
17:46 |
RealBadAngel |
others are also picked own niches |
17:46 |
RealBadAngel |
PA is minecrafting our game for example ;) |
17:46 |
sapier |
I guess it's only working this way as mit is to big for one person to know everything |
17:47 |
RealBadAngel |
time that ONE know everythin about MT are long time gone |
17:47 |
sapier |
is the texture not found problem already fixed? |
17:48 |
RealBadAngel |
not my area of expertise :) |
17:48 |
RealBadAngel |
dunno |
17:48 |
sapier |
maybe it's not working that good :-P |
17:48 |
RealBadAngel |
my ass is glue sticked to mapblock_mesh.cpp and the like |
17:48 |
kahrl |
what texture not found problem? |
17:49 |
RealBadAngel |
at the client shutdown it reports weird error |
17:49 |
RealBadAngel |
cannot find or load texture |
17:49 |
RealBadAngel |
after ALC is closed |
17:50 |
sapier |
my guess is irrlicht tries to create inventorycubes from already unloaded textures |
17:50 |
kahrl |
oh the lines with the ^[forcesingle textures? |
17:50 |
RealBadAngel |
propably client wants to free memory but texture is already gone |
17:50 |
RealBadAngel |
yes |
17:50 |
sapier |
it's not a crash issue but a glitch |
17:50 |
sapier |
I don't think so if it tried to free it'd crash |
17:52 |
sapier |
once I'm able to reproduce it I'll try to find it |
17:53 |
RealBadAngel |
install texture pack |
17:53 |
RealBadAngel |
turn off preload visuals |
17:53 |
RealBadAngel |
shut down client |
17:54 |
sapier |
oh no preload visuals |
17:54 |
PilzAdam |
it also appears without a TP |
17:54 |
sapier |
hmm I don't have preload enabled |
17:54 |
RealBadAngel |
OFF |
17:55 |
sapier |
its 0 in my config this is off ? |
17:55 |
RealBadAngel |
error mesages clearly says that it is all about generated inventory images |
17:55 |
PilzAdam |
sapier, yes |
17:55 |
kahrl |
I did some dstream-assisted debugging |
17:56 |
kahrl |
the culprit is the driver->getTexture call in ~TextureSource |
17:56 |
|
jin_xi joined #minetest-dev |
17:57 |
sapier |
maybe it isn't even a problem? |
17:59 |
sapier |
~TextureSource tries to find the texture for all added textures |
17:59 |
sapier |
if it finds one its deleted, if not nothing is done |
17:59 |
kahrl |
why is ^[forcesingle even needed anymore? |
17:59 |
kahrl |
I thought the texture atlas was gone |
17:59 |
kahrl |
oh, it is not |
17:59 |
sapier |
it's just not really used anymore |
18:00 |
kahrl |
I think it should be removed from the code, especially since it doesn't work with the new facedir |
18:00 |
sapier |
me too but I was more eager to fix the memory leaks |
18:01 |
sapier |
but getting back to the error message maybe there's a way to check for a texture not using getTexture to avoid that message beeing shown |
18:01 |
sapier |
this message is issued by irrlicht not mt |
18:01 |
kahrl |
^[forcesingle is basically wasted video memory nowadays |
18:05 |
sapier |
II'll have a look how to remove it |
18:05 |
sapier |
looks like some work on first glance |
18:06 |
|
celeron55 joined #minetest-dev |
18:08 |
RealBadAngel |
kahrl, texture atlas is obsolete |
18:08 |
RealBadAngel |
and is defaulted to off |
18:10 |
RealBadAngel |
current namespace is like each texture has its own atlas |
18:11 |
sapier |
still kahrl is right this should be cleaned up |
18:11 |
RealBadAngel |
ofc |
18:12 |
kahrl |
some mesh making code could be optimized by removing members for AtlasPointer, etc. |
18:12 |
emptty |
sapier: your mods depend on "default", but I get a warning that this mod does not exist. Should I fill an issue? |
18:12 |
kahrl |
members of* |
18:12 |
sapier |
yes ... why does default not exist? |
18:12 |
emptty |
I've no idea |
18:12 |
RealBadAngel |
c55 made some significant changes to it lately |
18:12 |
PilzAdam |
emptty, the default mod in common is just not recognized |
18:13 |
PilzAdam |
everything should work, though |
18:13 |
emptty |
everything works, yes |
18:13 |
sapier |
so not a mobf bug but core |
18:13 |
RealBadAngel |
im familiar with the code after the changes |
18:13 |
RealBadAngel |
i just put the last nail to texture atlas coffin |
18:15 |
sapier |
argh ... I thought I've fixed all memory leaks ... could each of you plz stop adding new ones !? ;-) |
18:15 |
PilzAdam |
no |
18:15 |
RealBadAngel |
are you lookin at me sapier? :) |
18:16 |
sapier |
no I'm not looking at anyone special :-) as I don't know who added this :-) maybe it's even a special case that didn't occcur before |
18:17 |
RealBadAngel |
name the case |
18:17 |
sapier |
CItemDefMangager:RegisterItem |
18:17 |
RealBadAngel |
uhhh, definitely this region have never seen my cursor blinkin |
18:18 |
sapier |
allocates memory in a quite complex stl structure that isn't freed correctly |
18:19 |
|
kahrl_ joined #minetest-dev |
18:20 |
kahrl_ |
sounds like that was me |
18:20 |
RealBadAngel |
hehe |
18:20 |
sapier |
if(m_item_definitions.count(def.name) == 0) |
18:20 |
sapier |
m_item_definitions[def.name] = new ItemDefinition(def); |
18:20 |
sapier |
else |
18:20 |
sapier |
*(m_item_definitions[def.name]) = def; |
18:20 |
sapier |
oops |
18:21 |
sapier |
who wants to be blamed for this? :-) |
18:21 |
RealBadAngel |
kahrl, btw have you tested this nested meshbuffers fix? |
18:21 |
sapier |
if there's already memory used forget about it and get new one without freeing the old memory :-) |
18:22 |
sapier |
stop .., I'm wrong |
18:22 |
kahrl_ |
RealBadAngel: yes but only a bit |
18:22 |
RealBadAngel |
how? |
18:23 |
kahrl_ |
a mapblock full of allfaces nodes |
18:23 |
kahrl_ |
used to simply not show some of the nodes, with my fix it shows all |
18:23 |
RealBadAngel |
have u dumped how many buffers are you using? |
18:23 |
kahrl_ |
no |
18:23 |
sapier |
no not quite ... Itemdef is a struct not working correct with = operator |
18:24 |
RealBadAngel |
you know that in the first place mt way is RAPE agaisnt irrlicht engine |
18:24 |
RealBadAngel |
meshbuffers are supposed to dispaly scene nodes |
18:25 |
kahrl_ |
sapier: ItemDefinition has an operator= |
18:25 |
RealBadAngel |
models |
18:25 |
RealBadAngel |
not whole world |
18:25 |
sapier |
yes but somehow there's still memory lost allocated here |
18:25 |
kahrl_ |
maybe a bug in operator=? |
18:26 |
sapier |
I'm looking for it |
18:26 |
kahrl_ |
RealBadAngel: are there any bad consequences of that? |
18:26 |
RealBadAngel |
maybe we shall take a step in separating elements of the world |
18:26 |
sapier |
but seams to be fine |
18:26 |
RealBadAngel |
yes |
18:26 |
RealBadAngel |
we hit the vertices limit for ONE MODEL |
18:27 |
kahrl_ |
a model doesn't have a vertex limit |
18:27 |
RealBadAngel |
folks in irrlicht forums responded to such question: who the fuck would need so many vertices for one model... |
18:27 |
kahrl_ |
a meshbuffer has an indices limit |
18:27 |
sapier |
argh |
18:27 |
RealBadAngel |
vertices/indices |
18:27 |
sapier |
there's my fix of fix missing in CItemDefManager |
18:27 |
RealBadAngel |
same for me ;) |
18:27 |
RealBadAngel |
effect is the same |
18:28 |
kahrl_ |
link to that forum post? |
18:28 |
RealBadAngel |
to much stuff pushed into one bin |
18:28 |
sapier |
https://github.com/minetest/minetest/pull/635 |
18:28 |
sapier |
could someone plz merge this? |
18:29 |
RealBadAngel |
maybe if we could spilt meshbuffers for nodeboxes, water, entities etc? |
18:30 |
kahrl_ |
RealBadAngel: why would you do that |
18:31 |
kahrl_ |
other than having separate meshbuffers for different materials, which is already done |
18:31 |
RealBadAngel |
first of all avoid the limits |
18:31 |
kahrl_ |
my patch makes it avoid the limits |
18:31 |
|
kaeza joined #minetest-dev |
18:31 |
sapier |
by some time there need to be changes for shaders |
18:32 |
RealBadAngel |
im not sure about proper alpha handling |
18:32 |
RealBadAngel |
this is sorted for scene nodes |
18:32 |
RealBadAngel |
not meshbuffers |
18:32 |
emptty |
sapier: how can I generate locally the doc that is on http://animalsmod.comuf.com/? I'm sick of the advertisements :/ |
18:33 |
RealBadAngel |
if everythin is put into one bin we have weird problems |
18:33 |
kahrl_ |
No, irrlicht does not do transparency sorting |
18:34 |
kahrl_ |
It renders the opaque nodes before transparent nodes, but that's it |
18:34 |
sapier |
it's difficult you need lua2dox in an updated version ... didn't know about the advertisement till now, I'll create a download zip |
18:34 |
emptty |
thx |
18:34 |
kahrl_ |
parts of nodes* (depending on how the scenenodes are implemented) |
18:35 |
RealBadAngel |
kahrl_, i dont know enough about it yet, just repeatin what other devs said |
18:35 |
kahrl_ |
I'm talking about scenenodes here, not minetest nodes |
18:36 |
RealBadAngel |
propably c55 took "node" name from irrlicht namespace |
18:36 |
RealBadAngel |
scene node is complete object, mesh |
18:36 |
kahrl_ |
in minetest the entire world is 1 scene node |
18:37 |
RealBadAngel |
in our case, whole mt world is irrlicht's scene node |
18:37 |
RealBadAngel |
genau |
18:37 |
sapier |
genau? :-) |
18:37 |
RealBadAngel |
exactly |
18:37 |
kahrl_ |
richtig |
18:37 |
sapier |
lol |
18:37 |
RealBadAngel |
hehe |
18:38 |
RealBadAngel |
thus node to node interaction is not possible |
18:38 |
RealBadAngel |
like alpha sorting |
18:38 |
kahrl_ |
like I said, irrlicht doesn't do transparency sorting |
18:39 |
RealBadAngel |
c55 said it does, but between nodes |
18:39 |
RealBadAngel |
or at least i think he did |
18:40 |
RealBadAngel |
some1 did for sure :) |
18:40 |
RealBadAngel |
if not him then hmmmm |
18:42 |
RealBadAngel |
anyway, for mesh drawtype i will introduce next meshbuffer |
18:43 |
sapier |
mesh drawtype for nodes? |
18:43 |
RealBadAngel |
i pretty sure it will be good solution |
18:43 |
RealBadAngel |
yes |
18:43 |
sapier |
are you sure this is the right way to go? |
18:43 |
RealBadAngel |
*im |
18:43 |
RealBadAngel |
yup |
18:44 |
RealBadAngel |
crystal thingies/animated nodes etc |
18:44 |
sapier |
this means breaking simplicity of map while giving up exact collision handling |
18:45 |
kahrl_ |
I can't find any reference to depth sorting in the irrlicht documentation |
18:45 |
RealBadAngel |
collision box will have to be defined as a box, for sure |
18:45 |
sapier |
as I said giving up exact collision handling |
18:45 |
kahrl_ |
what does rendering have to do with collision handling? |
18:46 |
RealBadAngel |
we r livin in a voxel world |
18:46 |
sapier |
currently you collide to what you see in a world (not considering special entitiy case) |
18:46 |
RealBadAngel |
box is enough |
18:46 |
sapier |
but with entities you can see what anyoing effects giving up visible<->collision box incoherence has |
18:47 |
RealBadAngel |
separate from what you can actually see. box is good aproximation |
18:47 |
sapier |
try mobf you'll see what I mean |
18:47 |
RealBadAngel |
sapier, you mean no "headshots" possible |
18:47 |
kahrl_ |
well you'd collide with air if you set it to walkable |
18:48 |
sapier |
.... no I mean ppl standing in the air because of colision boxes not fitting to meshes |
18:48 |
kahrl_ |
also: try walking through a door while sneaking |
18:48 |
RealBadAngel |
price for doing so fancy things we had in mind? ;) |
18:48 |
kahrl_ |
(sneaking increases the player's collision box, causing you to collide with the door sometimes even though you shouldn't) |
18:49 |
sapier |
it's not a new problem true but if even map isn't node based the problem will become much more visible and anoying |
18:50 |
sapier |
maybe a limited set of new node geometrys would be a better approach |
18:51 |
RealBadAngel |
this is problem of tuning just imho, not a real problem like we are fighting atm |
18:51 |
sapier |
no it's not a tuning problem the only real way of fixing this problem is creating a mesh aware collision system |
18:51 |
RealBadAngel |
better tell me why before adding luajit i had 25-30fps, after adding i jumped to 55-60 |
18:52 |
sapier |
maybe this is an easy task, but I don't have any idea how to do this in a performant way |
18:52 |
RealBadAngel |
and last two weeks it dropped to 15-20 |
18:52 |
sapier |
don't know ... maybe object object collision handling? |
18:53 |
sapier |
depends on how many objects are in your world |
18:53 |
kahrl_ |
I downloaded the irrlicht source and apparently it does sort transparent nodes by distance |
18:53 |
RealBadAngel |
something pushed recently caused signigificant frame drop |
18:53 |
RealBadAngel |
with luajit onboard (which is at least 2x faster) |
18:54 |
kahrl_ |
but still, you can't make a new scene nodes for each minetest node without tossing all performance down the drain |
18:54 |
sapier |
is luajit still enabled? |
18:54 |
kahrl_ |
-s |
18:54 |
sapier |
maybe a scene node for each block? |
18:54 |
kahrl_ |
that wouldn't fix the glitches |
18:54 |
RealBadAngel |
if its in your system it is autodetected |
18:55 |
sapier |
and this is working correct? |
18:55 |
RealBadAngel |
yes |
18:55 |
sapier |
volonteers for bisecting changes? ;-) |
18:56 |
RealBadAngel |
luajit was tested on vanessae server month before merging |
18:56 |
sapier |
I'm not talking about luajit I know its way more performant |
18:59 |
RealBadAngel |
look thats somethin in between my glasslike_framed push and 2 weeks back in the history |
18:59 |
RealBadAngel |
i made freeze while i was workin on it |
19:00 |
RealBadAngel |
code before was workin fine, addin the _framed too |
19:00 |
RealBadAngel |
but when i merged the trees i noticed slowdown |
19:01 |
sapier |
luahud? |
19:02 |
RealBadAngel |
dunno, first thing i noticed that hearts 128x textures takes whole screen and doesnt fit |
19:03 |
RealBadAngel |
i had to go back for 16x textures for it |
19:04 |
RealBadAngel |
i do have workin trees on my hdd for 5-6months back in time |
19:04 |
RealBadAngel |
i do name them by dates and project involved |
19:05 |
RealBadAngel |
so i can easily step back and check who did it |
19:06 |
RealBadAngel |
i dont like github so im doin my own trees and branching |
19:08 |
|
jojoa1997 joined #minetest-dev |
19:08 |
|
rubenwardy left #minetest-dev |
19:09 |
|
StrayBytes joined #minetest-dev |
19:09 |
|
StrayBytes joined #minetest-dev |
19:10 |
RealBadAngel |
kahrl, btw: http://i.imgur.com/OapBLIO.jpg |
19:14 |
|
Jordach joined #minetest-dev |
19:15 |
|
Jordach_ joined #minetest-dev |
19:15 |
|
Jordach_ joined #minetest-dev |
19:16 |
sfan5 |
my client crashes when i join the server i host for markveidemanis: http://pastie.org/7744540 |
19:16 |
|
Jordach__ joined #minetest-dev |
19:16 |
kahrl_ |
RealBadAngel: these guys should randomly spawn as mobs on the surface |
19:17 |
kahrl_ |
anyway, what do you mean with that screenshot? |
19:17 |
sapier |
mobs > 1 block are a little bit difficult to do movement |
19:18 |
sapier |
-block + node |
19:18 |
RealBadAngel |
kahrl_, i mean with this we can use all irrlicht code |
19:19 |
sapier |
is using all irrlicht code target? |
19:19 |
sapier |
if so we need to do some basic changes in code |
19:19 |
kahrl_ |
hm? we already had 3d players using models |
19:19 |
RealBadAngel |
this is from irrlicht examples |
19:19 |
sapier |
but what s new? |
19:20 |
RealBadAngel |
imho separation is needed |
19:20 |
sapier |
separation of what? |
19:21 |
RealBadAngel |
displayed things |
19:21 |
sapier |
currently separation is block like static objects --> nodes |
19:21 |
sapier |
dynamic things --> entities |
19:22 |
RealBadAngel |
and buffers said: NO |
19:22 |
kahrl_ |
what? |
19:22 |
sapier |
:-) you have to tell me what you're aiming at |
19:22 |
RealBadAngel |
NODE is not a single node in the world |
19:22 |
kahrl_ |
are you seriously saying 1 minetest node should be 1 scene node? |
19:23 |
RealBadAngel |
block, box, node, stone whatever you call it |
19:23 |
RealBadAngel |
no |
19:23 |
RealBadAngel |
one kind of them |
19:23 |
RealBadAngel |
solid ones, water, objects, players, etc |
19:24 |
RealBadAngel |
split them into groups |
19:24 |
kahrl_ |
water? you know there are giant oceans with thousands of water nodes |
19:24 |
RealBadAngel |
ofc |
19:25 |
RealBadAngel |
we are talkin about different display ways |
19:25 |
RealBadAngel |
now all is in fact the same |
19:25 |
kahrl_ |
not really, since they are in separate meshbuffers |
19:26 |
kahrl_ |
with different materials |
19:26 |
RealBadAngel |
excuse me |
19:26 |
RealBadAngel |
now is in ONE meshbuffer |
19:27 |
RealBadAngel |
*all |
19:27 |
kahrl_ |
have you read the source of MeshCollector::append()? |
19:27 |
RealBadAngel |
all nodes at least |
19:28 |
RealBadAngel |
im talkin nodes only by now |
19:29 |
kahrl_ |
I don't think you know what you're talking about, I'm sorry :| |
19:29 |
RealBadAngel |
i used to hear such phrase |
19:30 |
kahrl_ |
I tried to delay saying it |
19:31 |
RealBadAngel |
sorry. but when i do see adding to mesh collector, and it says its out of vertices/indices i dont think it sorted and using any more than just one |
19:32 |
kahrl_ |
Yep. That's because the nodes that caused the meshbuffer to overflow were all the same kind of node. |
19:33 |
kahrl_ |
Or used the same texture/material, at least |
19:35 |
kahrl_ |
In my test I had a mapblock full of allfaces nodes. That's 16*16*16 nodes, with 6 faces each, with 6 indices per face, for a total of 147456 indices |
19:35 |
RealBadAngel |
youre tryin to tell me that we had multiple buffers for each materials before? |
19:35 |
kahrl_ |
One buffer for one material |
19:35 |
kahrl_ |
With a limit of 65535 indices. My patch makes it so it begins a new buffer when that limit is reached |
19:35 |
RealBadAngel |
shit, i should dig code deeper then |
19:36 |
RealBadAngel |
mea culpa |
19:36 |
RealBadAngel |
i thought its overall |
19:37 |
RealBadAngel |
so, this case, i think your patch is the right thing |
19:38 |
RealBadAngel |
extend the limit just with going for next buffer |
19:40 |
RealBadAngel |
and the sidenote: i should really shut up about the code i havent read to the last bit |
19:41 |
kahrl_ |
meh, I do that too at times |
19:41 |
kahrl_ |
like with the irrlicht and transparency sorting thing |
19:41 |
RealBadAngel |
i just judged it by behavuir |
19:42 |
RealBadAngel |
and some c55 and hmm comment too, to be honest |
19:44 |
RealBadAngel |
ehhh, man is learnin whole the lifetime and dies stupid |
19:44 |
RealBadAngel |
at least i do try to learn more |
19:44 |
sapier |
that's why we are here ;-) |
19:44 |
sapier |
to learn more |
19:45 |
RealBadAngel |
c55 didnt believed me on my very first days i was her that i came to mod and code |
19:45 |
kahrl_ |
ok, I made it print when it has to start a new mesh (with my patch) |
19:46 |
kahrl_ |
with the mapblock full of allfaces nodes, that's 2 times |
19:46 |
RealBadAngel |
now i think he believes, but i, on the other hand more and more are realiznin i need to learn mor |
19:46 |
RealBadAngel |
e |
19:46 |
kahrl_ |
so 3 meshbuffers, as expected |
19:46 |
kahrl_ |
start a new meshbuffer* |
19:49 |
RealBadAngel |
etities have own meshbuffer or not? |
19:57 |
RealBadAngel |
bbl, have to go |
19:57 |
kahrl_ |
"it's complicated" |
19:57 |
kahrl_ |
they don't use the same meshbuffer as any mapblock |
19:57 |
kahrl_ |
they have their own mesh |
19:57 |
kahrl_ |
however, entities with the same mesh reuse that mesh, depending on the entity drawtype |
19:57 |
|
hmmmm joined #minetest-dev |
20:07 |
sapier |
anyone plz merge this one? https://github.com/minetest/minetest/pull/635 |
20:09 |
|
fuzzywuzzy joined #minetest-dev |
20:10 |
|
fuzzywuzzy left #minetest-dev |
20:50 |
|
serengeor joined #minetest-dev |
20:59 |
emptty |
sapier: I was considering adding a new NPC to your framework, but I'm a bit lost. Do you have some time to chat about it, please? |
21:01 |
|
Taoki joined #minetest-dev |
21:14 |
celeron55 |
20:43:58 <+RealBadAngel> following this quide lets say one core dev thought lets make pokemon game out of it <+RealBadAngel> published the idea on forums, gather some pokemon fans <+RealBadAngel> and... <+RealBadAngel> we have PokemonTest |
21:14 |
celeron55 |
did you actually read it at all? |
21:15 |
celeron55 |
it specifically disallows that kind of thing |
21:15 |
celeron55 |
anyone's opinion counts just as much as it contains rational reasoning |
21:16 |
|
StrayBytes left #minetest-dev |
21:16 |
celeron55 |
and you aren't going to get any of that from some random forum fan |
21:17 |
celeron55 |
and if you do, and it's wrong, it can be made to count as none by proper counter reasoning (eg. for that pokemon example, just say there that it's not possible because of trademark reasons) |
21:18 |
celeron55 |
doing everything based on proposal has it's problems, but that is not one of them |
21:18 |
celeron55 |
proposals* |
21:19 |
|
jojoa1997 joined #minetest-dev |
22:02 |
|
BlockMen joined #minetest-dev |
22:03 |
BlockMen |
hi, can someone tell me if that could work? http://pastie.org/private/wabue9etdjqb5mhyfblg#910-913 and http://pastie.org/private/uhr8c4gf0nmwyos1r5g7bg#189 (its guiFormSpecMenu.cpp and guiFormSpecMenu.h) |
22:06 |
|
jojoa1997 left #minetest-dev |
22:12 |
kahrl_ |
BlockMen: does anything call closeFormSpec()? |
22:13 |
BlockMen |
not yet, i just wanted know if it is "that easy" |
22:13 |
kahrl_ |
it should work |
22:14 |
emptty |
How far are we from the next stable release? |
22:14 |
BlockMen |
ok, thx. then i can try to get it called from lua |
22:14 |
BlockMen |
*now |
22:20 |
BlockMen |
kahrl_, do i have to include guiFormSpecMenu.h (with #include "") in scriptapi.ccp if i want call it from lua? |
22:20 |
Exio |
emptty: i know leveldb "should be" in 0.4.7 |
22:21 |
emptty |
Exio: what it this? |
22:21 |
Exio |
emptty: a new and "faster" level format |
22:21 |
Exio |
https://github.com/minetest/minetest/pull/326 |
22:24 |
emptty |
Exio: so you mean that we are quite far away from releasing 0.4.7 because this big blob must still go in, right? I'm not sure I see the connexion here |
22:24 |
PilzAdam |
emptty, we dont when we the next stable release will be released |
22:26 |
emptty |
sure, it's released when it's ready, as usual. My question was whether you guys were thinking of releasing or thinking that you need more features to go in |
22:26 |
Exio |
i just know what "needs" to be in 0.4.7 is leveldb, no idea about other stuff |
22:40 |
|
sapier1 joined #minetest-dev |
23:00 |
kahrl_ |
BlockMen: yes |
23:01 |
kahrl_ |
erm I mean no |
23:01 |
|
jojoa1997 joined #minetest-dev |
23:01 |
kahrl_ |
lua is on the server and formspec menus are on the client |
23:01 |
kahrl_ |
so you have to send a network message and handle it in CLient |
23:01 |
kahrl_ |
-L +l |
23:02 |
kahrl_ |
oh, just saw the discussion in #minetest |
23:03 |
BlockMen |
kahrl_, sry that im so impatient ;) |
23:03 |
BlockMen |
and just wanted send http://irc.minetest.ru/minetest/2013-04-30#i_3060580 link to that at #minetest |
23:14 |
BlockMen |
kahrl_, so something like that? -> http://pastie.org/private/obxjxl6tm16mgtwwhpg7ga |
23:14 |
kahrl_ |
nah |
23:15 |
kahrl_ |
in requestCloseFormSpec, send a TOCLIENT_CLOSEFORMSPEC message |
23:15 |
kahrl_ |
which you need to design |
23:15 |
sapier1 |
and make sure you don't mess up the formspec name fix :-) |
23:16 |
BlockMen |
damn, that is more complex than i hoped... |
23:17 |
Exio |
you wanted to change things in the client with a server-side command :P |
23:17 |
sapier1 |
:-) it's not that complicated I've it on my list for quite some time but didn't have time by now |
23:17 |
PilzAdam |
also an on_formspec_close() would be nice |
23:18 |
PilzAdam |
since you are already working in that part of the code... |
23:18 |
sapier1 |
not even my old bugs are fixed I wont add new ones to that code ;-) |
23:19 |
BlockMen |
PilzAdam, you are kidding? im glad i came so far already... |
23:20 |
BlockMen |
and do i send messages to client like here -> https://github.com/minetest/minetest/blob/master/src/server.cpp#L856 ? |
23:20 |
sapier1 |
and closing isn't as simple as opening ... currently never ever a form is closed without user interaction |
23:21 |
sapier1 |
last time I had a look at this I didn't even find a reference to the current open formspec. if I didn't miss it this would have to be added first |
23:22 |
kahrl_ |
BlockMen: look at Server::SendShowFormspecMessage |
23:22 |
BlockMen |
kahrl_, thx |
23:23 |
sapier1 |
sending the message is the easy part ;-) |
23:24 |
kahrl_ |
actually a list of currently open formspecs or can there only be one? |
23:24 |
sapier1 |
only one at a time on a client |
23:25 |
sapier1 |
currently there's a bug a formspecs name isn't updated if you send a new one, but gui is updated |
23:25 |
sapier1 |
thats what my changeset fixes |
23:25 |
kahrl_ |
oh, so you'd send a CE_CLOSE_FORMSPEC from the client to the main loop and close current_formspec there |
23:25 |
kahrl_ |
that would work, yes? |
23:25 |
sapier1 |
still as far as I know there is no reference or pointer to the open gui |
23:26 |
VanessaE |
kahrl_: regarding the out-of-indicies/too-many-verticies issue... would you mind testing it against something insane like the 'slopes' branch of homedecor, or those 'noncubic' type mods? |
23:26 |
sapier1 |
updating gui and formname works by updating guis content elements |
23:26 |
kahrl_ |
VanessaE: sure |
23:26 |
VanessaE |
thanks |
23:27 |
kahrl_ |
how many of the slopes would I have to place in a mapblock? |
23:27 |
VanessaE |
I would say around 30. |
23:27 |
VanessaE |
of the ones in homedecor that is |
23:27 |
kahrl_ |
Okay, that's doable |
23:27 |
VanessaE |
and place them up high |
23:27 |
VanessaE |
(the rendering glitch manifested itself as the uppermost polys disappearing as I panned down. |
23:28 |
BlockMen |
ok, i guess it was a bad idea to start that with my noob "skills"... |
23:28 |
BlockMen |
what is the peer_id (https://github.com/minetest/minetest/blob/master/src/server.cpp#L3453) and where i get it from? |
23:28 |
kahrl_ |
sapier1: in GUIFormSpecMenu::drawMenu it grabs the new formspec |
23:29 |
VanessaE |
BlockMen: everyone is a noob in the beginning. |
23:29 |
kahrl_ |
if that is an empty string, the menu could close itself |
23:30 |
VanessaE |
kahrl_: each slope, in my code, consists of 256 individual nodeboxes, so you can figure how many vertexes/indexes that is :) |
23:31 |
VanessaE |
(it would be a simple eight-poly node mesh, which RBA is working on, but I'm impatient. :D ) |
23:31 |
kahrl_ |
heh that's insane. I like insane |
23:31 |
VanessaE |
:DDD |
23:31 |
BlockMen |
VanessaE, nice words :P |
23:32 |
VanessaE |
BlockMen: my point is, don't let it get you down if you fail now - eventually you'll succeed. |
23:33 |
|
proller joined #minetest-dev |
23:35 |
BlockMen |
VanessaE, ya i know. but i can remember how much time it needs to learn...and i dont know if i will have the time(and will) for it |
23:35 |
BlockMen |
but we will see... |
23:36 |
BlockMen |
ok, what is the "peer_id" now? |
23:37 |
sapier1 |
you need to get it same way it's fetched for show_formspec |
23:38 |
VanessaE |
BlockMen: well time isn't much of an issue, if you can give even a few minutes at a time to learning a concept, you can learn it. Having the motivation or not, I can surely understand that. :-/ |
23:38 |
sapier1 |
it's just an identifier for a client ... it doesn't matter what it is in current implementation (at least not for your usecase) |
23:39 |
BlockMen |
ahh, there it comes from... |
23:40 |
sapier1 |
blockmen you'll never be finished with learing each of us (except those with really big egos) is still in learning phase ;-) |
23:42 |
BlockMen |
VanessaE, for me the time is a fact because i have alot other things to learn every day. but i agree that the motivation is the more important point |
23:42 |
BlockMen |
sapier, thats true. but the beginning sucks most (IMO). having a solid base is often enough :) |
23:43 |
sapier1 |
imho best thing to learn is to do mistakes :-) it's a hard way to learn but most effective one |
23:43 |
VanessaE |
BlockMen: the way I figure it, if you have time to spend chatting on IRC, you can find a few minutes to learn a craft as well - no one's life should be so crammed full of activities that they have no time to just relax and play. |
23:44 |
VanessaE |
it's neither physically nor socially healthy. |
23:44 |
sapier1 |
and of course relaxing is best way to get distance to recognize you're path to solution is actually directed in opposite direction ;-) |
23:44 |
VanessaE |
exactly |
23:45 |
BlockMen |
true. best solutions are found from distance :) |
23:45 |
VanessaE |
how many times have you been working diligently on a problem, only to be stonewalled for hours, until you sleep for a while. Then you wake up and the solution hits you in so obvious a way as to make you feel like a complete idiot :-) |
23:45 |
sapier1 |
I wouln't say this that general but at least for some situations distance helps |
23:46 |
BlockMen |
btw solutions: wouldnt it be alot easier to close a formspec when name = nil, like kahrl said here "kahrl_: if that is an empty string, the menu could close itself" (idk if he actually ment that) |
23:47 |
Exio |
VanessaE: well, that is how i program |
23:47 |
sapier1 |
would be an option to avoid adding a new message |
23:47 |
Exio |
i'm a whole day doing stuff |
23:47 |
Exio |
then when i wake up the other way |
23:47 |
sapier1 |
imho a good idea |
23:47 |
Exio |
i just remove the files, and write the "proper" code what is 10% or 15% of what it was and is far better, :D |
23:48 |
sapier1 |
"del" is programmers best friend ... removes bugs without need to find them first |
23:48 |
BlockMen |
sapier, then i will follow that way. but not today anymore... |
23:49 |
sapier1 |
you'll have to find a way to close the current formspec once you found it, remaining part is writing some text only |
23:50 |
BlockMen |
sapier1, when doin it that way i could just add that -> http://pastie.org/private/wabue9etdjqb5mhyfblg#910-913 |
23:50 |
BlockMen |
*and call it when formname = nil |
23:51 |
sapier1 |
not quite |
23:51 |
BlockMen |
not? why? |
23:52 |
sapier1 |
as long as a formspec is shown no new formspecmenu is created but the old one is updated |
23:52 |
sapier1 |
if you create a new one without cleaning up the old one you loose memory |
23:52 |
VanessaE |
kahrl_: so, did your video card blow up? ;) |
23:53 |
sapier1 |
wait |
23:53 |
sapier1 |
yes you could call the quit if you had the object to call it from |
23:54 |
|
jordan4ibanez joined #minetest-dev |
23:54 |
jordan4ibanez |
We need tin. |
23:54 |
BlockMen |
ok, you said when a formspec is open that one is just updated, right? |
23:55 |
sapier1 |
yes but it's updated in a quite strange way |
23:55 |
BlockMen |
so then void GUIFormSpecMenu::drawMenu() is called i guess |
23:55 |
BlockMen |
and that means i have the object, correct? |
23:55 |
sapier1 |
not the formspec itself is updated but the content |
23:55 |
sapier1 |
it's done this way because you don't actually have the formspec gui element |
23:56 |
BlockMen |
hmm, ic |
23:56 |
sapier1 |
I guess you need to change it so you actually have the formspec gui element available where you need it |
23:56 |
kahrl_ |
oh my lord the framerate |
23:57 |
kahrl_ |
it's so high |
23:57 |
kahrl_ |
http://imgur.com/wKgoflV |
23:57 |
kahrl_ |
that's 256 slopes |
23:57 |
sapier1 |
move your head from ground kahrl it'll drop :) |
23:57 |
VanessaE |
kahrl_: how's your ....ouch, drawtime = 75? |
23:58 |
kahrl_ |
nope, still around 12 FPS :D |
23:58 |
VanessaE |
that translates to what, around 5fps? :) |
23:59 |
VanessaE |
oh heh |
23:59 |
VanessaE |
what's your normal rate? |
23:59 |
kahrl_ |
around 60 |
23:59 |
VanessaE |
haha |
23:59 |
VanessaE |
well it's good to know they work |
23:59 |
VanessaE |
but I think long-term, that particular node is a dead idea :D |
23:59 |
kahrl_ |
interestingly the framerate dropped quick when I placed the first few nodes |
23:59 |
VanessaE |
but it makes for a good stress test :D |
23:59 |
kahrl_ |
but then it settled |