mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-06-17 06:52:54 +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_HEIROGLYPHS, width - 5, 2, z, chunkBB);
|
||||
}
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 7, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 8, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 9, 0, 9, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 11, 0, 9, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 8, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 12, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 7, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 13, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 9, 0, 11, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 11, 0, 11, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 12, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, 10, 0, 13, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, blue, 10, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 7, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 8, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 9, 0, 9, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 0, 9, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 8, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 12, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 7, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 13, 0, 10, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 9, 0, 11, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 0, 11, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 12, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 10, 0, 13, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, blue, 10, 0, 10, chunkBB);
|
||||
|
||||
// outdoor decoration
|
||||
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::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, 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::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::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::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::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::wool_Id, baseDecoColor, x, 6, 3, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 1, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 2, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x, 7, 3, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 6, 3, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 1, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 7, 2, 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, 2, 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)
|
||||
{
|
||||
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, 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::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::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::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::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::wool_Id, baseDecoColor, x + 1, 6, 00, chunkBB);
|
||||
placeBlock(level, Tile::wool_Id, baseDecoColor, x - 1, 7, 0, chunkBB);
|
||||
placeBlock(level, Tile::wool_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, 6, 00, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x - 1, 7, 0, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, x, 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, 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);
|
||||
placeBlock(level, 0, 0, 8, 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::wool_Id, baseDecoColor, 11, 5, 0, chunkBB);
|
||||
placeBlock(level, Tile::clayHardened_colored_Id, baseDecoColor, 11, 5, 0, chunkBB);
|
||||
|
||||
// tombs
|
||||
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