Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Custom World Generation Options For New Worlds. #1935

Merged
merged 7 commits into from
Aug 2, 2024

Conversation

RussDev7
Copy link
Member

@RussDev7 RussDev7 commented Jul 30, 2024

Added Custom World Generation Options For New Worlds!

In this PR, I have added a ton of new features to the UI for the "New World" dialog. It includes various controls to set parameters for world generation, including hills, caves, underworld features, and ores.

NewGUI

Features

World Properties - (unchanged)

  • World Name: Input for the name of the world.
  • World Id (Seed): Input for the seed value.
  • Width & Height: Sliders to adjust the dimensions of the world.
  • Surface Level: Slider to set the surface level of the world.
  • Cavern Level: Slider to set the cavern level of the world.

Hills - new!

  • Hill Terrain Size: Slider to adjust the size of hill terrain.
  • Add Grass: Checkbox to enable/disable grass generation on hills.
  • Add Walls: Checkbox to enable/disable wall generation.

Caves - new!

  • Generate Caves (slow): Checkbox to enable/disable cave generation.
  • Cave Preset: ComboBox to select cave presets.
  • Include Surface: Checkbox to include the surface in cave generation.
  • Cave Noise, Cave Multiplier, Cave Density Chance: Sliders to adjust cave generation parameters.

Underworld - new!

  • Generate Underworld: Checkbox to enable/disable underworld generation.
  • Add Ash: Checkbox to add ash in the underworld.
  • Add Lava: Checkbox to add lava in the underworld.
  • Roof Noise, Floor Noise, Lava Noise: Sliders to adjust noise parameters in the underworld.

Ores - new!

  • Generate Ores: Checkbox to enable ore generation. Note: This launches the ore generation plugin.

Bottom Buttons - (unchanged)

  • Cancel & Ok Buttons: Buttons for canceling or confirming the world creation process.

TEdit-CustomWorldGen

Conclusion

This now knocks Ore, Caves, Hills, & Hell (Underworld) off the list for #1262.

Missing Tile In MapColors.xml

I have adding tile ID 0 (dirt) to the mapcolors xml file. Embarrassing oversight on my behalf, I know!

<Colors>
    <Tiles>
        <Tile Id="0" Name="Dirt" Paint="0" Color="#FF976B4B" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="1" Color="#FF970000" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="2" Color="#FF974B00" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="3" Color="#FF979700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="4" Color="#FF4B9700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="5" Color="#FF009700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="6" Color="#FF00974B" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="7" Color="#FF009797" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="8" Color="#FF004B97" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="9" Color="#FF000097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="10" Color="#FF4B0097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="11" Color="#FF970097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="12" Color="#FF97004B" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="13" Color="#FF970000" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="14" Color="#FF974B00" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="15" Color="#FF979700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="16" Color="#FF4B9700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="17" Color="#FF009700" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="18" Color="#FF00974B" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="19" Color="#FF009797" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="20" Color="#FF004B97" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="21" Color="#FF000097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="22" Color="#FF4B0097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="23" Color="#FF970097" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="24" Color="#FF97004B" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="25" Color="#FF2C2C2C" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="26" Color="#FF979797" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="27" Color="#FF676767" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="28" Color="#FF97694A" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="29" Color="#FF020202" BuildSafe="True" />
        <Tile Id="0" Name="Dirt" Paint="30" Color="#FF6894B4" BuildSafe="True" />
    </Tiles>
</Colors>

Added a Cancel Rendering Feature To The ImagePixelartEditor Plugin

I have added a simple feature to this plugin that allows users to cancel the rendering operation mid-processing. This is useful incase you accidently start it or its taking longer then expected and you want to make some changes.

  • I have also fixed the progress bar being disabled during operation.

TEdit-CanclePixGenOps

@RussDev7 RussDev7 added Feature Epic Extra-large body of work. Done ✅ labels Jul 30, 2024
@BinaryConstruct
Copy link
Collaborator

So, a little note on the [Reactive] attribute, you don't need it if you are setting up full properties and manually calling RaiseAndSetIfChanged. It is really for auto properties and injects the Raise and backing fields to the compiled code so you don't have to add all that. https://www.reactiveui.net/docs/handbook/view-models/boilerplate-code.html

@RussDev7
Copy link
Member Author

Thanks for the information! I have gone and fixed those attributes!

@BinaryConstruct BinaryConstruct merged commit 4c86628 into TEdit:main Aug 2, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Done ✅ Epic Extra-large body of work. Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants