mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-19 22:43:32 +00:00
Fixes and enhancements from my MCPE repository. (https://github.com/mschiller890/mcpe64)
This commit is contained in:
@@ -283,8 +283,7 @@ SelectWorldScreen::SelectWorldScreen()
|
||||
bHeader (0, "Select world"),
|
||||
bWorldView(4, ""),
|
||||
worldsList(NULL),
|
||||
_hasStartedLevel(false),
|
||||
_state(_STATE_DEFAULT)
|
||||
_hasStartedLevel(false)
|
||||
{
|
||||
bDelete.active = false;
|
||||
|
||||
@@ -349,9 +348,9 @@ void SelectWorldScreen::setupPositions() {
|
||||
void SelectWorldScreen::buttonClicked(Button* button)
|
||||
{
|
||||
if (button->id == bCreate.id) {
|
||||
if (_state == _STATE_DEFAULT && !_hasStartedLevel) {
|
||||
minecraft->platform()->createUserInput(DialogDefinitions::DIALOG_CREATE_NEW_WORLD);
|
||||
_state = _STATE_CREATEWORLD;
|
||||
if (!_hasStartedLevel) {
|
||||
std::string name = getUniqueLevelName("World");
|
||||
minecraft->setScreen(new SimpleChooseLevelScreen(name));
|
||||
}
|
||||
}
|
||||
if (button->id == bDelete.id) {
|
||||
@@ -392,9 +391,10 @@ static char ILLEGAL_FILE_CHARACTERS[] = {
|
||||
|
||||
void SelectWorldScreen::tick()
|
||||
{
|
||||
#if 0
|
||||
if (_state == _STATE_CREATEWORLD) {
|
||||
#if defined(RPI)
|
||||
std::string levelId = getUniqueLevelName("perf");
|
||||
std::string levelId = getUniqueLevelName("World");
|
||||
//int seed = Util::hashCode("/r/Minecraft");
|
||||
LevelSettings settings(getEpochTimeS(), GameType::Creative);
|
||||
minecraft->selectLevel(levelId, levelId, settings);
|
||||
@@ -402,7 +402,7 @@ void SelectWorldScreen::tick()
|
||||
minecraft->setScreen(new ProgressScreen());
|
||||
_hasStartedLevel = true;
|
||||
#elif defined(PLATFORM_DESKTOP)
|
||||
std::string name = getUniqueLevelName("perf");
|
||||
std::string name = getUniqueLevelName("World");
|
||||
minecraft->setScreen(new SimpleChooseLevelScreen(name));
|
||||
#else
|
||||
int status = minecraft->platform()->getUserInputStatus();
|
||||
@@ -461,14 +461,15 @@ void SelectWorldScreen::tick()
|
||||
worldsList->hasPickedLevel = false;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
worldsList->tick();
|
||||
|
||||
if (worldsList->hasPickedLevel) {
|
||||
if (worldsList->pickedIndex == worldsList->levels.size()) {
|
||||
worldsList->hasPickedLevel = false;
|
||||
minecraft->platform()->createUserInput(DialogDefinitions::DIALOG_CREATE_NEW_WORLD);
|
||||
_state = _STATE_CREATEWORLD;
|
||||
std::string name = getUniqueLevelName("World");
|
||||
minecraft->setScreen(new SimpleChooseLevelScreen(name));
|
||||
} else {
|
||||
minecraft->selectLevel(worldsList->pickedLevel.id, worldsList->pickedLevel.name, LevelSettings::None());
|
||||
minecraft->hostMultiplayer();
|
||||
|
||||
Reference in New Issue
Block a user