Skip to content

Commit

Permalink
EditorConfig + refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
neon-dev committed May 6, 2024
1 parent 3705dd3 commit e0ce837
Show file tree
Hide file tree
Showing 5 changed files with 300 additions and 23 deletions.
265 changes: 265 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = false
max_line_length = 150
trim_trailing_whitespace = false
ij_continuation_indent_size = 2
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides =
ij_wrap_on_typing = false

[*.java]
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = true
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = true
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = true
ij_java_align_multiline_resources = true
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = true
ij_java_annotation_parameter_wrap = normal
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = true
ij_java_binary_operation_wrap = normal
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 0
ij_java_block_brace_style = end_of_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods =
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = end_of_line
ij_java_class_count_to_use_import_on_demand = 5
ij_java_class_names_in_javadoc = 1
ij_java_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = never
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = true
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = false
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_enum_constants_wrap = split_into_lines
ij_java_enum_field_annotation_wrap = split_into_lines
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = off
ij_java_field_annotation_wrap = split_into_lines
ij_java_finally_on_new_line = false
ij_java_for_brace_force = never
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 2
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 2
ij_java_keep_blank_lines_in_declarations = 2
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = false
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = false
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = true
ij_java_keep_simple_lambdas_in_one_line = false
ij_java_keep_simple_methods_in_one_line = false
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = true
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = end_of_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 2
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
ij_java_new_line_after_lparen_in_record_header = false
ij_java_new_line_when_body_is_presented = false
ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = true
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = split_into_lines
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
ij_java_rparen_on_new_line_in_record_header = false
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = true
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = true
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = true
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_switch_expressions_wrap = normal
ij_java_ternary_operation_signs_on_next_line = true
ij_java_ternary_operation_wrap = normal
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = off
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = split_into_lines
ij_java_while_brace_force = never
ij_java_while_on_new_line = false
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
ij_java_wrap_semicolon_after_call_chain = false
19 changes: 11 additions & 8 deletions src/main/java/com/aionemu/geobuilder/AionLevelsProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,21 @@
import com.aionemu.geobuilder.meshData.MeshFace;
import com.aionemu.geobuilder.meshData.ObjectMeshData;
import com.aionemu.geobuilder.pakaccessor.PakFile;
import com.aionemu.geobuilder.utils.BinaryXmlParser;
import com.aionemu.geobuilder.utils.Matrix4f;
import com.aionemu.geobuilder.utils.PathSanitizer;
import com.aionemu.geobuilder.utils.Vector3;
import com.aionemu.geobuilder.utils.XmlParser;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.converters.PathConverter;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

import java.io.*;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ShortBuffer;
import java.nio.charset.StandardCharsets;
Expand Down Expand Up @@ -120,8 +123,8 @@ protected void process() {

int materialsCount = CgfLoader.loadMaterials(clientPath);
log.info("Found " + materialsCount + " materials");
Map<String, Short> houseAdresses = loadHouseAddresses();
processLevels(levels, houseAdresses);
Map<String, Short> houseAddresses = loadHouseAddresses();
processLevels(levels, houseAddresses);
Thread terrainTask = Thread.startVirtualThread(() -> createTerrains(outPath, levels));
List<Path> meshPaks = collectMeshFilePaths();
createMeshes(outPath, meshPaks, levels);
Expand Down Expand Up @@ -151,7 +154,7 @@ private List<LevelData> findLevelsToProcess() throws JDOMException, IOException
log.fine("Found " + levelsByName.size() + " levels in " + levelsRootFolder);

// read client maps
Document document = worldIdPath == null ? BinaryXmlParser.parse(getClientWorldIdFile()) : new SAXBuilder().build(worldIdPath.toFile());
Document document = worldIdPath == null ? XmlParser.parse(getClientWorldIdFile()) : new SAXBuilder().build(worldIdPath.toFile());
Element rootNode = document.getRootElement();
boolean clientXml = rootNode.getName().equalsIgnoreCase("world_id");
List<Element> worldIdXmlLevels = clientXml ? rootNode.getChildren("data") : rootNode.getChildren("map");
Expand Down Expand Up @@ -190,14 +193,14 @@ private List<LevelData> findLevelsToProcess() throws JDOMException, IOException

private Map<String, Short> loadHouseAddresses() throws IOException {
log.info("Loading available house addresses\r");
Document document = BinaryXmlParser.parse(getClientHouseAddressFile());
Document document = XmlParser.parse(getClientHouseAddressFile());
Element rootNode = document.getRootElement();
Map<String, Short> addressIdsByName = new HashMap<>();
for (Element address : rootNode.getChildren("client_housing_address")) {
String name = address.getChildText("name");
short id = Short.parseShort(address.getChildText("id"));
if (addressIdsByName.putIfAbsent(name, id) != null)
log.warning("Duplicate house name in client_housing_adress.xml: " + name);
log.warning("Duplicate house name in client_housing_address.xml: " + name);
}
log.info("Found " + addressIdsByName.size() + " house addresses");
return addressIdsByName;
Expand Down Expand Up @@ -255,7 +258,7 @@ private void parseLevelPak(LevelData level, Map<String, Short> houseAddresses) {
}

private void parseLevelData(ByteBuffer leveldataXml, LevelData level) throws Exception {
Element rootNode = new SAXBuilder().build(new ByteArrayInputStream(leveldataXml.array())).getRootElement();
Element rootNode = XmlParser.parse(leveldataXml).getRootElement();
Element levelInfo = rootNode.getChild("LevelInfo");
int heightmapXSize = levelInfo.getAttribute("HeightmapXSize").getIntValue();
int heightmapYSize = levelInfo.getAttribute("HeightmapYSize").getIntValue();
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/aionemu/geobuilder/loaders/CgfLoader.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.aionemu.geobuilder.loaders;

import com.aionemu.geobuilder.meshData.CollisionIntention;
import com.aionemu.geobuilder.cgfData.*;
import com.aionemu.geobuilder.meshData.CollisionIntention;
import com.aionemu.geobuilder.meshData.MeshData;
import com.aionemu.geobuilder.meshData.MeshFace;
import com.aionemu.geobuilder.pakaccessor.PakFile;
import com.aionemu.geobuilder.utils.BinaryXmlParser;
import com.aionemu.geobuilder.utils.Matrix4f;
import com.aionemu.geobuilder.utils.Quaternion;
import com.aionemu.geobuilder.utils.Vector3;
import com.aionemu.geobuilder.utils.XmlParser;
import org.jdom2.Element;

import java.io.IOException;
Expand Down Expand Up @@ -43,7 +43,7 @@ public class CgfLoader {

public static int loadMaterials(Path clientPath) throws IOException {
try (PakFile pakFile = PakFile.open(clientPath.resolve("Data/Material/Material.pak"))) {
Element rootElement = BinaryXmlParser.parse(pakFile.unpak("materials.xml")).getRootElement();
Element rootElement = XmlParser.parse(pakFile.unpak("materials.xml")).getRootElement();
for (Element material : rootElement.getChildren("material")) {
String materialName = material.getChildText("material_name");
int materialId = Integer.parseInt(material.getChildText("id"));
Expand Down
11 changes: 3 additions & 8 deletions src/main/java/com/aionemu/geobuilder/loaders/EntityLoader.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.aionemu.geobuilder.loaders;

import com.aionemu.geobuilder.entries.EntryType;
import com.aionemu.geobuilder.entries.DoorEntry;
import com.aionemu.geobuilder.entries.EntityEntry;
import com.aionemu.geobuilder.entries.HouseEntry;
import com.aionemu.geobuilder.entries.TownEntry;
import com.aionemu.geobuilder.entries.*;
import com.aionemu.geobuilder.utils.PathSanitizer;
import com.aionemu.geobuilder.utils.Vector3;
import com.aionemu.geobuilder.utils.XmlParser;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

import java.io.ByteArrayInputStream;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
Expand All @@ -23,7 +18,7 @@ private EntityLoader() {
}

public static List<EntityEntry> loadPlaceables(ByteBuffer mission, Map<String, Short> addresses) throws Exception {
Document document = new SAXBuilder().build(new ByteArrayInputStream(mission.array()));
Document document = XmlParser.parse(mission);
Element rootNode = document.getRootElement();
List<Element> entities = rootNode.getChild("Objects").getChildren("Entity");
List<EntityEntry> entityEntries = new ArrayList<>(entities.size());
Expand Down
Loading

0 comments on commit e0ce837

Please sign in to comment.