Chache reports: Regarding rotation, YL_livemap ... #6347

Closed
opened 2024-02-25 12:54:43 +00:00 by yourland-report · 32 comments

Chache reports a bug:

Regarding rotation, YL_livemapping maps behave the same exceptional way as hides and other few nodes - instead of the default behaviour. That means that if you place a YL map horizontally (for example as if placed on a table) it will only appear with the north of the map pointing east. If you try to rotate it, it will just cycle through the 6 sides of the node, but never rotate the face while staying horizontal. Suggestion: make the YL maps behave in the default manner when rotating.

Player position:

{
	z = -2765.8461914063,
	x = 2969.4880371094,
	y = 17.625
}

Player look:

{
	z = 0.033715531229973,
	x = 0.5658341050148,
	y = -0.82382953166962
}

Player information:

{
	minor = 8,
	state = "Active",
	major = 5,
	max_rtt = 6.6770000457764,
	ip_version = 6,
	min_rtt = 0.028999999165535,
	avg_rtt = 0.20100000500679,
	min_jitter = 0,
	max_jitter = 6.5900001525879,
	avg_jitter = 0.16899999976158,
	connection_uptime = 5026,
	serialization_version = 29,
	patch = 0,
	protocol_version = 42,
	version_string = "5.8.0",
	formspec_version = 7,
	lang_code = "es"
}

Player meta:

{
	fields = {
		placed_nodes = "638145",
		punch_count = "53584",
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_nether 1 34080\", \"3d_armor:chestplate_crystal 1 34060\", \"shields:shield_rainbow 1 13672\", \"3d_armor:leggings_crystal 1 34060\", \"3d_armor:boots_crystal 1 34160\", \"\"}",
		xp_redo_hud_color = "0xFFFF00",
		yl_commons_thankyou = "471",
		partychat = "party",
		["stamina:level"] = "13",
		["ocean_build.ocean_built"] = "12",
		["stamina:poisoned"] = "no",
		hud_state = "on",
		["stamina:exhaustion"] = "107.5",
		inflicted_damage = "1667564",
		repellant = "0",
		["ocean_build.last_warning"] = "1.65606e+09",
		["ocean_build.forbidden"] = "true",
		xp = "1565555",
		digged_nodes = "1261790",
		arenalib_infobox_arenaID = "0",
		jointime = "1645471717",
		bitten = "0",
		yl_commons_player_joined = "1708860671",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		played_time = "13364737",
		yl_commons_player_created = "1645471717",
		["signslib:pos"] = "(2927,13,-2745)",
		died = "14",
		crafted = "285127",
		yl_church = "return {[\"last_death_portal\"] = 1708692284, [\"last_heal\"] = 1653594577, [\"last_death\"] = {[\"y\"] = 27, [\"z\"] = -2131, [\"x\"] = 3229}}"
	}
}

Log identifier


[MOD] yl_report log identifier = mnqaW29Rc3X5eT704vB9nb6S79lcw4uj

Profiler save:

profile-20240225T125443.json_prettyEE

Status:

# Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 17h 31min 41s | max lag: 0.785s | clients (27/52): AliasAlreadyTaken, Aliza, Azelf, Bailiff, Bingo, Boot, Chache, Craftsman, daydream, der_c_aus_a, DragonWrangler1, florian, JeCel, JinnyC, LeetPeet, LilyBelle, lumberJack, Marat1ch, MineWorlds, Murmel, Penelopee, Ravise, Service, Sokomine, tagtraum, TimurHami, valli

Teleport command:

/teleport xyz 2969 18 -2766

Compass command:

/give_compass Construction mnqaW29Rc3X5eT704vB9nb6S79lcw4uj D2691E 2969 18 -2766
Chache reports a bug: > Regarding rotation, YL_livemapping maps behave the same exceptional way as hides and other few nodes - instead of the default behaviour. That means that if you place a YL map horizontally (for example as if placed on a table) it will only appear with the north of the map pointing east. If you try to rotate it, it will just cycle through the 6 sides of the node, but never rotate the face while staying horizontal. Suggestion: make the YL maps behave in the default manner when rotating. Player position: ``` { z = -2765.8461914063, x = 2969.4880371094, y = 17.625 } ``` Player look: ``` { z = 0.033715531229973, x = 0.5658341050148, y = -0.82382953166962 } ``` Player information: ``` { minor = 8, state = "Active", major = 5, max_rtt = 6.6770000457764, ip_version = 6, min_rtt = 0.028999999165535, avg_rtt = 0.20100000500679, min_jitter = 0, max_jitter = 6.5900001525879, avg_jitter = 0.16899999976158, connection_uptime = 5026, serialization_version = 29, patch = 0, protocol_version = 42, version_string = "5.8.0", formspec_version = 7, lang_code = "es" } ``` Player meta: ``` { fields = { placed_nodes = "638145", punch_count = "53584", ["3d_armor_inventory"] = "return {\"3d_armor:helmet_nether 1 34080\", \"3d_armor:chestplate_crystal 1 34060\", \"shields:shield_rainbow 1 13672\", \"3d_armor:leggings_crystal 1 34060\", \"3d_armor:boots_crystal 1 34160\", \"\"}", xp_redo_hud_color = "0xFFFF00", yl_commons_thankyou = "471", partychat = "party", ["stamina:level"] = "13", ["ocean_build.ocean_built"] = "12", ["stamina:poisoned"] = "no", hud_state = "on", ["stamina:exhaustion"] = "107.5", inflicted_damage = "1667564", repellant = "0", ["ocean_build.last_warning"] = "1.65606e+09", ["ocean_build.forbidden"] = "true", xp = "1565555", digged_nodes = "1261790", arenalib_infobox_arenaID = "0", jointime = "1645471717", bitten = "0", yl_commons_player_joined = "1708860671", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", played_time = "13364737", yl_commons_player_created = "1645471717", ["signslib:pos"] = "(2927,13,-2745)", died = "14", crafted = "285127", yl_church = "return {[\"last_death_portal\"] = 1708692284, [\"last_heal\"] = 1653594577, [\"last_death\"] = {[\"y\"] = 27, [\"z\"] = -2131, [\"x\"] = 3229}}" } } ``` Log identifier ``` [MOD] yl_report log identifier = mnqaW29Rc3X5eT704vB9nb6S79lcw4uj ``` Profiler save: ``` profile-20240225T125443.json_prettyEE ``` Status: ``` # Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 17h 31min 41s | max lag: 0.785s | clients (27/52): AliasAlreadyTaken, Aliza, Azelf, Bailiff, Bingo, Boot, Chache, Craftsman, daydream, der_c_aus_a, DragonWrangler1, florian, JeCel, JinnyC, LeetPeet, LilyBelle, lumberJack, Marat1ch, MineWorlds, Murmel, Penelopee, Ravise, Service, Sokomine, tagtraum, TimurHami, valli ``` Teleport command: ``` /teleport xyz 2969 18 -2766 ``` Compass command: ``` /give_compass Construction mnqaW29Rc3X5eT704vB9nb6S79lcw4uj D2691E 2969 18 -2766 ```
AliasAlreadyTaken was assigned by yourland-report 2024-02-25 12:54:43 +00:00
Member

Maps have

        drawtype = "signlike",
        paramtype2 = "wallmounted",

I guess that's just how they are?
Not sure what are the benefits though.

Maps have ``` drawtype = "signlike", paramtype2 = "wallmounted", ``` I guess that's just how they are? Not sure what are the benefits though.
AliasAlreadyTaken added the
1. kind/enhancement
label 2024-02-25 17:44:05 +00:00
Member

would have to set paramtype2 = "facedir". is there a reason why it's currently "wallmounted"?

would have to set `paramtype2 = "facedir"`. is there a reason why it's currently "wallmounted"?

would have to set paramtype2 = "facedir". is there a reason why it's currently "wallmounted"?

Yes, there is a very good cause: Because this was pretty much my very first mod. Apparently wallmounted was the first value that worked approximately the way I wanted. That's how it became the chosen one(tm). Means: If we can change it to fix this issue without requiring a migration, let's do.

> would have to set `paramtype2 = "facedir"`. is there a reason why it's currently "wallmounted"? Yes, there is a very good cause: Because this was pretty much my very first mod. Apparently wallmounted was the first value that worked approximately the way I wanted. That's how it became the chosen one(tm). Means: If we can change it to fix this issue without requiring a migration, let's do.
Member

without requiring a migration

i think it would require a migration, which could be handled by a very simple run-once LBM. i'll test it out and see.

> without requiring a migration i think it *would* require a migration, which could be handled by a very simple run-once LBM. i'll test it out and see.
Member
paramtype2 = "facedir"

    Supported drawtypes: "normal", "nodebox", "mesh"

Making a mesh shouldn't be too hard though...

``` paramtype2 = "facedir" Supported drawtypes: "normal", "nodebox", "mesh" ``` Making a mesh shouldn't be too hard though...

Aren't meshes the most expensive drawtype? Or does that depend on the mesh?

Aren't meshes the most expensive drawtype? Or does that depend on the mesh?
Member

Aren't meshes the most expensive drawtype? Or does that depend on the mesh?

I have no idea, but nodeboxes also work:

    minetest.register_node("yl_livemapping:" .. m_name .. "_ne_blank", {
        description = "Northeast " .. m_description,
        _doc_items_create_entry = false,
        drawtype = "nodebox",
        tiles = {
            "default_dirt.png",    
            "default_dirt.png",
            "default_dirt.png",
            "default_dirt.png",    
            "default_dirt.png",
            "yl_" .. m_name .. "_ne.png",
        },
        is_ground_content = false,
        inventory_image = "yl_" .. m_name .. "_ne.png",
        wield_image = "yl_" .. m_name .. "_ne.png",
        paramtype = "light",
        paramtype2 = "facedir",
        walkable = false,
        climbable = true,
        sunlight_propagates = false,
        node_box = {
            type = "fixed",
            fixed = {
                { -0.5, -0.5, (0.5 - 1 / 16), 0.5, 0.5, 0.5 }, 
            }
        },
        groups = {
            choppy = 2,
            flammable = 2
        }
        -- on_rightclick = swap_on_rightclick,
    })

image

> Aren't meshes the most expensive drawtype? Or does that depend on the mesh? I have no idea, but nodeboxes also work: ```lua minetest.register_node("yl_livemapping:" .. m_name .. "_ne_blank", { description = "Northeast " .. m_description, _doc_items_create_entry = false, drawtype = "nodebox", tiles = { "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "yl_" .. m_name .. "_ne.png", }, is_ground_content = false, inventory_image = "yl_" .. m_name .. "_ne.png", wield_image = "yl_" .. m_name .. "_ne.png", paramtype = "light", paramtype2 = "facedir", walkable = false, climbable = true, sunlight_propagates = false, node_box = { type = "fixed", fixed = { { -0.5, -0.5, (0.5 - 1 / 16), 0.5, 0.5, 0.5 }, } }, groups = { choppy = 2, flammable = 2 } -- on_rightclick = swap_on_rightclick, }) ``` ![image](/attachments/37364982-e774-43c6-9fbc-cb8950df0f45)
234 KiB
Member

i'm already working on this. i'm still banging my head on the logic to correctly orient the map when it's placed, though.

i'm already working on this. i'm still banging my head on the logic to correctly orient the map when it's placed, though.
Member

i'm already working on this. i'm still banging my head on the logic to correctly orient the map when it's placed, though.

You mean, convert param2?
They seem to orient on placement ok with my definition (but always vertical)

And to convert rotations here's this:
https://github.com/minetest/minetest/blob/master/doc/lua_api.md#item-handling

> i'm already working on this. i'm still banging my head on the logic to correctly orient the map when it's placed, though. You mean, convert param2? They seem to orient on placement ok with my definition (but always vertical) And to convert rotations here's this: https://github.com/minetest/minetest/blob/master/doc/lua_api.md#item-handling
Member

the nodebox i'm using is

{-0.5, -0.5 + (1/16), -0.5, 0.5, -0.5 + (1/16), 0.5}

using this, i can get away with only specifying one texture (no need for dirt around the edges). the map appears to "float" above the wall a little bit, but that's what they do currently.

i'm also putting the map orthogonal to the "y axis", so that rotating it with the screwdriver works sanely.

the nodebox i'm using is ```lua {-0.5, -0.5 + (1/16), -0.5, 0.5, -0.5 + (1/16), 0.5} ``` using this, i can get away with only specifying one texture (no need for dirt around the edges). the map appears to "float" above the wall a little bit, but that's what they do currently. i'm also putting the map orthogonal to the "y axis", so that rotating it with the screwdriver works sanely.
Member

using this, i can get away with only specifying one texture (no need for dirt around the edges). the map appears to "float" above the wall a little bit, but that's what they do currently.

I think having some material for the backing (maybe wood? cloth? paper? anything...) would look better than floating map...

i'm also putting the map orthogonal to the "y axis", so that rotating it with the screwdriver works sanely.

I see... but I always expect weirdness from screwdriver and just use rhotator, which works fine here.

> using this, i can get away with only specifying one texture (no need for dirt around the edges). the map appears to "float" above the wall a little bit, but that's what they do currently. I think having some material for the backing (maybe wood? cloth? paper? anything...) would look better than floating map... > > i'm also putting the map orthogonal to the "y axis", so that rotating it with the screwdriver works sanely. I see... but I always expect weirdness from screwdriver and just use rhotator, which works fine here.
Member

rhotator, which works fine here.

no-one has ever been able to convince me that the rhotator is a suitable replacement for the screwdriver. if you're standing in one place,or only some faces of the node are visible, there's just no way to achieve certain results.

> rhotator, which works fine here. no-one has ever been able to convince me that the rhotator is a suitable replacement for the screwdriver. if you're standing in one place,or only some faces of the node are visible, there's just no way to achieve certain results.
Member

I think having some material for the backing (maybe wood? cloth? paper? anything...) would look better than floating map...

i think i agree, but no-one has requested such a feature, and someone might complain, because people complain about every minor change...

> I think having some material for the backing (maybe wood? cloth? paper? anything...) would look better than floating map... i think i agree, but no-one has requested such a feature, and someone might complain, because people complain about every minor change...

They might have a legit usecase we haven't thought of, but We are making changes. your-land/bugtracker#3039

They might have a legit usecase we haven't thought of, but We are making changes. your-land/bugtracker#3039

If you'll excuse the short off-topic:

no-one has ever been able to convince me that the rhotator is a suitable replacement for the screwdriver. if you're standing in one place,or only some faces of the node are visible, there's just no way to achieve certain results.

Using only the rotating feature of the Rhotator it's not possible, but combining that with the "push closest edge" feature, all 24 combinations of a single node's position+orientation should be achievable even if there's only one face visible.

If you'll excuse the short off-topic: > no-one has ever been able to convince me that the rhotator is a suitable replacement for the screwdriver. if you're standing in one place,or only some faces of the node are visible, there's just no way to achieve certain results. Using only the rotating feature of the Rhotator it's not possible, but combining that with the "push closest edge" feature, all 24 combinations of a single node's position+orientation should be achievable even if there's only one face visible.
Member

Using only the rotating feature of the Rhotator it's not possible, but combining that with the "push closest edge" feature, all 24 combinations of a single node's position+orientation should be achievable even if there's only one face visible.

Does not work for nodes that don't have an edge you can push in some orientations. I don't think you can orient this thin map box with it's back to you (if only one face is accessible)

> Using only the rotating feature of the Rhotator it's not possible, but combining that with the "push closest edge" feature, all 24 combinations of a single node's position+orientation should be achievable even if there's only one face visible. Does not work for nodes that don't have an edge you can push in some orientations. I don't think you can orient this thin map box with it's back to you (if only one face is accessible)
Member

finally got around to finishing this: 4eb6fdc656

currently the maps do not have "side" textures as in whosit's implementation. if alias approves, i could add one.

i also haven't fully tested the conversion orientations, but it's working for the main map in haven.

finally got around to finishing this: https://gitea.your-land.de/your-land/yl_livemapping/commit/4eb6fdc656f5be62612b359a0f3e231e61d8ba72 currently the maps do *not* have "side" textures as in whosit's implementation. if alias approves, i could add one. i also haven't fully tested the conversion orientations, but it's working for the main map in haven.

Ready for QA? :D

Ready for QA? :D
flux added the
4. step/ready to QA test
label 2024-03-08 00:57:24 +00:00
Member

yes

yes
Member

Maravillosa maps got flipped
screenshot_20240308_211445.png

/teleport xyz 39 4 22463

Maravillosa maps got flipped ![screenshot_20240308_211445.png](/attachments/d8495650-601e-4710-8689-c78f657a2382) `/teleport xyz 39 4 22463`

better hope a certain soko won't mind the maps being hung by a single nail on each piece

better hope a certain soko won't mind the maps being hung by a single nail on each piece

Sounds like QA:NOK?

Sounds like QA:NOK?
AliasAlreadyTaken added this to the 1.1.123 milestone 2024-03-08 23:35:12 +00:00
whosit added the
ugh/QA NOK
label 2024-03-08 23:56:20 +00:00
Member

Sounds like QA:NOK?

yes i'm gonna have to recheck the LBM. ugh. that's tedious.

> Sounds like QA:NOK? yes i'm gonna have to recheck the LBM. ugh. that's tedious.

QA

PdS maps as well

grafik

QA PdS maps as well ![grafik](/attachments/92326848-384a-4929-b5bf-ef2e50d30626)
452 KiB
Member

image

that means the LBM wasn't even run....

testing locally, it works correctly in all directions:

image

and it looks fine on the test server to me currently, and has param2=17:

image

possibly lag and the LBM just hadn't run yet?

![image](/attachments/018566a5-f37c-432d-80b5-95ee03d058c6) that means the LBM wasn't even run.... testing locally, it works correctly in all directions: ![image](/attachments/4a731d5a-dc2c-4d40-8197-d4e6cb425f90) and it looks fine on the test server to me currently, and has `param2=17`: ![image](/attachments/6ef1a51d-101a-40f0-9e95-170f4d6373e6) possibly lag and the LBM just hadn't run yet?
6.9 KiB
358 KiB
456 KiB
Member

I noticed those after spending lots of time there trying to figure out it's the tiny croc causing client stutter...
But server has been restarted since then, so I have no idea honestly.

I noticed those after spending lots of time there trying to figure out it's the tiny croc causing client stutter... But server has been restarted since then, so I have no idea honestly.
Member

PdS map is still broken though... but it has param2=5, so that means the LBM also hasn't run there yet either? but it's not running while i'm sitting there looking....

PdS map is still broken though... but it has `param2=5`, so that means the LBM *also* hasn't run there yet either? but it's not running while i'm sitting there looking....
Member

visited a number of other cities, and the maps were broken in all of them.

maybe try removing yl_livemapping:convert_to_facedir~24623515; (or whatever number you get) from $worldpath/env_meta.txt? i have no idea why the LBM might not be running.

visited a number of other cities, and the maps were broken in all of them. maybe try removing `yl_livemapping:convert_to_facedir~24623515;` (or whatever number you get) from `$worldpath/env_meta.txt`? i have no idea why the LBM might not be running.

Maybe the LBM did run - twice and more? It cannot know the "correct" orientation, right?

Maybe the LBM did run - twice and more? It cannot know the "correct" orientation, right?
Member

Maybe the LBM did run - twice and more? It cannot know the "correct" orientation, right?

it only modifies the param2 value if it's 0, 1, 2, 3, 4, or 5, and none of the resulting values are any of those, so it can be run repeatedly and still produce the same results. it's just luck that it worked out like that.

> Maybe the LBM did run - twice and more? It cannot know the "correct" orientation, right? it only modifies the param2 value if it's 0, 1, 2, 3, 4, or 5, and none of the resulting values are any of those, so it can be run repeatedly and still produce the same results. it's just luck that it worked out like that.
AliasAlreadyTaken removed the
ugh/QA NOK
label 2024-03-12 02:00:11 +00:00

QA

No way. proverb of my grandfather: "Wenn mans richtig macht, dann funktionierts auch."

More or less: "If you do it right, it works."

QA No way. proverb of my grandfather: "Wenn mans richtig macht, dann funktionierts auch." More or less: "If you do it right, it works."
AliasAlreadyTaken added the
ugh/QA OK
label 2024-03-12 02:31:55 +00:00
flux removed the
4. step/ready to QA test
label 2024-03-28 22:50:08 +00:00
AliasAlreadyTaken was unassigned by flux 2024-03-28 22:50:11 +00:00
Member

live

live
flux closed this issue 2024-03-28 22:50:21 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#6347
No description provided.