mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-08-20 09:57:09 +00:00
Merge branch 'main' of https://github.com/piebotc/LegacyEvolved
This commit is contained in:
commit
ed38461e15
|
|
@ -1,41 +0,0 @@
|
||||||
import struct
|
|
||||||
import xml.etree.ElementTree as ET
|
|
||||||
|
|
||||||
def write_utf_string(f, s):
|
|
||||||
# Format DataOutputStream: 2 byte lenght + string
|
|
||||||
binary_str = s.encode('utf-8')
|
|
||||||
f.write(struct.pack('>H', len(binary_str)))
|
|
||||||
f.write(binary_str)
|
|
||||||
|
|
||||||
def convert_xml_to_col(xml_file, output_col):
|
|
||||||
try:
|
|
||||||
tree = ET.parse(xml_file)
|
|
||||||
root = tree.getroot()
|
|
||||||
|
|
||||||
colours = []
|
|
||||||
for colour in root.findall('colour'):
|
|
||||||
name = colour.get('name')
|
|
||||||
value_str = colour.get('value')
|
|
||||||
|
|
||||||
# Convert hex to int
|
|
||||||
value_int = int(value_str, 16)
|
|
||||||
colours.append((name, value_int))
|
|
||||||
|
|
||||||
with open(output_col, 'wb') as f:
|
|
||||||
# Header: Version1 + colour counter
|
|
||||||
f.write(struct.pack('>I', 1))
|
|
||||||
f.write(struct.pack('>I', len(colours)))
|
|
||||||
|
|
||||||
for name, value in colours:
|
|
||||||
write_utf_string(f, name)
|
|
||||||
# 'I' (unsigned int) to avoid error 2 miliardi
|
|
||||||
f.write(struct.pack('>I', value))
|
|
||||||
|
|
||||||
print(f"Success! Created: {output_col} with {len(colours)} colors.")
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print(f"Error during conversion: {e}")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
# Make sure file name is "colours.xml"
|
|
||||||
convert_xml_to_col('colours.xml', 'colours.col')
|
|
||||||
|
|
@ -258,41 +258,41 @@ bool ScatteredFeaturePieces::DesertPyramidPiece::postProcess(Level *level, Rando
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, width - 5, 1, z, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, width - 5, 1, z, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, width - 5, 2, z, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, width - 5, 2, z, chunkBB);
|
||||||
}
|
}
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 7, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 7, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 8, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 8, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 9, 0, 9, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 9, 0, 9, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 11, 0, 9, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 0, 9, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 8, 0, 10, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 8, 0, 10, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 12, 0, 10, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 12, 0, 10, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 7, 0, 10, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 7, 0, 10, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 13, 0, 10, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 13, 0, 10, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 9, 0, 11, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 9, 0, 11, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 11, 0, 11, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 0, 11, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 12, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 12, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 13, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 13, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, blue, 10, 0, 10, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, blue, 10, 0, 10, chunkBB);
|
||||||
|
|
||||||
// outdoor decoration
|
// outdoor decoration
|
||||||
for (int x = 0; x <= width - 1; x += width - 1)
|
for (int x = 0; x <= width - 1; x += width - 1)
|
||||||
{
|
{
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 2, 1, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 2, 1, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 2, 2, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 2, 2, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 2, 3, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 2, 3, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 3, 1, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 3, 1, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 3, 2, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 3, 2, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 3, 3, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 3, 3, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 4, 1, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 4, 1, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 4, 2, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 4, 2, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 4, 3, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 4, 3, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 5, 1, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 5, 1, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 5, 2, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 5, 2, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 5, 3, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 5, 3, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 6, 1, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 6, 1, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 6, 2, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 6, 2, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 6, 3, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 6, 3, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 1, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 1, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 2, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 2, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 3, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 3, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 1, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 1, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 2, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 2, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 3, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 3, chunkBB);
|
||||||
|
|
@ -300,23 +300,23 @@ bool ScatteredFeaturePieces::DesertPyramidPiece::postProcess(Level *level, Rando
|
||||||
for (int x = 2; x <= width - 3; x += width - 3 - 2)
|
for (int x = 2; x <= width - 3; x += width - 3 - 2)
|
||||||
{
|
{
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 2, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 2, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 2, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 2, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 2, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 2, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 3, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 3, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 3, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 3, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 3, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 3, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x - 1, 4, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x - 1, 4, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 4, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 4, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x + 1, 4, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x + 1, 4, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 5, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 5, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 5, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 5, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 5, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 5, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x - 1, 6, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x - 1, 6, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 6, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, x, 6, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x + 1, 6, 00, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x + 1, 6, 00, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x - 1, 7, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x - 1, 7, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x + 1, 7, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x + 1, 7, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 8, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x - 1, 8, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x, 8, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 8, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, x + 1, 8, 0, chunkBB);
|
||||||
|
|
@ -324,9 +324,9 @@ bool ScatteredFeaturePieces::DesertPyramidPiece::postProcess(Level *level, Rando
|
||||||
generateBox(level, chunkBB, 8, 4, 0, 12, 6, 0, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, false);
|
generateBox(level, chunkBB, 8, 4, 0, 12, 6, 0, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, false);
|
||||||
placeBlock(level, 0, 0, 8, 6, 0, chunkBB);
|
placeBlock(level, 0, 0, 8, 6, 0, chunkBB);
|
||||||
placeBlock(level, 0, 0, 12, 6, 0, chunkBB);
|
placeBlock(level, 0, 0, 12, 6, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 9, 5, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 9, 5, 0, chunkBB);
|
||||||
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, 10, 5, 0, chunkBB);
|
placeBlock(level, Tile::sandStone_Id, SandStoneTile::TYPE_HEIROGLYPHS, 10, 5, 0, chunkBB);
|
||||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 11, 5, 0, chunkBB);
|
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 5, 0, chunkBB);
|
||||||
|
|
||||||
// tombs
|
// tombs
|
||||||
generateBox(level, chunkBB, 8, -14, 8, 12, -11, 12, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, false);
|
generateBox(level, chunkBB, 8, -14, 8, 12, -11, 12, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, Tile::sandStone_Id, SandStoneTile::TYPE_SMOOTHSIDE, false);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue