@@ -437,14 +437,30 @@ end
437
437
438
438
---- ----------------------------------------------------------------------------
439
439
function tabbuilder .dialog_create_world ()
440
+ local mapgens = {" v6" , " v7" , " indev" , " singlenode" , " math" }
441
+
442
+ local current_mg = engine .setting_get (" mg_name" )
443
+
444
+ local mglist = " "
445
+ local selindex = 1
446
+ local i = 1
447
+ for k ,v in pairs (mapgens ) do
448
+ if current_mg == v then
449
+ selindex = i
450
+ end
451
+ i = i + 1
452
+ mglist = mglist .. v .. " ,"
453
+ end
454
+ mglist = mglist :sub (1 , - 2 )
455
+
440
456
local retval =
441
457
" label[2,0;World name]" ..
442
458
" label[2,1;Mapgen]" ..
443
459
" field[4.5,0.4;6,0.5;te_world_name;;]" ..
444
460
" label[2,2;Game]" ..
445
461
" button[5,4.5;2.6,0.5;world_create_confirm;Create]" ..
446
462
" button[7.5,4.5;2.8,0.5;world_create_cancel;Cancel]" ..
447
- " dropdown[4.2,1;6.3;dd_mapgen;v6,v7,indev,singlenode,math;1] " .. -- TODO read from minetest
463
+ " dropdown[4.2,1;6.3;dd_mapgen;" .. mglist .. " ; " .. selindex .. " ] " ..
448
464
" textlist[4.2,1.9;5.8,2.3;games;" ..
449
465
gamemgr .gamelist () ..
450
466
" ;" .. menu .last_game .. " ;true]"
@@ -534,16 +550,12 @@ function tabbuilder.handle_create_world_buttons(fields)
534
550
for i = 1 ,# worldlist ,1 do
535
551
if worldlist [i ].name == worldname then
536
552
index = i
537
- print (" found new world index: " .. index )
538
553
break
539
554
end
540
555
end
541
-
542
- if tabbuilder .current_tab == " singleplayer" then
543
- engine .setting_set (" main_menu_singleplayer_world_idx" ,index )
544
- else
545
- menu .last_world = index
546
- end
556
+
557
+ engine .setting_set (" main_menu_singleplayer_world_idx" , index )
558
+ menu .last_world = index
547
559
end
548
560
else
549
561
gamedata .errormessage = " No worldname given or no game selected"
@@ -805,7 +817,7 @@ function tabbuilder.handle_singleplayer_buttons(fields)
805
817
if selected > 0 then
806
818
gamedata .selected_world = menu .filtered_index_to_plain (selected )
807
819
gamedata .singleplayer = true
808
-
820
+
809
821
engine .setting_set (" main_menu_tab" ,tabbuilder .current_tab )
810
822
engine .setting_set (" main_menu_singleplayer_world_idx" ,selected )
811
823
@@ -1023,7 +1035,7 @@ end
1023
1035
---- ----------------------------------------------------------------------------
1024
1036
function tabbuilder .tab_singleplayer ()
1025
1037
local index = engine .setting_get (" main_menu_singleplayer_world_idx" )
1026
-
1038
+
1027
1039
if index == nil then
1028
1040
index = 0
1029
1041
end
0 commit comments