diff --git a/L2ClientDat/.classpath b/L2ClientDat/.classpath deleted file mode 100644 index 490523f44e..0000000000 --- a/L2ClientDat/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/L2ClientDat/.project b/L2ClientDat/.project deleted file mode 100644 index db82bdc4d5..0000000000 --- a/L2ClientDat/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - L2ClientDat - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/L2ClientDat/.settings/org.eclipse.core.resources.prefs b/L2ClientDat/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 4824b80263..0000000000 --- a/L2ClientDat/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/L2ClientDat/.settings/org.eclipse.core.runtime.prefs b/L2ClientDat/.settings/org.eclipse.core.runtime.prefs deleted file mode 100644 index f8a67de1d4..0000000000 --- a/L2ClientDat/.settings/org.eclipse.core.runtime.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -line.separator=\r\n diff --git a/L2ClientDat/.settings/org.eclipse.jdt.core.prefs b/L2ClientDat/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index cca85c9968..0000000000 --- a/L2ClientDat/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,428 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=48 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 -org.eclipse.jdt.core.formatter.alignment_for_assignment=4 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=49 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=85 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=48 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=next_line -org.eclipse.jdt.core.formatter.brace_position_for_block=next_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=next_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=true -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true -org.eclipse.jdt.core.formatter.comment.format_line_comments=true -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true -org.eclipse.jdt.core.formatter.comment.indent_root_tags=true -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=300 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=1 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=300 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/L2ClientDat/.settings/org.eclipse.jdt.ui.prefs b/L2ClientDat/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 8a4c9d4e1c..0000000000 --- a/L2ClientDat/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,131 +0,0 @@ -cleanup.add_default_serial_version_id=false -cleanup.add_generated_serial_version_id=true -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=true -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=true -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=true -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=false -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=true -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=false -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=true -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=false -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=true -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=true -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=false -cleanup.remove_unused_private_members=true -cleanup.remove_unused_private_methods=false -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=true -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=true -cleanup.use_this_for_non_static_field_access=true -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=true -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup.use_type_arguments=false -cleanup_profile=_L2J-Mobius Clean Up -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_L2J-Mobius Formatter -formatter_settings_version=12 -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;commons;com; -org.eclipse.jdt.ui.javadoc=true -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=99 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=99 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=true -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=true -sp_cleanup.convert_to_enhanced_for_loop=true -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=false -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=true -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=false -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=true -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_type_arguments=false -sp_cleanup.remove_trailing_whitespaces=false -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=true -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=true -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=true -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=true -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true -sp_cleanup.use_type_arguments=false diff --git a/L2ClientDat/.settings/org.eclipse.ltk.core.refactoring.prefs b/L2ClientDat/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index cfcd1d3c22..0000000000 --- a/L2ClientDat/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/L2ClientDat/.settings/org.eclipse.wst.sse.core.prefs b/L2ClientDat/.settings/org.eclipse.wst.sse.core.prefs deleted file mode 100644 index a640cfdb22..0000000000 --- a/L2ClientDat/.settings/org.eclipse.wst.sse.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -task-tags/enabled=true -task-tags/use-project-settings=true diff --git a/L2ClientDat/.settings/org.eclipse.wst.validation.prefs b/L2ClientDat/.settings/org.eclipse.wst.validation.prefs deleted file mode 100644 index 63a18689fb..0000000000 --- a/L2ClientDat/.settings/org.eclipse.wst.validation.prefs +++ /dev/null @@ -1,12 +0,0 @@ -DELEGATES_PREFERENCE=delegateValidatorList -USER_BUILD_PREFERENCE=enabledBuildValidatorList -USER_MANUAL_PREFERENCE=enabledManualValidatorList -USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.400.v201204260100 -eclipse.preferences.version=1 -override=true -suspend=false -vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01 -vals/org.eclipse.wst.html.core.HTMLValidator/global=FF01 -vals/org.eclipse.wst.html.ui.HTMLValidator/global=TF01 -vals/org.eclipse.wst.xml.core.xml/groups=0107include05111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF0107exclude08113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0204file03binF0204file05buildF0204file09build.xmlF01 -vf.version=3 diff --git a/L2ClientDat/build.xml b/L2ClientDat/build.xml deleted file mode 100644 index bf40af6da7..0000000000 --- a/L2ClientDat/build.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - This file is part of the L2J Mobius project. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see [http://www.gnu.org/licenses/]. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/L2ClientDat/dist/!definitions.xml b/L2ClientDat/dist/!definitions.xml deleted file mode 100644 index 965d4d0854..0000000000 --- a/L2ClientDat/dist/!definitions.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/L2ClientDat/dist/L2ClientDat.bat b/L2ClientDat/dist/L2ClientDat.bat deleted file mode 100644 index ab80a1d248..0000000000 --- a/L2ClientDat/dist/L2ClientDat.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -@title L2ClientDat -@java -Xms512m -Xmx4024m -cp libs/* com.l2jmobius.L2ClientDat -@pause \ No newline at end of file diff --git a/L2ClientDat/dist/L2ClientDat.exe b/L2ClientDat/dist/L2ClientDat.exe deleted file mode 100644 index 781bbdbcc5..0000000000 Binary files a/L2ClientDat/dist/L2ClientDat.exe and /dev/null differ diff --git a/L2ClientDat/dist/config/config_debug.ini b/L2ClientDat/dist/config/config_debug.ini deleted file mode 100644 index 55827edc0f..0000000000 --- a/L2ClientDat/dist/config/config_debug.ini +++ /dev/null @@ -1,9 +0,0 @@ -DAT_DEBUG_MSG=false -DAT_DEBUG_POS=false -DAT_DEBUG_POS_LIMIT=100000 - -DAT_REPLACEMENT_NAMES=true - -ENCRYPT=true -SAVE_DECODE=false -DAT_ADD_END_BYTES=true diff --git a/L2ClientDat/dist/config/config_window.ini b/L2ClientDat/dist/config/config_window.ini deleted file mode 100644 index 914d4fd226..0000000000 --- a/L2ClientDat/dist/config/config_window.ini +++ /dev/null @@ -1,12 +0,0 @@ -#Saved settings -#Sun May 13 02:33:14 EEST 2018 -CURRENT_DECRYPT=v413_encdec -CURRENT_ENCRYPT=v413_encdec -WINDOW_WIDTH=1000 -WINDOW_HEIGHT=600 -FILE_OPEN_CURRENT_DIRECTORY_PACK= -LAST_FILE_SELECTED= -FILE_OPEN_CURRENT_DIRECTORY= -FILE_OPEN_CURRENT_DIRECTORY_UNPACK= -FILE_SAVE_CURRENT_DIRECTORY= -CURRENT_CHRONICLE=28_kor_grand_crusade_p3 diff --git a/L2ClientDat/dist/config/cryptVersion.xml b/L2ClientDat/dist/config/cryptVersion.xml deleted file mode 100644 index 172b995da4..0000000000 --- a/L2ClientDat/dist/config/cryptVersion.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/L2ClientDat/dist/config/log4j.dtd b/L2ClientDat/dist/config/log4j.dtd deleted file mode 100644 index e3c0df4537..0000000000 --- a/L2ClientDat/dist/config/log4j.dtd +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/config/log4j.xml b/L2ClientDat/dist/config/log4j.xml deleted file mode 100644 index 776d788748..0000000000 --- a/L2ClientDat/dist/config/log4j.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/L2ClientDat/dist/libs/log4j-1.2.17.jar b/L2ClientDat/dist/libs/log4j-1.2.17.jar deleted file mode 100644 index 068867ebfd..0000000000 Binary files a/L2ClientDat/dist/libs/log4j-1.2.17.jar and /dev/null differ diff --git a/L2ClientDat/dist/libs/nproperty-1.0.jar b/L2ClientDat/dist/libs/nproperty-1.0.jar deleted file mode 100644 index 466c1a04e9..0000000000 Binary files a/L2ClientDat/dist/libs/nproperty-1.0.jar and /dev/null differ diff --git a/L2ClientDat/dist/readme.txt b/L2ClientDat/dist/readme.txt deleted file mode 100644 index 0559e599b6..0000000000 --- a/L2ClientDat/dist/readme.txt +++ /dev/null @@ -1,20 +0,0 @@ -L2ClientDat decoder -Originally known as Godworld L2ClientDataDecoder v0.4b - -For ru we choose chronicles ru_helios - -If the dat files are original then the crypt is v413_original -if not then v413_encdec - -After full unpacking, you need to correct Korean errors by replacing all files (or by searching) -[]] -> [None] -[skill_end] -> [SpAtk01] -they are also visible in the log when unpacking. - - -It is not recommended to use the text fields [and]. - -When DAT_REPLACEMENT_NAMES=true [config_debug.ini] -You can not change the dates one by one if they contain MAP_INT (only full repacking). - -If the file is not going to be collected or disassembled, we turn on the config DAT_DEBUG_MSG and DAT_DEBUG_POS [config_debug.ini]. diff --git a/L2ClientDat/dist/structure/03_en_c3_rise_of_darkness.xml b/L2ClientDat/dist/structure/03_en_c3_rise_of_darkness.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/03_en_c3_rise_of_darkness.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/04_en_c4_scions_of_destiny.xml b/L2ClientDat/dist/structure/04_en_c4_scions_of_destiny.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/04_en_c4_scions_of_destiny.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/05_en_c5_oath_of_blood.xml b/L2ClientDat/dist/structure/05_en_c5_oath_of_blood.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/05_en_c5_oath_of_blood.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/06_en_c6_interlude.xml b/L2ClientDat/dist/structure/06_en_c6_interlude.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/06_en_c6_interlude.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/07_en_hellbound.xml b/L2ClientDat/dist/structure/07_en_hellbound.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/07_en_hellbound.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/08_en_kamael.xml b/L2ClientDat/dist/structure/08_en_kamael.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/08_en_kamael.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/09_en_gracia_part_ 1.xml b/L2ClientDat/dist/structure/09_en_gracia_part_ 1.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/09_en_gracia_part_ 1.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/10_en_gracia_part_ 2.xml b/L2ClientDat/dist/structure/10_en_gracia_part_ 2.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/10_en_gracia_part_ 2.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/11_en_gracia_epilogue.xml b/L2ClientDat/dist/structure/11_en_gracia_epilogue.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/11_en_gracia_epilogue.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/12_en_gracia_final.xml b/L2ClientDat/dist/structure/12_en_gracia_final.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/12_en_gracia_final.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/13_en_freya.xml b/L2ClientDat/dist/structure/13_en_freya.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/13_en_freya.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/14_en_high_five.xml b/L2ClientDat/dist/structure/14_en_high_five.xml deleted file mode 100644 index e8d2cf6966..0000000000 --- a/L2ClientDat/dist/structure/14_en_high_five.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/L2ClientDat/dist/structure/15_en_awakening.xml b/L2ClientDat/dist/structure/15_en_awakening.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/15_en_awakening.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/16_en_harmony.xml b/L2ClientDat/dist/structure/16_en_harmony.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/16_en_harmony.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/17_en_tauti.xml b/L2ClientDat/dist/structure/17_en_tauti.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/17_en_tauti.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/18_en_glory_days.xml b/L2ClientDat/dist/structure/18_en_glory_days.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/18_en_glory_days.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/19_en_echo.xml b/L2ClientDat/dist/structure/19_en_echo.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/19_en_echo.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/20_cn_lindvior.xml b/L2ClientDat/dist/structure/20_cn_lindvior.xml deleted file mode 100644 index 2fc60c332a..0000000000 --- a/L2ClientDat/dist/structure/20_cn_lindvior.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/20_kor_lindvior.xml b/L2ClientDat/dist/structure/20_kor_lindvior.xml deleted file mode 100644 index 38844128d1..0000000000 --- a/L2ClientDat/dist/structure/20_kor_lindvior.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/20_ru_lindvior.xml b/L2ClientDat/dist/structure/20_ru_lindvior.xml deleted file mode 100644 index 9db8216efa..0000000000 --- a/L2ClientDat/dist/structure/20_ru_lindvior.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/21_cn_epeisodion.xml b/L2ClientDat/dist/structure/21_cn_epeisodion.xml deleted file mode 100644 index 1acedd4cc7..0000000000 --- a/L2ClientDat/dist/structure/21_cn_epeisodion.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/21_kor_episodion.xml b/L2ClientDat/dist/structure/21_kor_episodion.xml deleted file mode 100644 index 3e04d6f950..0000000000 --- a/L2ClientDat/dist/structure/21_kor_episodion.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/21_ru_episodion.xml b/L2ClientDat/dist/structure/21_ru_episodion.xml deleted file mode 100644 index c86db539bc..0000000000 --- a/L2ClientDat/dist/structure/21_ru_episodion.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/22_kor_raider_of_the_lost_ark.xml b/L2ClientDat/dist/structure/22_kor_raider_of_the_lost_ark.xml deleted file mode 100644 index e1cd2f0779..0000000000 --- a/L2ClientDat/dist/structure/22_kor_raider_of_the_lost_ark.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/L2ClientDat/dist/structure/23_cn_ertheia.xml b/L2ClientDat/dist/structure/23_cn_ertheia.xml deleted file mode 100644 index a62d0cb710..0000000000 --- a/L2ClientDat/dist/structure/23_cn_ertheia.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/23_kor_ertheia.xml b/L2ClientDat/dist/structure/23_kor_ertheia.xml deleted file mode 100644 index a8be56fcd8..0000000000 --- a/L2ClientDat/dist/structure/23_kor_ertheia.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/23_ru_ertheia.xml b/L2ClientDat/dist/structure/23_ru_ertheia.xml deleted file mode 100644 index 240abd32a7..0000000000 --- a/L2ClientDat/dist/structure/23_ru_ertheia.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/24_kor_infinite_odyssey.xml b/L2ClientDat/dist/structure/24_kor_infinite_odyssey.xml deleted file mode 100644 index 773a2ae422..0000000000 --- a/L2ClientDat/dist/structure/24_kor_infinite_odyssey.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/24_ru_infinite_odyssey.xml b/L2ClientDat/dist/structure/24_ru_infinite_odyssey.xml deleted file mode 100644 index fdd9aa94cb..0000000000 --- a/L2ClientDat/dist/structure/24_ru_infinite_odyssey.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/25_en_infinite_odyssey_underground.xml b/L2ClientDat/dist/structure/25_en_infinite_odyssey_underground.xml deleted file mode 100644 index e61014df9d..0000000000 --- a/L2ClientDat/dist/structure/25_en_infinite_odyssey_underground.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/25_kor_infinite_odyssey_hymn_of_doul.xml b/L2ClientDat/dist/structure/25_kor_infinite_odyssey_hymn_of_doul.xml deleted file mode 100644 index 6f034af41e..0000000000 --- a/L2ClientDat/dist/structure/25_kor_infinite_odyssey_hymn_of_doul.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/25_ru_infinite_odyssey_hymn_of_doul.xml b/L2ClientDat/dist/structure/25_ru_infinite_odyssey_hymn_of_doul.xml deleted file mode 100644 index d122b9e97f..0000000000 --- a/L2ClientDat/dist/structure/25_ru_infinite_odyssey_hymn_of_doul.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/26_kor_infinite_odyssey_will_of_the_ancients.xml b/L2ClientDat/dist/structure/26_kor_infinite_odyssey_will_of_the_ancients.xml deleted file mode 100644 index 6281768177..0000000000 --- a/L2ClientDat/dist/structure/26_kor_infinite_odyssey_will_of_the_ancients.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios.xml b/L2ClientDat/dist/structure/27_kor_helios.xml deleted file mode 100644 index 7e0c8ad9ad..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios_p2.xml b/L2ClientDat/dist/structure/27_kor_helios_p2.xml deleted file mode 100644 index 1054f9cd87..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios_p2.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios_p3.xml b/L2ClientDat/dist/structure/27_kor_helios_p3.xml deleted file mode 100644 index f4b8880c39..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios_p3.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios_p4.xml b/L2ClientDat/dist/structure/27_kor_helios_p4.xml deleted file mode 100644 index 120a1ba898..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios_p4.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios_p5.xml b/L2ClientDat/dist/structure/27_kor_helios_p5.xml deleted file mode 100644 index c772212de5..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios_p5.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_kor_helios_p6.xml b/L2ClientDat/dist/structure/27_kor_helios_p6.xml deleted file mode 100644 index eef30af4e4..0000000000 --- a/L2ClientDat/dist/structure/27_kor_helios_p6.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/27_ru_helios.xml b/L2ClientDat/dist/structure/27_ru_helios.xml deleted file mode 100644 index fb73a0e79c..0000000000 --- a/L2ClientDat/dist/structure/27_ru_helios.xml +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/28_kor_grand_crusade.xml b/L2ClientDat/dist/structure/28_kor_grand_crusade.xml deleted file mode 100644 index 5913af98f4..0000000000 --- a/L2ClientDat/dist/structure/28_kor_grand_crusade.xml +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/28_kor_grand_crusade_p2.xml b/L2ClientDat/dist/structure/28_kor_grand_crusade_p2.xml deleted file mode 100644 index 8eca8fb44f..0000000000 --- a/L2ClientDat/dist/structure/28_kor_grand_crusade_p2.xml +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/28_kor_grand_crusade_p3.xml b/L2ClientDat/dist/structure/28_kor_grand_crusade_p3.xml deleted file mode 100644 index cfb72b568e..0000000000 --- a/L2ClientDat/dist/structure/28_kor_grand_crusade_p3.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/29_salvation_classic_antharas_innova.xml b/L2ClientDat/dist/structure/29_salvation_classic_antharas_innova.xml deleted file mode 100644 index dec346135e..0000000000 --- a/L2ClientDat/dist/structure/29_salvation_classic_antharas_innova.xml +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/30_salvation_classic_goddard_korea.xml b/L2ClientDat/dist/structure/30_salvation_classic_goddard_korea.xml deleted file mode 100644 index a526dfcc38..0000000000 --- a/L2ClientDat/dist/structure/30_salvation_classic_goddard_korea.xml +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/24hzschema.xml b/L2ClientDat/dist/structure/dats/24hzschema.xml deleted file mode 100644 index a7913a4e1c..0000000000 --- a/L2ClientDat/dist/structure/dats/24hzschema.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/ability.xml b/L2ClientDat/dist/structure/dats/ability.xml deleted file mode 100644 index f605078955..0000000000 --- a/L2ClientDat/dist/structure/dats/ability.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/abilitypoint.xml b/L2ClientDat/dist/structure/dats/abilitypoint.xml deleted file mode 100644 index 10add3993c..0000000000 --- a/L2ClientDat/dist/structure/dats/abilitypoint.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/abnormaldefaulteffect.xml b/L2ClientDat/dist/structure/dats/abnormaldefaulteffect.xml deleted file mode 100644 index 0d2aefca17..0000000000 --- a/L2ClientDat/dist/structure/dats/abnormaldefaulteffect.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/abnormaledgeeffectdata.xml b/L2ClientDat/dist/structure/dats/abnormaledgeeffectdata.xml deleted file mode 100644 index d0f23557d7..0000000000 --- a/L2ClientDat/dist/structure/dats/abnormaledgeeffectdata.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/actionname.xml b/L2ClientDat/dist/structure/dats/actionname.xml deleted file mode 100644 index 50496acba3..0000000000 --- a/L2ClientDat/dist/structure/dats/actionname.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/additionaleffect.xml b/L2ClientDat/dist/structure/dats/additionaleffect.xml deleted file mode 100644 index 5adac65204..0000000000 --- a/L2ClientDat/dist/structure/dats/additionaleffect.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/additionalitemgrp.xml b/L2ClientDat/dist/structure/dats/additionalitemgrp.xml deleted file mode 100644 index 661cacca64..0000000000 --- a/L2ClientDat/dist/structure/dats/additionalitemgrp.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/additionaljewelequipeffect.xml b/L2ClientDat/dist/structure/dats/additionaljewelequipeffect.xml deleted file mode 100644 index 2a73867d97..0000000000 --- a/L2ClientDat/dist/structure/dats/additionaljewelequipeffect.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/additionalnpcgrpparts.xml b/L2ClientDat/dist/structure/dats/additionalnpcgrpparts.xml deleted file mode 100644 index db452853d2..0000000000 --- a/L2ClientDat/dist/structure/dats/additionalnpcgrpparts.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/additionalsoulshoteffect.xml b/L2ClientDat/dist/structure/dats/additionalsoulshoteffect.xml deleted file mode 100644 index a3545dc23e..0000000000 --- a/L2ClientDat/dist/structure/dats/additionalsoulshoteffect.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/alchemydata.xml b/L2ClientDat/dist/structure/dats/alchemydata.xml deleted file mode 100644 index 07892361e2..0000000000 --- a/L2ClientDat/dist/structure/dats/alchemydata.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/alterskilldata.xml b/L2ClientDat/dist/structure/dats/alterskilldata.xml deleted file mode 100644 index 2b3cc56b75..0000000000 --- a/L2ClientDat/dist/structure/dats/alterskilldata.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/animationcombo.xml b/L2ClientDat/dist/structure/dats/animationcombo.xml deleted file mode 100644 index b83b0c4052..0000000000 --- a/L2ClientDat/dist/structure/dats/animationcombo.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/armorgrp.xml b/L2ClientDat/dist/structure/dats/armorgrp.xml deleted file mode 100644 index afee353f73..0000000000 --- a/L2ClientDat/dist/structure/dats/armorgrp.xml +++ /dev/null @@ -1,726 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/attendancestamp.xml b/L2ClientDat/dist/structure/dats/attendancestamp.xml deleted file mode 100644 index 08b86c9d12..0000000000 --- a/L2ClientDat/dist/structure/dats/attendancestamp.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/castlename.xml b/L2ClientDat/dist/structure/dats/castlename.xml deleted file mode 100644 index f5a5df2074..0000000000 --- a/L2ClientDat/dist/structure/dats/castlename.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/charcreategrp.xml b/L2ClientDat/dist/structure/dats/charcreategrp.xml deleted file mode 100644 index de2e9a590f..0000000000 --- a/L2ClientDat/dist/structure/dats/charcreategrp.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/chargrp.xml b/L2ClientDat/dist/structure/dats/chargrp.xml deleted file mode 100644 index d54dc96baf..0000000000 --- a/L2ClientDat/dist/structure/dats/chargrp.xml +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/classinfo.xml b/L2ClientDat/dist/structure/dats/classinfo.xml deleted file mode 100644 index 2b50488f55..0000000000 --- a/L2ClientDat/dist/structure/dats/classinfo.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/colorexgrp.xml b/L2ClientDat/dist/structure/dats/colorexgrp.xml deleted file mode 100644 index 16d2d4b78a..0000000000 --- a/L2ClientDat/dist/structure/dats/colorexgrp.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/colorexname.xml b/L2ClientDat/dist/structure/dats/colorexname.xml deleted file mode 100644 index 2f444e0d5a..0000000000 --- a/L2ClientDat/dist/structure/dats/colorexname.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/combinationitemdata.xml b/L2ClientDat/dist/structure/dats/combinationitemdata.xml deleted file mode 100644 index 0415c64425..0000000000 --- a/L2ClientDat/dist/structure/dats/combinationitemdata.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/L2ClientDat/dist/structure/dats/commandname.xml b/L2ClientDat/dist/structure/dats/commandname.xml deleted file mode 100644 index 9a53aabc45..0000000000 --- a/L2ClientDat/dist/structure/dats/commandname.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/credit.xml b/L2ClientDat/dist/structure/dats/credit.xml deleted file mode 100644 index a7913a4e1c..0000000000 --- a/L2ClientDat/dist/structure/dats/credit.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/deconpcdata_client.xml b/L2ClientDat/dist/structure/dats/deconpcdata_client.xml deleted file mode 100644 index d6d3e5fee5..0000000000 --- a/L2ClientDat/dist/structure/dats/deconpcdata_client.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/dualcasttypedata.xml b/L2ClientDat/dist/structure/dats/dualcasttypedata.xml deleted file mode 100644 index 35e74b9165..0000000000 --- a/L2ClientDat/dist/structure/dats/dualcasttypedata.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/dynamiccontentsname.xml b/L2ClientDat/dist/structure/dats/dynamiccontentsname.xml deleted file mode 100644 index e0fa9cea6d..0000000000 --- a/L2ClientDat/dist/structure/dats/dynamiccontentsname.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/enchantedweaponfloweffectdata.xml b/L2ClientDat/dist/structure/dats/enchantedweaponfloweffectdata.xml deleted file mode 100644 index 31bdf1bcc6..0000000000 --- a/L2ClientDat/dist/structure/dats/enchantedweaponfloweffectdata.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/enchantstatbonus.xml b/L2ClientDat/dist/structure/dats/enchantstatbonus.xml deleted file mode 100644 index c6a201081a..0000000000 --- a/L2ClientDat/dist/structure/dats/enchantstatbonus.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/ensoul_fee_client.xml b/L2ClientDat/dist/structure/dats/ensoul_fee_client.xml deleted file mode 100644 index 763205feb8..0000000000 --- a/L2ClientDat/dist/structure/dats/ensoul_fee_client.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/ensoul_option_client.xml b/L2ClientDat/dist/structure/dats/ensoul_option_client.xml deleted file mode 100644 index 4af0de8ca8..0000000000 --- a/L2ClientDat/dist/structure/dats/ensoul_option_client.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/ensoul_stone_client.xml b/L2ClientDat/dist/structure/dats/ensoul_stone_client.xml deleted file mode 100644 index 13848821d1..0000000000 --- a/L2ClientDat/dist/structure/dats/ensoul_stone_client.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/entereventgrp.xml b/L2ClientDat/dist/structure/dats/entereventgrp.xml deleted file mode 100644 index bee7a1c002..0000000000 --- a/L2ClientDat/dist/structure/dats/entereventgrp.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/etcitemgrp.xml b/L2ClientDat/dist/structure/dats/etcitemgrp.xml deleted file mode 100644 index 2f8b6041a9..0000000000 --- a/L2ClientDat/dist/structure/dats/etcitemgrp.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/eula.xml b/L2ClientDat/dist/structure/dats/eula.xml deleted file mode 100644 index 44992b10cd..0000000000 --- a/L2ClientDat/dist/structure/dats/eula.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/eventcontentsgoalname.xml b/L2ClientDat/dist/structure/dats/eventcontentsgoalname.xml deleted file mode 100644 index 68d4a2cb4a..0000000000 --- a/L2ClientDat/dist/structure/dats/eventcontentsgoalname.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/eventcontentsname.xml b/L2ClientDat/dist/structure/dats/eventcontentsname.xml deleted file mode 100644 index a0c273f80a..0000000000 --- a/L2ClientDat/dist/structure/dats/eventcontentsname.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/eventlookchange.xml b/L2ClientDat/dist/structure/dats/eventlookchange.xml deleted file mode 100644 index eac39df353..0000000000 --- a/L2ClientDat/dist/structure/dats/eventlookchange.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/exceptionminimapdata.xml b/L2ClientDat/dist/structure/dats/exceptionminimapdata.xml deleted file mode 100644 index dd9843e96e..0000000000 --- a/L2ClientDat/dist/structure/dats/exceptionminimapdata.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/faceexgrp.xml b/L2ClientDat/dist/structure/dats/faceexgrp.xml deleted file mode 100644 index 48194d5572..0000000000 --- a/L2ClientDat/dist/structure/dats/faceexgrp.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/faceexname.xml b/L2ClientDat/dist/structure/dats/faceexname.xml deleted file mode 100644 index 903b81c555..0000000000 --- a/L2ClientDat/dist/structure/dats/faceexname.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/factionname.xml b/L2ClientDat/dist/structure/dats/factionname.xml deleted file mode 100644 index 54e665844e..0000000000 --- a/L2ClientDat/dist/structure/dats/factionname.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/flashconfig.xml b/L2ClientDat/dist/structure/dats/flashconfig.xml deleted file mode 100644 index 4f43b4e637..0000000000 --- a/L2ClientDat/dist/structure/dats/flashconfig.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/flymovename.xml b/L2ClientDat/dist/structure/dats/flymovename.xml deleted file mode 100644 index 794b0ff89a..0000000000 --- a/L2ClientDat/dist/structure/dats/flymovename.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/fullarmorenchanteffectdata.xml b/L2ClientDat/dist/structure/dats/fullarmorenchanteffectdata.xml deleted file mode 100644 index 122b5ee9cd..0000000000 --- a/L2ClientDat/dist/structure/dats/fullarmorenchanteffectdata.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/gamedatabase.xml b/L2ClientDat/dist/structure/dats/gamedatabase.xml deleted file mode 100644 index af4b4f4ceb..0000000000 --- a/L2ClientDat/dist/structure/dats/gamedatabase.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/gametip.xml b/L2ClientDat/dist/structure/dats/gametip.xml deleted file mode 100644 index a66ed7f124..0000000000 --- a/L2ClientDat/dist/structure/dats/gametip.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/goodsicon.xml b/L2ClientDat/dist/structure/dats/goodsicon.xml deleted file mode 100644 index 23f86cf4de..0000000000 --- a/L2ClientDat/dist/structure/dats/goodsicon.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/hairaccessorylocgrp.xml b/L2ClientDat/dist/structure/dats/hairaccessorylocgrp.xml deleted file mode 100644 index dc1b54b374..0000000000 --- a/L2ClientDat/dist/structure/dats/hairaccessorylocgrp.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/hairexgrp.xml b/L2ClientDat/dist/structure/dats/hairexgrp.xml deleted file mode 100644 index f35f0d792f..0000000000 --- a/L2ClientDat/dist/structure/dats/hairexgrp.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/hairexname.xml b/L2ClientDat/dist/structure/dats/hairexname.xml deleted file mode 100644 index 180a24b05e..0000000000 --- a/L2ClientDat/dist/structure/dats/hairexname.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/hennagrp.xml b/L2ClientDat/dist/structure/dats/hennagrp.xml deleted file mode 100644 index 062812c2f5..0000000000 --- a/L2ClientDat/dist/structure/dats/hennagrp.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/huntingzone.xml b/L2ClientDat/dist/structure/dats/huntingzone.xml deleted file mode 100644 index 264e523a9f..0000000000 --- a/L2ClientDat/dist/structure/dats/huntingzone.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/idcname.xml b/L2ClientDat/dist/structure/dats/idcname.xml deleted file mode 100644 index 797dd53b8d..0000000000 --- a/L2ClientDat/dist/structure/dats/idcname.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/instantzonedata.xml b/L2ClientDat/dist/structure/dats/instantzonedata.xml deleted file mode 100644 index 59028da4dd..0000000000 --- a/L2ClientDat/dist/structure/dats/instantzonedata.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/item_baseinfo.xml b/L2ClientDat/dist/structure/dats/item_baseinfo.xml deleted file mode 100644 index 1f87233ffa..0000000000 --- a/L2ClientDat/dist/structure/dats/item_baseinfo.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/itemname.xml b/L2ClientDat/dist/structure/dats/itemname.xml deleted file mode 100644 index 0ec1b04ae1..0000000000 --- a/L2ClientDat/dist/structure/dats/itemname.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/itemstatdata.xml b/L2ClientDat/dist/structure/dats/itemstatdata.xml deleted file mode 100644 index 0f0bd0f400..0000000000 --- a/L2ClientDat/dist/structure/dats/itemstatdata.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/l2gamedataname.xml b/L2ClientDat/dist/structure/dats/l2gamedataname.xml deleted file mode 100644 index 9560ae0336..0000000000 --- a/L2ClientDat/dist/structure/dats/l2gamedataname.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/logongrp.xml b/L2ClientDat/dist/structure/dats/logongrp.xml deleted file mode 100644 index 08065eaad6..0000000000 --- a/L2ClientDat/dist/structure/dats/logongrp.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/lollycubedata.xml b/L2ClientDat/dist/structure/dats/lollycubedata.xml deleted file mode 100644 index bd36d51f38..0000000000 --- a/L2ClientDat/dist/structure/dats/lollycubedata.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/mantleexception.xml b/L2ClientDat/dist/structure/dats/mantleexception.xml deleted file mode 100644 index 86caf155bb..0000000000 --- a/L2ClientDat/dist/structure/dats/mantleexception.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/minimapregion.xml b/L2ClientDat/dist/structure/dats/minimapregion.xml deleted file mode 100644 index 364adfb802..0000000000 --- a/L2ClientDat/dist/structure/dats/minimapregion.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/mobskillanimgrp.xml b/L2ClientDat/dist/structure/dats/mobskillanimgrp.xml deleted file mode 100644 index cc77d44e77..0000000000 --- a/L2ClientDat/dist/structure/dats/mobskillanimgrp.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/monsterbook_client.xml b/L2ClientDat/dist/structure/dats/monsterbook_client.xml deleted file mode 100644 index 5206d48174..0000000000 --- a/L2ClientDat/dist/structure/dats/monsterbook_client.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/msconditiondata.xml b/L2ClientDat/dist/structure/dats/msconditiondata.xml deleted file mode 100644 index 8c28d54093..0000000000 --- a/L2ClientDat/dist/structure/dats/msconditiondata.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/musicinfo.xml b/L2ClientDat/dist/structure/dats/musicinfo.xml deleted file mode 100644 index 0db4c62043..0000000000 --- a/L2ClientDat/dist/structure/dats/musicinfo.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/npcgrp.xml b/L2ClientDat/dist/structure/dats/npcgrp.xml deleted file mode 100644 index 0ab32fbef4..0000000000 --- a/L2ClientDat/dist/structure/dats/npcgrp.xml +++ /dev/null @@ -1,710 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/npcname.xml b/L2ClientDat/dist/structure/dats/npcname.xml deleted file mode 100644 index ca67ac33fe..0000000000 --- a/L2ClientDat/dist/structure/dats/npcname.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/npcstring.xml b/L2ClientDat/dist/structure/dats/npcstring.xml deleted file mode 100644 index 95996cbbee..0000000000 --- a/L2ClientDat/dist/structure/dats/npcstring.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/npcteleporter.xml b/L2ClientDat/dist/structure/dats/npcteleporter.xml deleted file mode 100644 index 0daafc7652..0000000000 --- a/L2ClientDat/dist/structure/dats/npcteleporter.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/nservice_topping_buff.xml b/L2ClientDat/dist/structure/dats/nservice_topping_buff.xml deleted file mode 100644 index 8bf5a090be..0000000000 --- a/L2ClientDat/dist/structure/dats/nservice_topping_buff.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/obscene.xml b/L2ClientDat/dist/structure/dats/obscene.xml deleted file mode 100644 index efe56ee14b..0000000000 --- a/L2ClientDat/dist/structure/dats/obscene.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/onedayreward.xml b/L2ClientDat/dist/structure/dats/onedayreward.xml deleted file mode 100644 index 3b8b4df6d0..0000000000 --- a/L2ClientDat/dist/structure/dats/onedayreward.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/optiondata_client.xml b/L2ClientDat/dist/structure/dats/optiondata_client.xml deleted file mode 100644 index cc1f30baf2..0000000000 --- a/L2ClientDat/dist/structure/dats/optiondata_client.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/partsave.xml b/L2ClientDat/dist/structure/dats/partsave.xml deleted file mode 100644 index 9a501238f0..0000000000 --- a/L2ClientDat/dist/structure/dats/partsave.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/pawnanimdata.xml b/L2ClientDat/dist/structure/dats/pawnanimdata.xml deleted file mode 100644 index ccfa1c6018..0000000000 --- a/L2ClientDat/dist/structure/dats/pawnanimdata.xml +++ /dev/null @@ -1,6237 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/piagreement.xml b/L2ClientDat/dist/structure/dats/piagreement.xml deleted file mode 100644 index 107f1431c9..0000000000 --- a/L2ClientDat/dist/structure/dats/piagreement.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/posteffectdata.xml b/L2ClientDat/dist/structure/dats/posteffectdata.xml deleted file mode 100644 index 9cad37cd27..0000000000 --- a/L2ClientDat/dist/structure/dats/posteffectdata.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/productname.xml b/L2ClientDat/dist/structure/dats/productname.xml deleted file mode 100644 index c8c49ef93b..0000000000 --- a/L2ClientDat/dist/structure/dats/productname.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/questmarkconditiondata.xml b/L2ClientDat/dist/structure/dats/questmarkconditiondata.xml deleted file mode 100644 index a2696a60b5..0000000000 --- a/L2ClientDat/dist/structure/dats/questmarkconditiondata.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/questname.xml b/L2ClientDat/dist/structure/dats/questname.xml deleted file mode 100644 index ba03d83b6a..0000000000 --- a/L2ClientDat/dist/structure/dats/questname.xml +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/raiddata.xml b/L2ClientDat/dist/structure/dats/raiddata.xml deleted file mode 100644 index ef54827175..0000000000 --- a/L2ClientDat/dist/structure/dats/raiddata.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/recipe-c.xml b/L2ClientDat/dist/structure/dats/recipe-c.xml deleted file mode 100644 index 019aa9d424..0000000000 --- a/L2ClientDat/dist/structure/dats/recipe-c.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/recipe.xml b/L2ClientDat/dist/structure/dats/recipe.xml deleted file mode 100644 index bc6d616507..0000000000 --- a/L2ClientDat/dist/structure/dats/recipe.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/ridedata.xml b/L2ClientDat/dist/structure/dats/ridedata.xml deleted file mode 100644 index 05d8865e0d..0000000000 --- a/L2ClientDat/dist/structure/dats/ridedata.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/sceneplayerdata.xml b/L2ClientDat/dist/structure/dats/sceneplayerdata.xml deleted file mode 100644 index 229b027881..0000000000 --- a/L2ClientDat/dist/structure/dats/sceneplayerdata.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/servername.xml b/L2ClientDat/dist/structure/dats/servername.xml deleted file mode 100644 index fe03c6543d..0000000000 --- a/L2ClientDat/dist/structure/dats/servername.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/setitemgrp.xml b/L2ClientDat/dist/structure/dats/setitemgrp.xml deleted file mode 100644 index d1fc551ac6..0000000000 --- a/L2ClientDat/dist/structure/dats/setitemgrp.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/shortcutalias.xml b/L2ClientDat/dist/structure/dats/shortcutalias.xml deleted file mode 100644 index 0a9e648df3..0000000000 --- a/L2ClientDat/dist/structure/dats/shortcutalias.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/shortcutregisterdata.xml b/L2ClientDat/dist/structure/dats/shortcutregisterdata.xml deleted file mode 100644 index 85a3830991..0000000000 --- a/L2ClientDat/dist/structure/dats/shortcutregisterdata.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/shuttledata.xml b/L2ClientDat/dist/structure/dats/shuttledata.xml deleted file mode 100644 index d3ad276453..0000000000 --- a/L2ClientDat/dist/structure/dats/shuttledata.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/skillgrp.xml b/L2ClientDat/dist/structure/dats/skillgrp.xml deleted file mode 100644 index b94f7d3341..0000000000 --- a/L2ClientDat/dist/structure/dats/skillgrp.xml +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/skillname.xml b/L2ClientDat/dist/structure/dats/skillname.xml deleted file mode 100644 index 9381e31033..0000000000 --- a/L2ClientDat/dist/structure/dats/skillname.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/skillsoundgrp.xml b/L2ClientDat/dist/structure/dats/skillsoundgrp.xml deleted file mode 100644 index 19b98d406f..0000000000 --- a/L2ClientDat/dist/structure/dats/skillsoundgrp.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/skillsoundsource.xml b/L2ClientDat/dist/structure/dats/skillsoundsource.xml deleted file mode 100644 index 2f853957cb..0000000000 --- a/L2ClientDat/dist/structure/dats/skillsoundsource.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/staticobject.xml b/L2ClientDat/dist/structure/dats/staticobject.xml deleted file mode 100644 index 3ff629dd6a..0000000000 --- a/L2ClientDat/dist/structure/dats/staticobject.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/statisticname.xml b/L2ClientDat/dist/structure/dats/statisticname.xml deleted file mode 100644 index 81f79950ee..0000000000 --- a/L2ClientDat/dist/structure/dats/statisticname.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/symbolname.xml b/L2ClientDat/dist/structure/dats/symbolname.xml deleted file mode 100644 index 45e0f06a5d..0000000000 --- a/L2ClientDat/dist/structure/dats/symbolname.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/sysstring.xml b/L2ClientDat/dist/structure/dats/sysstring.xml deleted file mode 100644 index 95996cbbee..0000000000 --- a/L2ClientDat/dist/structure/dats/sysstring.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/systemmsg.xml b/L2ClientDat/dist/structure/dats/systemmsg.xml deleted file mode 100644 index 13a0072f0b..0000000000 --- a/L2ClientDat/dist/structure/dats/systemmsg.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/timelimit_name.xml b/L2ClientDat/dist/structure/dats/timelimit_name.xml deleted file mode 100644 index 4dad3a5141..0000000000 --- a/L2ClientDat/dist/structure/dats/timelimit_name.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/transformdata.xml b/L2ClientDat/dist/structure/dats/transformdata.xml deleted file mode 100644 index 7cebe24d8b..0000000000 --- a/L2ClientDat/dist/structure/dats/transformdata.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/tutorialname.xml b/L2ClientDat/dist/structure/dats/tutorialname.xml deleted file mode 100644 index 84624a574c..0000000000 --- a/L2ClientDat/dist/structure/dats/tutorialname.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/usmmoviedata.xml b/L2ClientDat/dist/structure/dats/usmmoviedata.xml deleted file mode 100644 index 9bf365eb8b..0000000000 --- a/L2ClientDat/dist/structure/dats/usmmoviedata.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/variationeffectgrp.xml b/L2ClientDat/dist/structure/dats/variationeffectgrp.xml deleted file mode 100644 index f10a7abe16..0000000000 --- a/L2ClientDat/dist/structure/dats/variationeffectgrp.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/vehiclepartsgrp.xml b/L2ClientDat/dist/structure/dats/vehiclepartsgrp.xml deleted file mode 100644 index 8373436610..0000000000 --- a/L2ClientDat/dist/structure/dats/vehiclepartsgrp.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/warningnotice.xml b/L2ClientDat/dist/structure/dats/warningnotice.xml deleted file mode 100644 index f3deeae5c4..0000000000 --- a/L2ClientDat/dist/structure/dats/warningnotice.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/L2ClientDat/dist/structure/dats/weaponenchanteffectdata.xml b/L2ClientDat/dist/structure/dats/weaponenchanteffectdata.xml deleted file mode 100644 index bfec7f742b..0000000000 --- a/L2ClientDat/dist/structure/dats/weaponenchanteffectdata.xml +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/weapongrp.xml b/L2ClientDat/dist/structure/dats/weapongrp.xml deleted file mode 100644 index 05834160df..0000000000 --- a/L2ClientDat/dist/structure/dats/weapongrp.xml +++ /dev/null @@ -1,1005 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/dats/zonename.xml b/L2ClientDat/dist/structure/dats/zonename.xml deleted file mode 100644 index 05cfcd6865..0000000000 --- a/L2ClientDat/dist/structure/dats/zonename.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/L2ClientDat/dist/structure/format/SkillNameFormat.java b/L2ClientDat/dist/structure/format/SkillNameFormat.java deleted file mode 100644 index 1741d812ef..0000000000 --- a/L2ClientDat/dist/structure/format/SkillNameFormat.java +++ /dev/null @@ -1,111 +0,0 @@ -import l2god.listeners.FormatListener; -import l2god.util.Util; - -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.TreeMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class SkillNameFormat implements FormatListener -{ - private static final Pattern pattern = Pattern.compile("\\bskill_txt_begin\\b(.*?)\\bskill_txt_end\\b", Pattern.DOTALL); - private static final Pattern pattern2 = Pattern.compile("\\bskill_begin\\b(.*?)\\bskill_end\\b", Pattern.DOTALL); - - @Override - public String decode(String str) - { - Matcher m = pattern.matcher(str); - Map indexes = new HashMap<>(); - while(m.find()) - { - Map params = Util.stringToMap(m.group(1)); - String name = params.get("name"); - indexes.put(Integer.valueOf(params.get("index")), name.substring(1, name.length() - 1)); - } - - StringBuilder builder = new StringBuilder(); - Matcher m2 = pattern2.matcher(str); - while(m2.find()) - { - Map params = Util.stringToMap(m2.group(1)); - setNameByIndex(indexes, params, "name"); - setNameByIndex(indexes, params, "desc"); - setNameByIndex(indexes, params, "desc_param"); - setNameByIndex(indexes, params, "enchant_name"); - setNameByIndex(indexes, params, "enchant_name_param"); - setNameByIndex(indexes, params, "enchant_desc"); - setNameByIndex(indexes, params, "enchant_desc_param"); - - builder.append("skill_begin\t").append(Util.mapToString(params)).append("skill_end").append("\r\n"); - } - - return builder.toString(); - } - - @Override - public String encode(String str) - { - Map indexes = new LinkedHashMap<>(); - Map sorted = new TreeMap<>(); - - Matcher m2 = pattern2.matcher(str); - while(m2.find()) - { - Map params = Util.stringToMap(m2.group(1)); - setIndexByName(indexes, params, "name"); - setIndexByName(indexes, params, "desc"); - setIndexByName(indexes, params, "desc_param"); - setIndexByName(indexes, params, "enchant_name"); - setIndexByName(indexes, params, "enchant_name_param"); - setIndexByName(indexes, params, "enchant_desc"); - setIndexByName(indexes, params, "enchant_desc_param"); - - String result = "skill_begin\t" + Util.mapToString(params) + "skill_end\r\n"; - - int id = Integer.parseInt(params.get("skill_id")); - int level = Integer.parseInt(params.get("skill_level")); - int subLevel = Integer.parseInt(params.get("skill_sublevel")); - - sorted.put(getSkillHashCode(id, level, subLevel), result); - } - - StringBuilder builder = new StringBuilder(); - for(String key : indexes.keySet()) - { - builder.append("skill_txt_begin\tname=").append(key).append("\tindex=").append(indexes.get(key)).append("\tskill_txt_end\r\n"); - } - - sorted.values().forEach(builder::append); - - return builder.toString(); - } - - private void setNameByIndex(Map indexes, Map params, String paramName) - { - params.put(paramName, "[" + indexes.get(Integer.parseInt(params.get(paramName))) + "]"); - } - - private void setIndexByName(Map indexes, Map params, String paramName) - { - String name = params.get(paramName); - if(indexes.containsKey(name)) - { - params.put(paramName, indexes.get(name)); - return; - } - - String index = String.valueOf(indexes.size()); - indexes.put(name, index); - params.put(paramName, index); - } - - private static long getSkillHashCode(int skillId, int skillLevel, int subLevel) - { - if(subLevel > 0) - return (skillId * 4294967296L) + (subLevel * 65536) + skillLevel; - else - return (skillId * 65536) + skillLevel; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/L2ClientDat.java b/L2ClientDat/java/com/l2jmobius/L2ClientDat.java deleted file mode 100644 index 589a643d6d..0000000000 --- a/L2ClientDat/java/com/l2jmobius/L2ClientDat.java +++ /dev/null @@ -1,402 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.EventQueue; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintWriter; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JSplitPane; -import javax.swing.UIManager; -import javax.swing.filechooser.FileNameExtensionFilter; - -import com.l2jmobius.actions.MassRecryptor; -import com.l2jmobius.actions.MassTxtPacker; -import com.l2jmobius.actions.MassTxtUnpacker; -import com.l2jmobius.actions.OpenDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.config.ConfigWindow; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.forms.JPopupTextArea; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.util.Util; -import com.l2jmobius.xml.CryptVersionParser; -import com.l2jmobius.xml.Descriptor; -import com.l2jmobius.xml.DescriptorParser; -import com.l2jmobius.xml.DescriptorWriter; - -public class L2ClientDat extends JFrame -{ - private static JPopupTextArea textPaneLog; - private static JPopupTextArea textPaneMain; - private static JComboBox jComboBoxChronicle; - private static JComboBox jComboBoxDecrypt; - private static JComboBox jComboBoxEncrypt; - private static File currentFileWindow; - - public L2ClientDat() - { - setTitle("L2ClientDat decoder"); - setMinimumSize(new Dimension(1000, 600)); - this.setSize(new Dimension(ConfigWindow.WINDOW_WIDTH, ConfigWindow.WINDOW_HEIGHT)); - getContentPane().setLayout(new BorderLayout()); - setDefaultCloseOperation(3); - setLocationRelativeTo(null); - addWindowListener(new WindowAdapter() - { - @Override - public void windowClosing(WindowEvent evt) - { - ConfigWindow.save("WINDOW_HEIGHT", String.valueOf(L2ClientDat.this.getHeight())); - ConfigWindow.save("WINDOW_WIDTH", String.valueOf(L2ClientDat.this.getWidth())); - System.exit(0); - } - }); - JPanel buttonPane = new JPanel(); - buttonPane.setLayout(new BorderLayout()); - JPanel buttonPane0 = new JPanel(); - JLabel structureLabel = new JLabel("structure:"); - buttonPane0.add(structureLabel); - jComboBoxChronicle = new JComboBox<>(); - jComboBoxChronicle.setModel(new DefaultComboBoxModel<>(Util.getFilesNames("./structure/", ".xml"))); - jComboBoxChronicle.setSelectedItem(ConfigWindow.CURRENT_CHRONICLE); - jComboBoxChronicle.addActionListener(e -> saveComboBox(jComboBoxChronicle, "CURRENT_CHRONICLE")); - buttonPane0.add(jComboBoxChronicle); - JLabel decryptLabel = new JLabel("decrypt:"); - buttonPane0.add(decryptLabel); - jComboBoxDecrypt = new JComboBox<>(); - jComboBoxDecrypt.setModel(new DefaultComboBoxModel<>(CryptVersionParser.getInstance().getDecryptKeys().keySet().toArray(new String[CryptVersionParser.getInstance().getDecryptKeys().keySet().size()]))); - jComboBoxDecrypt.setSelectedItem(ConfigWindow.CURRENT_DECRYPT); - jComboBoxDecrypt.addActionListener(e -> saveComboBox(jComboBoxDecrypt, "CURRENT_DECRYPT")); - buttonPane0.add(jComboBoxDecrypt); - JLabel encryptLabel = new JLabel("encrypt:"); - buttonPane0.add(encryptLabel); - jComboBoxEncrypt = new JComboBox<>(); - jComboBoxEncrypt.setModel(new DefaultComboBoxModel<>(CryptVersionParser.getInstance().getEncryptKey().keySet().toArray(new String[CryptVersionParser.getInstance().getDecryptKeys().keySet().size()]))); - jComboBoxEncrypt.setSelectedItem(ConfigWindow.CURRENT_ENCRYPT); - jComboBoxEncrypt.addActionListener(e -> saveComboBox(jComboBoxEncrypt, "CURRENT_ENCRYPT")); - buttonPane0.add(jComboBoxEncrypt); - buttonPane.add(buttonPane0, "First"); - JPanel buttonPane1 = new JPanel(); - JButton open = new JButton(); - open.setText("Open"); - open.addActionListener(this::openSelectFileWindow); - buttonPane1.add(open); - JButton save = new JButton(); - save.setText("Save txt"); - save.addActionListener(this::saveActionPerformed); - buttonPane1.add(save); - JButton saveAs = new JButton(); - saveAs.setText("Save dat"); - saveAs.addActionListener(this::saveAsActionPerformed); - buttonPane1.add(saveAs); - JButton massTxtUnpack = new JButton(); - massTxtUnpack.setText("Extract all to txt"); - massTxtUnpack.addActionListener(this::massTxtUnpackActionPerformed); - buttonPane1.add(massTxtUnpack); - JButton massTxtPack = new JButton(); - massTxtPack.setText("Download all dat"); - massTxtPack.addActionListener(this::massTxtPackActionPerformed); - buttonPane1.add(massTxtPack); - JButton massRecrypt = new JButton(); - massRecrypt.setText("Patch dat"); - massRecrypt.addActionListener(this::massRecryptActionPerformed); - buttonPane1.add(massRecrypt); - buttonPane.add(buttonPane1); - JSplitPane jsp = new JSplitPane(0, false); - jsp.setResizeWeight(0.7); - jsp.setOneTouchExpandable(true); - textPaneMain = new JPopupTextArea(); - textPaneMain.setBackground(new Color(41, 49, 52)); - textPaneMain.setForeground(Color.WHITE); - textPaneMain.setFont(new Font("Verdana", 1, 12)); - JScrollPane jScrollPane1 = new JScrollPane(); - jScrollPane1.setAutoscrolls(true); - jScrollPane1.setViewportView(textPaneMain); - jsp.setTopComponent(jScrollPane1); - textPaneLog = new JPopupTextArea(); - textPaneLog.setBackground(new Color(41, 49, 52)); - textPaneLog.setForeground(Color.GREEN); - textPaneLog.setEditable(false); - JScrollPane jScrollPane2 = new JScrollPane(); - jScrollPane2.setViewportView(textPaneLog); - jScrollPane2.setAutoscrolls(true); - jsp.setBottomComponent(jScrollPane2); - getContentPane().add(buttonPane, "First"); - getContentPane().add(jsp); - pack(); - setVisible(true); - } - - private void massTxtPackActionPerformed(ActionEvent evt) - { - JFileChooser fileopen = new JFileChooser(); - fileopen.setFileSelectionMode(1); - fileopen.setAcceptAllFileFilterUsed(false); - fileopen.setCurrentDirectory(new File(ConfigWindow.FILE_OPEN_CURRENT_DIRECTORY_PACK)); - fileopen.setPreferredSize(new Dimension(600, 600)); - int ret = fileopen.showDialog(null, "Open"); - if (ret == 0) - { - currentFileWindow = fileopen.getSelectedFile(); - ConfigWindow.save("FILE_OPEN_CURRENT_DIRECTORY_PACK", currentFileWindow.getPath()); - addLogConsole("---------------------------------------", true); - addLogConsole("selected folder: " + currentFileWindow.getPath(), true); - try - { - MassTxtPacker.getInstance().pack(String.valueOf(jComboBoxChronicle.getSelectedItem()), currentFileWindow.getPath(), CryptVersionParser.getInstance().getEncryptKey(String.valueOf(jComboBoxEncrypt.getSelectedItem()))); - } - catch (Exception ex) - { - Logger.getLogger(L2ClientDat.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - - private void massTxtUnpackActionPerformed(ActionEvent evt) - { - JFileChooser fileopen = new JFileChooser(); - fileopen.setFileSelectionMode(1); - fileopen.setAcceptAllFileFilterUsed(false); - fileopen.setCurrentDirectory(new File(ConfigWindow.FILE_OPEN_CURRENT_DIRECTORY_UNPACK)); - fileopen.setPreferredSize(new Dimension(600, 600)); - int ret = fileopen.showDialog(null, "Open"); - if (ret == 0) - { - currentFileWindow = fileopen.getSelectedFile(); - ConfigWindow.save("FILE_OPEN_CURRENT_DIRECTORY_UNPACK", currentFileWindow.getPath()); - addLogConsole("---------------------------------------", true); - addLogConsole("selected folder: " + currentFileWindow.getPath(), true); - try - { - MassTxtUnpacker.getInstance().unpack(String.valueOf(jComboBoxChronicle.getSelectedItem()), currentFileWindow.getPath(), CryptVersionParser.getInstance().getDecryptKey(String.valueOf(jComboBoxDecrypt.getSelectedItem()))); - } - catch (Exception ex) - { - Logger.getLogger(L2ClientDat.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - - private void massRecryptActionPerformed(ActionEvent evt) - { - JFileChooser fileopen = new JFileChooser(); - fileopen.setFileSelectionMode(1); - fileopen.setAcceptAllFileFilterUsed(false); - fileopen.setCurrentDirectory(new File(ConfigWindow.FILE_OPEN_CURRENT_DIRECTORY)); - fileopen.setPreferredSize(new Dimension(600, 600)); - int ret = fileopen.showDialog(null, "Open"); - if (ret == 0) - { - currentFileWindow = fileopen.getSelectedFile(); - ConfigWindow.save("FILE_OPEN_CURRENT_DIRECTORY", currentFileWindow.getPath()); - addLogConsole("---------------------------------------", true); - addLogConsole("selected folder: " + currentFileWindow.getPath(), true); - try - { - MassRecryptor.getInstance().recrypt(String.valueOf(jComboBoxChronicle.getSelectedItem()), currentFileWindow.getPath(), CryptVersionParser.getInstance().getDecryptKey(String.valueOf(jComboBoxDecrypt.getSelectedItem())), CryptVersionParser.getInstance().getEncryptKey(String.valueOf(jComboBoxEncrypt.getSelectedItem()))); - } - catch (Exception ex) - { - Logger.getLogger(L2ClientDat.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - - private void openSelectFileWindow(ActionEvent evt) - { - textPaneMain.removeAll(); - JFileChooser fileopen = new JFileChooser(); - fileopen.setFileSelectionMode(0); - fileopen.setAcceptAllFileFilterUsed(false); - fileopen.setFileFilter(new FileNameExtensionFilter(".dat, .ini, .txt, .htm", "dat", "ini", "txt", "htm")); - fileopen.setSelectedFile(new File(ConfigWindow.LAST_FILE_SELECTED)); - fileopen.setPreferredSize(new Dimension(600, 600)); - int ret = fileopen.showDialog(null, "Open"); - if (ret == 0) - { - currentFileWindow = fileopen.getSelectedFile(); - ConfigWindow.save("LAST_FILE_SELECTED", currentFileWindow.getAbsolutePath()); - addLogConsole("---------------------------------------", true); - addLogConsole("Open file: " + currentFileWindow.getName(), true); - try - { - OpenDat.start(String.valueOf(jComboBoxChronicle.getSelectedItem()), currentFileWindow, currentFileWindow.getName(), CryptVersionParser.getInstance().getDecryptKey(String.valueOf(jComboBoxDecrypt.getSelectedItem()))); - } - catch (Exception ex) - { - Logger.getLogger(L2ClientDat.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - - private void saveActionPerformed(ActionEvent evt) - { - JFileChooser fileSave = new JFileChooser(); - fileSave.setCurrentDirectory(new File(ConfigWindow.FILE_SAVE_CURRENT_DIRECTORY)); - if (currentFileWindow != null) - { - fileSave.setSelectedFile(new File(currentFileWindow.getName().split("\\.")[0] + ".txt")); - fileSave.setFileFilter(new FileNameExtensionFilter(".txt", "txt")); - fileSave.setAcceptAllFileFilterUsed(false); - fileSave.setPreferredSize(new Dimension(600, 600)); - int ret = fileSave.showSaveDialog(null); - if (ret == 0) - { - File f = fileSave.getSelectedFile(); - try - { - PrintWriter out = new PrintWriter(new FileOutputStream(f.getPath()), true); - ConfigWindow.save("FILE_SAVE_CURRENT_DIRECTORY", f.getParentFile().toString()); - out.print(textPaneMain.getText()); - out.close(); - } - catch (Exception out) - { - // empty catch block - } - addLogConsole("---------------------------------------", true); - addLogConsole("Saved: " + f.getPath(), true); - } - } - else - { - addLogConsole("No open file!", true); - } - } - - /* - * Enabled aggressive block sorting Enabled unnecessary exception pruning Enabled aggressive exception aggregation - */ - private void saveAsActionPerformed(ActionEvent evt) - { - if (currentFileWindow == null) - { - addLogConsole("Error saving dat. No file name.", true); - return; - } - byte[] buff = null; - DatCrypter crypter = null; - if (currentFileWindow.getName().endsWith(".dat") || currentFileWindow.getName().endsWith(".txt")) - { - try - { - Descriptor desc = DescriptorParser.getInstance().findDescriptorForFile(String.valueOf(jComboBoxChronicle.getSelectedItem()), currentFileWindow.getName().replace("txt", "dat")); - if (desc != null) - { - crypter = CryptVersionParser.getInstance().getEncryptKey(String.valueOf(jComboBoxEncrypt.getSelectedItem())); - buff = DescriptorWriter.parseData(currentFileWindow, crypter, desc, textPaneMain.getText()); - GameDataName.getInstance().checkAndUpdate(currentFileWindow.getParent(), crypter); - } - addLogConsole("Not found the structure of the file: " + currentFileWindow.getName(), true); - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - return; - } - } - else if (currentFileWindow.getName().endsWith(".ini")) - { - crypter = CryptVersionParser.getInstance().getEncryptKey(String.valueOf(jComboBoxEncrypt.getSelectedItem())); - buff = textPaneMain.getText().getBytes(); - } - if (buff == null) - { - addLogConsole("buff == null.", true); - return; - } - try - { - if (ConfigDebug.ENCRYPT && (crypter != null)) - { - DatFile.encrypt(buff, currentFileWindow.getPath(), crypter); - } - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - return; - } - addLogConsole("Packed successfully.", true); - } - - private void saveComboBox(JComboBox jComboBox, String param) - { - ConfigWindow.save(param, String.valueOf(jComboBox.getSelectedItem())); - } - - public static void main(String[] args) - { - ConfigWindow.load(); - ConfigDebug.load(); - CryptVersionParser.getInstance(); - Util.compileJavaClass("./structure/format/"); - DescriptorParser.getInstance(); - try - { - for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) - { - if (!"Nimbus".equals(info.getName())) - { - continue; - } - UIManager.setLookAndFeel(info.getClassName()); - break; - } - } - catch (Exception ex) - { - Logger.getLogger(L2ClientDat.class.getName()).log(Level.SEVERE, null, ex); - } - EventQueue.invokeLater(L2ClientDat::new); - } - - public static void addLogConsole(String log, boolean isLog) - { - if (isLog) - { - DebugUtil.getLogger().info(log); - } - textPaneLog.append(log + "\n"); - } - - public static void addText(String log) - { - textPaneMain.setText(log); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/actions/MassRecryptor.java b/L2ClientDat/java/com/l2jmobius/actions/MassRecryptor.java deleted file mode 100644 index 5bbd10fcf6..0000000000 --- a/L2ClientDat/java/com/l2jmobius/actions/MassRecryptor.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.actions; - -import java.io.File; -import java.io.FileInputStream; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; - -public class MassRecryptor -{ - private static final MassRecryptor _instance = new MassRecryptor(); - - public static MassRecryptor getInstance() - { - return _instance; - } - - public void recrypt(String chronicle, String path, DatCrypter decCrypter, DatCrypter enCrypter) - { - L2ClientDat.addLogConsole("Mass recrypt with using " + chronicle + " chronicles by path [" + path + "]", true); - File baseDir = new File(path); - if (!baseDir.exists()) - { - L2ClientDat.addLogConsole("Directory [" + path + "] does not exists.", true); - return; - } - String recryptDirPath = path + "/" + "!recrypted"; - File recryptDir = new File(recryptDirPath); - if (!recryptDir.exists() && !recryptDir.mkdir()) - { - L2ClientDat.addLogConsole("Cannot create recrypt directory [" + recryptDirPath + "].", true); - return; - } - long startTime = System.currentTimeMillis(); - for (File file : baseDir.listFiles(pathname -> pathname.getName().endsWith(".dat") || pathname.getName().endsWith(".ini") || pathname.getName().endsWith(".htm"))) - { - try - { - try (FileInputStream fis = new FileInputStream(file);) - { - if (fis.available() < 28) - { - L2ClientDat.addLogConsole(file.getName() + " The file is too small.", true); - return; - } - byte[] head = new byte[28]; - fis.read(head); - String header = new String(head, "UTF-16LE"); - if (!header.startsWith("Lineage2Ver")) - { - L2ClientDat.addLogConsole("File " + file.getName() + " not encrypted. Skip decrypt.", true); - continue; - } - if (Integer.valueOf(header.substring(11)).intValue() != decCrypter.getCode()) - { - L2ClientDat.addLogConsole("File " + file.getName() + " encrypted code: " + header + ". Skip decrypt.", true); - continue; - } - L2ClientDat.addLogConsole("Recrypting [" + file.getName() + "]", true); - DatFile dat = new DatFile(file.getAbsolutePath()); - dat.decrypt(decCrypter); - DatFile.encrypt(dat.getBuff().array(), recryptDirPath + "/" + file.getName(), enCrypter); - } - } - catch (Exception e) - { - L2ClientDat.addLogConsole(file.getName() + " Decrypt failed.", true); - } - } - long diffTime = (System.currentTimeMillis() - startTime) / 1000L; - L2ClientDat.addLogConsole("Completed. Elapsed ".concat(String.valueOf(diffTime)).concat(" sec"), true); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/actions/MassTxtPacker.java b/L2ClientDat/java/com/l2jmobius/actions/MassTxtPacker.java deleted file mode 100644 index d8b97fed14..0000000000 --- a/L2ClientDat/java/com/l2jmobius/actions/MassTxtPacker.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.actions; - -import java.io.File; -import java.io.FileOutputStream; -import java.nio.file.Files; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Semaphore; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.xml.Descriptor; -import com.l2jmobius.xml.DescriptorParser; -import com.l2jmobius.xml.DescriptorWriter; -import com.l2jmobius.xml.exceptions.PackDataException; - -public class MassTxtPacker -{ - private static final MassTxtPacker _instance = new MassTxtPacker(); - - public static MassTxtPacker getInstance() - { - return _instance; - } - - public void pack(String chronicle, String path, DatCrypter crypter) throws Exception - { - L2ClientDat.addLogConsole("Mass packer with using " + chronicle + " chronicles by path [" + path + "]", true); - File baseDir = new File(path); - if (!baseDir.exists()) - { - L2ClientDat.addLogConsole("Directory [" + path + "] does not exists.", true); - return; - } - String packDirPath = path + "/" + "!packed"; - File packDir = new File(packDirPath); - if (!packDir.exists() && !packDir.mkdir()) - { - L2ClientDat.addLogConsole("Cannot create directory [" + packDir + "].", true); - return; - } - File[] fList = baseDir.listFiles(pathname -> crypter.checkFileExtension(pathname.getName())); - GameDataName.getInstance().clear(); - long startTime = System.currentTimeMillis(); - CountDownLatch doneSignal = new CountDownLatch(fList.length); - Semaphore semaphore = new Semaphore(Runtime.getRuntime().availableProcessors()); - for (File file : fList) - { - new Thread(() -> - { - try - { - semaphore.acquire(); - L2ClientDat.addLogConsole("Packing [" + file.getName() + "]", true); - try - { - byte[] buff = null; - String name = file.getName(); - if (crypter.isUseStructure()) - { - name = name.replace(".txt", ".dat"); - byte[] array = Files.readAllBytes(file.toPath()); - String joined = new String(array, 0, array.length, "UTF-8"); - Descriptor desc = DescriptorParser.getInstance().findDescriptorForFile(chronicle, name); - if (desc != null) - { - buff = DescriptorWriter.parseData(file, crypter, desc, joined); - } - else - { - L2ClientDat.addLogConsole("Not found the structure of the file: " + file.getName(), true); - } - } - else - { - buff = Files.readAllBytes(file.toPath()); - } - String fResult = packDir + "/" + name; - if (buff != null) - { - if (ConfigDebug.ENCRYPT) - { - DatFile.encrypt(buff, fResult, crypter); - } - else - { - FileOutputStream os = new FileOutputStream(fResult, false); - os.write(buff); - os.close(); - } - } - } - catch (PackDataException e) - { - DebugUtil.getLogger().error(e); - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - doneSignal.countDown(); - semaphore.release(); - } - catch (InterruptedException e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - }).start(); - } - doneSignal.await(); - GameDataName.getInstance().checkAndUpdate(packDir.getPath(), crypter); - long diffTime = (System.currentTimeMillis() - startTime) / 1000L; - L2ClientDat.addLogConsole("Completed. Elapsed ".concat(String.valueOf(diffTime)).concat(" sec"), true); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/actions/MassTxtUnpacker.java b/L2ClientDat/java/com/l2jmobius/actions/MassTxtUnpacker.java deleted file mode 100644 index c9cdd74a0b..0000000000 --- a/L2ClientDat/java/com/l2jmobius/actions/MassTxtUnpacker.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.actions; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.xml.Descriptor; -import com.l2jmobius.xml.DescriptorParser; -import com.l2jmobius.xml.DescriptorReader; - -public class MassTxtUnpacker -{ - private static final MassTxtUnpacker _instance = new MassTxtUnpacker(); - - public static MassTxtUnpacker getInstance() - { - return _instance; - } - - public void unpack(String chronicle, String path, DatCrypter decCrypter) - { - L2ClientDat.addLogConsole("Mass unpacker with using " + chronicle + " chronicles by path [" + path + "]", true); - File baseDir = new File(path); - if (!baseDir.exists()) - { - L2ClientDat.addLogConsole("Directory [" + path + "] does not exists.", true); - return; - } - String unpackDirPath = path + "/" + "!unpacked"; - File unpackDir = new File(unpackDirPath); - if (!unpackDir.exists() && !unpackDir.mkdir()) - { - L2ClientDat.addLogConsole("Cannot create recrypt directory [" + unpackDirPath + "].", true); - return; - } - GameDataName.getInstance().clear(); - long startTime = System.currentTimeMillis(); - for (File file : baseDir.listFiles(pathname -> decCrypter.checkFileExtension(pathname.getName()))) - { - try - { - try (FileInputStream fis = new FileInputStream(file);) - { - String name; - String res; - String charset; - if (fis.available() < 28) - { - L2ClientDat.addLogConsole(file.getName() + " The file is too small.", true); - continue; - } - byte[] head = new byte[28]; - fis.read(head); - fis.close(); - String header = new String(head, "UTF-16LE"); - if (!header.startsWith("Lineage2Ver")) - { - L2ClientDat.addLogConsole("File " + file.getName() + " not encrypted. Skip decrypt.", true); - continue; - } - if (Integer.valueOf(header.substring(11)).intValue() != decCrypter.getCode()) - { - L2ClientDat.addLogConsole("File " + file.getName() + " encrypted code: " + header + ". Skip decrypt.", true); - continue; - } - L2ClientDat.addLogConsole("Unpacking [" + file.getName() + "]", true); - DatFile dat = new DatFile(file.getAbsolutePath()); - dat.decrypt(decCrypter); - DebugUtil.save(dat.getBuff(), file); - res = null; - charset = "UTF-8"; - if (decCrypter.isUseStructure() && file.getName().endsWith(".dat")) - { - Descriptor desc = DescriptorParser.getInstance().findDescriptorForFile(chronicle, file.getName()); - try - { - res = DescriptorReader.getInstance().parseData(file, decCrypter, desc, dat.getBuff()); - } - catch (Exception e23) - { - L2ClientDat.addLogConsole("Cannot parse [" + file.getName() + "]", true); - } - name = file.getName().replace(".dat", ".txt"); - } - else - { - name = file.getName(); - if (file.getName().endsWith(".unr")) - { - name = "dec-" + name; - } - if (file.getName().endsWith(".htm")) - { - charset = "UTF-16"; - } - try - { - try (FileOutputStream fos = new FileOutputStream(unpackDirPath + "/" + name);) - { - fos.write(dat.getBuff().array()); - } - catch (Throwable throwable) - { - throw throwable; - } - } - catch (UnsupportedEncodingException e3) - { - e3.printStackTrace(); - } - } - if (res == null) - { - continue; - } - try - { - try (PrintWriter fos = new PrintWriter(new OutputStreamWriter(new FileOutputStream(unpackDirPath + "/" + name), charset));) - { - fos.write(res); - } - catch (Throwable throwable) - { - throw throwable; - } - } - catch (Exception e4) - { - DebugUtil.getLogger().error("Cannot write file.", e4); - } - } - } - catch (Exception e) - { - DebugUtil.getLogger().error(file.getName() + " Decrypt failed.", e); - } - } - long diffTime = (System.currentTimeMillis() - startTime) / 1000L; - L2ClientDat.addLogConsole("Completed. Elapsed ".concat(String.valueOf(diffTime)).concat(" sec"), true); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/actions/OpenDat.java b/L2ClientDat/java/com/l2jmobius/actions/OpenDat.java deleted file mode 100644 index 96f91fa334..0000000000 --- a/L2ClientDat/java/com/l2jmobius/actions/OpenDat.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.actions; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.channels.FileChannel; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.xml.Descriptor; -import com.l2jmobius.xml.DescriptorParser; -import com.l2jmobius.xml.DescriptorReader; - -public class OpenDat -{ - public static void start(String dir, File path, String name, DatCrypter crypter) throws Exception - { - ByteBuffer buffer; - boolean crypt = true; - if (!path.exists()) - { - L2ClientDat.addLogConsole("File does not exist.", true); - return; - } - if (!path.canRead()) - { - L2ClientDat.addLogConsole("Unable to read file.", true); - return; - } - FileInputStream fis = new FileInputStream(path); - if (fis.available() < 28) - { - L2ClientDat.addLogConsole("The file is too small.", true); - fis.close(); - return; - } - byte[] head = new byte[28]; - fis.read(head); - String header = new String(head, "UTF-16LE"); - if (!header.startsWith("Lineage2Ver")) - { - L2ClientDat.addLogConsole("File " + name + " not encrypted. Skip decrypt.", true); - crypt = false; - } - fis.close(); - buffer = null; - if (crypt) - { - L2ClientDat.addLogConsole("File " + name + " encrypted. " + header + " decrypt ...", true); - try - { - DatFile dat = new DatFile(path.getPath()); - dat.decrypt(crypter); - buffer = dat.getBuff(); - if (buffer == null) - { - L2ClientDat.addLogConsole("Error decrypt file. Empty buffer.", true); - return; - } - } - catch (Exception e) - { - L2ClientDat.addLogConsole("Error decrypt file.", true); - return; - } - DebugUtil.save(buffer, path); - L2ClientDat.addLogConsole("Decrypt successfully.", true); - } - else - { - try - { - try (FileInputStream fIn = new FileInputStream(path);) - { - FileChannel fChan = fIn.getChannel(); - ByteBuffer mBuf = ByteBuffer.allocate((int) fChan.size()); - fChan.read(mBuf); - buffer = mBuf; - fChan.close(); - fIn.close(); - } - } - catch (IOException exc) - { - L2ClientDat.addLogConsole("Error reading.", true); - } - } - if (name.contains(".ini") || name.contains(".txt")) - { - if ((buffer != null) && buffer.hasArray()) - { - L2ClientDat.addText(new String(buffer.array(), 0, buffer.array().length, "UTF-8")); - } - } - else if (name.contains(".htm")) - { - if ((buffer != null) && buffer.hasArray()) - { - L2ClientDat.addText(new String(buffer.array(), 0, buffer.array().length, "UTF-16")); - } - } - else if (crypter.isUseStructure()) - { - L2ClientDat.addLogConsole("Read the file structure ...", true); - String data = null; - Descriptor desc = DescriptorParser.getInstance().findDescriptorForFile(dir, name); - if ((desc != null) && (buffer != null)) - { - buffer.position(0); - DebugUtil.debug("Buffer size: " + buffer.limit()); - GameDataName.getInstance().clear(); - data = DescriptorReader.getInstance().parseData(path, crypter, desc, buffer); - } - if (data == null) - { - L2ClientDat.addLogConsole("Structure is not found in the directory: " + dir + " file: " + name, true); - return; - } - L2ClientDat.addText(data); - } - L2ClientDat.addLogConsole("Completed.", true); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/DatFile.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/DatFile.java deleted file mode 100644 index 5d76249d7e..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/DatFile.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; - -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; - -public class DatFile extends File -{ - private ByteBuffer _buff; - - public DatFile(String pathname) - { - super(pathname); - } - - public ByteBuffer getBuff() - { - return _buff; - } - - public void decrypt(DatCrypter crypter) throws IOException - { - loadInfo(crypter); - try - { - try (FileInputStream fis = new FileInputStream(this);) - { - crypter.unlock(); - crypter.aquire(); - fis.skip(28L); - byte[] buff = new byte[crypter.getChunkSize(fis.available())]; - for (int len = fis.available() - crypter.getSkipSize(); len > 0; len -= fis.read(buff)) - { - crypter.update(buff); - if (!crypter.isLock()) - { - continue; - } - } - if (crypter.isLock()) - { - _buff = null; - return; - } - _buff = crypter.decryptResult(); - crypter.release(); - } - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - public static void encrypt(byte[] buff, String file, DatCrypter crypter) throws IOException - { - crypter.unlock(); - crypter.aquire(); - FileOutputStream os = new FileOutputStream(file, false); - String header = "Lineage2Ver" + crypter.getCode(); - os.write(header.getBytes("UTF-16LE")); - crypter.update(buff); - byte[] res = crypter.encryptResult().array(); - os.write(res); - if (ConfigDebug.DAT_ADD_END_BYTES) - { - byte[] endBytes = new byte[20]; - endBytes[19] = 100; - os.write(endBytes); - } - os.close(); - crypter.release(); - } - - @SuppressWarnings("resource") - private void loadInfo(DatCrypter crypter) throws IOException - { - if (!exists() || !canRead()) - { - throw new IOException("Can not read the dat file"); - } - FileInputStream fis = new FileInputStream(this); - if (fis.available() < 28) - { - throw new IOException("Can not read the dat file : too small"); - } - byte[] head = new byte[28]; - fis.read(head); - String header = new String(head, "UTF-16LE"); - if (!header.startsWith("Lineage2Ver")) - { - throw new IOException("Can not read the dat file : wrong header"); - } - if (header.endsWith("111") || header.endsWith("120")) - { - return; - } - if (header.endsWith("211") || header.endsWith("212")) - { - return; - } - if (header.endsWith("311")) - { - return; - } - if (header.endsWith("411") || header.endsWith("412") || header.endsWith("413") || header.endsWith("414")) - { - if (fis.available() < 20) - { - throw new IOException("Can not read the dat file : too small"); - } - } - else - { - throw new IOException("Can not read the dat file : unknown header : '" + header + "'"); - } - fis.close(); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowFishDatCrypter.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowFishDatCrypter.java deleted file mode 100644 index 5e3331c609..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowFishDatCrypter.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import java.nio.ByteBuffer; - -public class BlowFishDatCrypter extends DatCrypter -{ - private boolean encrypt = false; - private final BlowfishEngine blowfish = new BlowfishEngine(); - - public BlowFishDatCrypter(int code, String key, boolean deCrypt) - { - super(code); - encrypt = !deCrypt; - blowfish.init(encrypt, key.getBytes()); - } - - @Override - public ByteBuffer decryptResult() - { - return null; - } - - @Override - public ByteBuffer encryptResult() - { - return null; - } - - @Override - public void update(byte[] b) - { - } - - @Override - public int getChunkSize(int available) - { - return available; - } - - @Override - public int getSkipSize() - { - return 0; - } - - @Override - public boolean isLock() - { - return false; - } - - @Override - public boolean isEncrypt() - { - return encrypt; - } - - @Override - public void unlock() - { - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowfishEngine.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowfishEngine.java deleted file mode 100644 index 24f270e3a2..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/BlowfishEngine.java +++ /dev/null @@ -1,1214 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.ShortBufferException; - -public final class BlowfishEngine -{ - private static final int[] KP = new int[] - { - 608135816, - -2052912941, - 320440878, - 57701188, - -1542899678, - 698298832, - 137296536, - -330404727, - 1160258022, - 953160567, - -1101764913, - 887688300, - -1062458953, - -914599715, - 1065670069, - -1253635817, - -1843997223, - -1988494565 - }; - private static final int[] KS0 = new int[] - { - -785314906, - -1730169428, - 805139163, - -803545161, - -1193168915, - 1780907670, - -1166241723, - -248741991, - 614570311, - -1282315017, - 134345442, - -2054226922, - 1667834072, - 1901547113, - -1537671517, - -191677058, - 227898511, - 1921955416, - 1904987480, - -2112533778, - 2069144605, - -1034266187, - -1674521287, - 720527379, - -976113629, - 677414384, - -901678824, - -1193592593, - -1904616272, - 1614419982, - 1822297739, - -1340175810, - -686458943, - -1120842969, - 2024746970, - 1432378464, - -430627341, - -1437226092, - 1464375394, - 1676153920, - 1439316330, - 715854006, - -1261675468, - 289532110, - -1588296017, - 2087905683, - -1276242927, - 1668267050, - 732546397, - 1947742710, - -832815594, - -1685613794, - -1344882125, - 1814351708, - 2050118529, - 680887927, - 999245976, - 1800124847, - -994056165, - 1713906067, - 1641548236, - -81679983, - 1216130144, - 1575780402, - -276538019, - -377129551, - -601480446, - -345695352, - 596196993, - -745100091, - 258830323, - -2081144263, - 772490370, - -1534844924, - 1774776394, - -1642095778, - 566650946, - -152474470, - 1728879713, - -1412200208, - 1783734482, - -665571480, - -1777359064, - -1420741725, - 1861159788, - 326777828, - -1170476976, - 2130389656, - -1578015459, - 967770486, - 1724537150, - -2109534584, - -1930525159, - 1164943284, - 2105845187, - 998989502, - -529566248, - -2050940813, - 1075463327, - 1455516326, - 1322494562, - 910128902, - 469688178, - 1117454909, - 936433444, - -804646328, - -619713837, - 1240580251, - 122909385, - -2137449605, - 634681816, - -152510729, - -469872614, - -1233564613, - -1754472259, - 79693498, - -1045868618, - 1084186820, - 1583128258, - 426386531, - 1761308591, - 1047286709, - 322548459, - 995290223, - 1845252383, - -1691314900, - -863943356, - -1352745719, - -1092366332, - -567063811, - 1712269319, - 422464435, - -1060394921, - 1170764815, - -771006663, - -1177289765, - 1434042557, - 442511882, - -694091578, - 1076654713, - 1738483198, - -81812532, - -1901729288, - -617471240, - 1014306527, - -43947243, - 793779912, - -1392160085, - 842905082, - -48003232, - 1395751752, - 1040244610, - -1638115397, - -898659168, - 445077038, - -552113701, - -717051658, - 679411651, - -1402522938, - -1940957837, - 1767581616, - -1144366904, - -503340195, - -1192226400, - 284835224, - -48135240, - 1258075500, - 768725851, - -1705778055, - -1225243291, - -762426948, - 1274779536, - -505548070, - -1530167757, - 1660621633, - -823867672, - -283063590, - 913787905, - -797008130, - 737222580, - -1780753843, - -1366257256, - -357724559, - 1804850592, - -795946544, - -1345903136, - -1908647121, - -1904896841, - -1879645445, - -233690268, - -2004305902, - -1878134756, - 1336762016, - 1754252060, - -774901359, - -1280786003, - 791618072, - -1106372745, - -361419266, - -1962795103, - -442446833, - -1250986776, - 413987798, - -829824359, - -1264037920, - -49028937, - 2093235073, - -760370983, - 375366246, - -2137688315, - -1815317740, - 555357303, - -424861595, - 2008414854, - -950779147, - -73583153, - -338841844, - 2067696032, - -700376109, - -1373733303, - 2428461, - 544322398, - 577241275, - 1471733935, - 610547355, - -267798242, - 1432588573, - 1507829418, - 2025931657, - -648391809, - 545086370, - 48609733, - -2094660746, - 1653985193, - 298326376, - 1316178497, - -1287180854, - 2064951626, - 458293330, - -1705826027, - -703637697, - -1130641692, - 727753846, - -2115603456, - 146436021, - 1461446943, - -224990101, - 705550613, - -1235000031, - -407242314, - -13368018, - -981117340, - 1404054877, - -1449160799, - 146425753, - 1854211946 - }; - private static final int[] KS1 = new int[] - { - 1266315497, - -1246549692, - -613086930, - -1004984797, - -1385257296, - 1235738493, - -1662099272, - -1880247706, - -324367247, - 1771706367, - 1449415276, - -1028546847, - 422970021, - 1963543593, - -1604775104, - -468174274, - 1062508698, - 1531092325, - 1804592342, - -1711849514, - -1580033017, - -269995787, - 1294809318, - -265986623, - 1289560198, - -2072974554, - 1669523910, - 35572830, - 157838143, - 1052438473, - 1016535060, - 1802137761, - 1753167236, - 1386275462, - -1214491899, - -1437595849, - 1040679964, - 2145300060, - -1904392980, - 1461121720, - -1338320329, - -263189491, - -266592508, - 33600511, - -1374882534, - 1018524850, - 629373528, - -603381315, - -779021319, - 2091462646, - -1808644237, - 586499841, - 988145025, - 935516892, - -927631820, - -1695294041, - -1455136442, - 265290510, - -322386114, - -1535828415, - -499593831, - 1005194799, - 847297441, - 406762289, - 1314163512, - 1332590856, - 1866599683, - -167115585, - 750260880, - 613907577, - 1450815602, - -1129346641, - -560302305, - -644675568, - -1282691566, - -590397650, - 1427272223, - 778793252, - 1343938022, - -1618686585, - 2052605720, - 1946737175, - -1130390852, - -380928628, - -327488454, - -612033030, - 1661551462, - -1000029230, - -283371449, - 840292616, - -582796489, - 616741398, - 312560963, - 711312465, - 1351876610, - 322626781, - 1910503582, - 271666773, - -2119403562, - 1594956187, - 70604529, - -677132437, - 1007753275, - 1495573769, - -225450259, - -1745748998, - -1631928532, - 504708206, - -2031925904, - -353800271, - -2045878774, - 1514023603, - 1998579484, - 1312622330, - 694541497, - -1712906993, - -2143385130, - 1382467621, - 776784248, - -1676627094, - -971698502, - -1797068168, - -1510196141, - 503983604, - -218673497, - 907881277, - 423175695, - 432175456, - 1378068232, - -149744970, - -340918674, - -356311194, - -474200683, - -1501837181, - -1317062703, - 26017576, - -1020076561, - -1100195163, - 1700274565, - 1756076034, - -288447217, - -617638597, - 720338349, - 1533947780, - 354530856, - 688349552, - -321042571, - 1637815568, - 332179504, - -345916010, - 53804574, - -1442618417, - -1250730864, - 1282449977, - -711025141, - -877994476, - -288586052, - 1617046695, - -1666491221, - -1292663698, - 1686838959, - 431878346, - -1608291911, - 1700445008, - 1080580658, - 1009431731, - 832498133, - -1071531785, - -1688990951, - -2023776103, - -1778935426, - 1648197032, - -130578278, - -1746719369, - 300782431, - 375919233, - 238389289, - -941219882, - -1763778655, - 2019080857, - 1475708069, - 455242339, - -1685863425, - 448939670, - -843904277, - 1395535956, - -1881585436, - 1841049896, - 1491858159, - 885456874, - -30872223, - -293847949, - 1565136089, - -396052509, - 1108368660, - 540939232, - 1173283510, - -1549095958, - -613658859, - -87339056, - -951913406, - -278217803, - 1699691293, - 1103962373, - -669091426, - -2038084153, - -464828566, - 1031889488, - -815619598, - 1535977030, - -58162272, - -1043876189, - 2132092099, - 1774941330, - 1199868427, - 1452454533, - 157007616, - -1390851939, - 342012276, - 595725824, - 1480756522, - 206960106, - 497939518, - 591360097, - 863170706, - -1919713727, - -698356495, - 1814182875, - 2094937945, - -873565088, - 1082520231, - -831049106, - -1509457788, - 435703966, - -386934699, - 1641649973, - -1452693590, - -989067582, - 1510255612, - -2146710820, - -1639679442, - -1018874748, - -36346107, - 236887753, - -613164077, - 274041037, - 1734335097, - -479771840, - -976997275, - 1899903192, - 1026095262, - -244449504, - 356393447, - -1884275382, - -421290197, - -612127241 - }; - private static final int[] KS2 = new int[] - { - -381855128, - -1803468553, - -162781668, - -1805047500, - 1091903735, - 1979897079, - -1124832466, - -727580568, - -737663887, - 857797738, - 1136121015, - 1342202287, - 507115054, - -1759230650, - 337727348, - -1081374656, - 1301675037, - -1766485585, - 1895095763, - 1721773893, - -1078195732, - 62756741, - 2142006736, - 835421444, - -1762973773, - 1442658625, - -635090970, - -1412822374, - 676362277, - 1392781812, - 170690266, - -373920261, - 1759253602, - -683120384, - 1745797284, - 664899054, - 1329594018, - -393761396, - -1249058810, - 2062866102, - -1429332356, - -751345684, - -830954599, - 1080764994, - 553557557, - -638351943, - -298199125, - 991055499, - 499776247, - 1265440854, - 648242737, - -354183246, - 980351604, - -581221582, - 1749149687, - -898096901, - -83167922, - -654396521, - 1161844396, - -1169648345, - 1431517754, - 545492359, - -26498633, - -795437749, - 1437099964, - -1592419752, - -861329053, - -1713251533, - -1507177898, - 1060185593, - 1593081372, - -1876348548, - -34019326, - 69676912, - -2135222948, - 86519011, - -1782508216, - -456757982, - 1220612927, - -955283748, - 133810670, - 1090789135, - 1078426020, - 1569222167, - 845107691, - -711212847, - -222510705, - 1091646820, - 628848692, - 1613405280, - -537335645, - 526609435, - 236106946, - 48312990, - -1352249391, - -892239595, - 1797494240, - 859738849, - 992217954, - -289490654, - -2051890674, - -424014439, - -562951028, - 765654824, - -804095931, - -1783130883, - 1685915746, - -405998096, - 1414112111, - -2021832454, - -1013056217, - -214004450, - 172450625, - -1724973196, - 980381355, - -185008841, - -1475158944, - -1578377736, - -1726226100, - -613520627, - -964995824, - 1835478071, - 660984891, - -590288892, - -248967737, - -872349789, - -1254551662, - 1762651403, - 1719377915, - -824476260, - -1601057013, - -652910941, - -1156370552, - 1364962596, - 2073328063, - 1983633131, - 926494387, - -871278215, - -2144935273, - -198299347, - 1749200295, - -966120645, - 309677260, - 2016342300, - 1779581495, - -1215147545, - 111262694, - 1274766160, - 443224088, - 298511866, - 1025883608, - -488520759, - 1145181785, - 168956806, - -653464466, - -710153686, - 1689216846, - -628709281, - -1094719096, - 1692713982, - -1648590761, - -252198778, - 1618508792, - 1610833997, - -771914938, - -164094032, - 2001055236, - -684262196, - -2092799181, - -266425487, - -1333771897, - 1006657119, - 2006996926, - -1108824540, - 1430667929, - -1084739999, - 1314452623, - -220332638, - -193663176, - -2021016126, - 1399257539, - -927756684, - -1267338667, - 1190975929, - 2062231137, - -1960976508, - -2073424263, - -1856006686, - 1181637006, - 548689776, - -1932175983, - -922558900, - -1190417183, - -1149106736, - 296247880, - 1970579870, - -1216407114, - -525738999, - 1714227617, - -1003338189, - -396747006, - 166772364, - 1251581989, - 493813264, - 448347421, - 195405023, - -1584991729, - 677966185, - -591930749, - 1463355134, - -1578971493, - 1338867538, - 1343315457, - -1492745222, - -1610435132, - 233230375, - -1694987225, - 2000651841, - -1017099258, - 1638401717, - -266896856, - -1057650976, - 6314154, - 819756386, - 300326615, - 590932579, - 1405279636, - -1027467724, - -1144263082, - -1866680610, - -335774303, - -833020554, - 1862657033, - 1266418056, - 963775037, - 2089974820, - -2031914401, - 1917689273, - 448879540, - -744572676, - -313240200, - 150775221, - -667058989, - 1303187396, - 508620638, - -1318983944, - -1568336679, - 1817252668, - 1876281319, - 1457606340, - 908771278, - -574175177, - -677760460, - -1838972398, - 1729034894, - 1080033504 - }; - private static final int[] KS3 = new int[] - { - 976866871, - -738527793, - -1413318857, - 1522871579, - 1555064734, - 1336096578, - -746444992, - -1715692610, - -720269667, - -1089506539, - -701686658, - -956251013, - -1215554709, - 564236357, - -1301368386, - 1781952180, - 1464380207, - -1131123079, - -962365742, - 1699332808, - 1393555694, - 1183702653, - -713881059, - 1288719814, - 691649499, - -1447410096, - -1399511320, - -1101077756, - -1577396752, - 1781354906, - 1676643554, - -1702433246, - -1064713544, - 1126444790, - -1524759638, - -1661808476, - -2084544070, - -1679201715, - -1880812208, - -1167828010, - 673620729, - -1489356063, - 1269405062, - -279616791, - -953159725, - -145557542, - 1057255273, - 2012875353, - -2132498155, - -2018474495, - -1693849939, - 993977747, - -376373926, - -1640704105, - 753973209, - 36408145, - -1764381638, - 25011837, - -774947114, - 2088578344, - 530523599, - -1376601957, - 1524020338, - 1518925132, - -534139791, - -535190042, - 1202760957, - -309069157, - -388774771, - 674977740, - -120232407, - 2031300136, - 2019492241, - -311074731, - -141160892, - -472686964, - 352677332, - -1997247046, - 60907813, - 90501309, - -1007968747, - 1016092578, - -1759044884, - -1455814870, - 457141659, - 509813237, - -174299397, - 652014361, - 1966332200, - -1319764491, - 55981186, - -1967506245, - 676427537, - -1039476232, - -1412673177, - -861040033, - 1307055953, - 942726286, - 933058658, - -1826555503, - -361066302, - -79791154, - 1361170020, - 2001714738, - -1464409218, - -1020707514, - 1222529897, - 1679025792, - -1565652976, - -580013532, - 1770335741, - 151462246, - -1281735158, - 1682292957, - 1483529935, - 471910574, - 1539241949, - 458788160, - -858652289, - 1807016891, - -576558466, - 978976581, - 1043663428, - -1129001515, - 1927990952, - -94075717, - -1922690386, - -1086558393, - -761535389, - 1412390302, - -1362987237, - -162634896, - 1947078029, - -413461673, - -126740879, - -1353482915, - 1077988104, - 1320477388, - 886195818, - 18198404, - -508558296, - -1785185763, - 112762804, - -831610808, - 1866414978, - 891333506, - 18488651, - 661792760, - 1628790961, - -409780260, - -1153795797, - 876946877, - -1601685023, - 1372485963, - 791857591, - -1608533303, - -534984578, - -1127755274, - -822013501, - -1578587449, - 445679433, - -732971622, - -790962485, - -720709064, - 54117162, - -963561881, - -1913048708, - -525259953, - -140617289, - 1140177722, - -220915201, - 668550556, - -1080614356, - 367459370, - 261225585, - -1684794075, - -85617823, - -826893077, - -1029151655, - 314222801, - -1228863650, - -486184436, - 282218597, - -888953790, - -521376242, - 379116347, - 1285071038, - 846784868, - -1625320142, - -523005217, - -744475605, - -1989021154, - 453669953, - 1268987020, - -977374944, - -1015663912, - -550133875, - -1684459730, - -435458233, - 266596637, - -447948204, - 517658769, - -832407089, - -851542417, - 370717030, - -47440635, - -2070949179, - -151313767, - -182193321, - -1506642397, - -1817692879, - 1456262402, - -1393524382, - 1517677493, - 1846949527, - -1999473716, - -560569710, - -2118563376, - 1280348187, - 1908823572, - -423180355, - 846861322, - 1172426758, - -1007518822, - -911584259, - 1655181056, - -1155153950, - 901632758, - 1897031941, - -1308360158, - -1228157060, - -847864789, - 1393639104, - 373351379, - 950779232, - 625454576, - -1170726756, - -146354570, - 2007998917, - 544563296, - -2050228658, - -1964470824, - 2058025392, - 1291430526, - 424198748, - 50039436, - 29584100, - -689184263, - -1865090967, - -1503863136, - 1057563949, - -1039604065, - -1219600078, - -831004069, - 1469046755, - 985887462 - }; - private final int[] S0 = new int[256]; - private final int[] S1 = new int[256]; - private final int[] S2 = new int[256]; - private final int[] S3 = new int[256]; - private final int[] P = new int[18]; - private boolean encrypting = false; - private byte[] workingKey = null; - - public void init(boolean encryption, byte[] key) - { - encrypting = encryption; - workingKey = key; - setKey(workingKey); - } - - public final int processBlock(byte[] in, int inOff, byte[] out, int outOff) throws IllegalBlockSizeException, ShortBufferException - { - if (workingKey == null) - { - throw new IllegalStateException("Blowfish not initialised"); - } - if ((inOff + 8) > in.length) - { - throw new IllegalBlockSizeException("input buffer too short"); - } - if ((outOff + 8) > out.length) - { - throw new ShortBufferException("output buffer too short"); - } - if (encrypting) - { - encryptBlock(in, inOff, out, outOff); - } - else - { - decryptBlock(in, inOff, out, outOff); - } - return 8; - } - - private int F(int x) - { - return ((S0[x >>> 24] + S1[(x >>> 16) & 255]) ^ S2[(x >>> 8) & 255]) + S3[x & 255]; - } - - private void processTable(int xl, int xr, int[] table) - { - int size = table.length; - for (int s = 0; s < size; s += 2) - { - xl ^= P[0]; - for (int i = 1; i < 16; i += 2) - { - xl ^= F(xr ^= F(xl) ^ P[i]) ^ P[i + 1]; - } - table[s] = xr ^= P[17]; - table[s + 1] = xl; - xr = xl; - xl = table[s]; - } - } - - private void setKey(byte[] key) - { - System.arraycopy(KS0, 0, S0, 0, 256); - System.arraycopy(KS1, 0, S1, 0, 256); - System.arraycopy(KS2, 0, S2, 0, 256); - System.arraycopy(KS3, 0, S3, 0, 256); - System.arraycopy(KP, 0, P, 0, 18); - int keyLength = key.length; - int keyIndex = 0; - int i = 0; - while (i < 18) - { - int data = 0; - for (int j = 0; j < 4; ++j) - { - data = (data << 8) | (key[keyIndex++] & 255); - if (keyIndex < keyLength) - { - continue; - } - keyIndex = 0; - } - int[] arrn = P; - int n = i++; - arrn[n] = arrn[n] ^ data; - } - processTable(0, 0, P); - processTable(P[16], P[17], S0); - processTable(S0[254], S0[255], S1); - processTable(S1[254], S1[255], S2); - processTable(S2[254], S2[255], S3); - } - - private void encryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex) - { - int xl = BytesTo32bits(src, srcIndex); - int xr = BytesTo32bits(src, srcIndex + 4); - xl ^= P[0]; - for (int i = 1; i < 16; i += 2) - { - xl ^= F(xr ^= F(xl) ^ P[i]) ^ P[i + 1]; - } - Bits32ToBytes(xr ^= P[17], dst, dstIndex); - Bits32ToBytes(xl, dst, dstIndex + 4); - } - - private void decryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex) - { - int xl = BytesTo32bits(src, srcIndex); - int xr = BytesTo32bits(src, srcIndex + 4); - xl ^= P[17]; - for (int i = 16; i > 0; i -= 2) - { - xl ^= F(xr ^= F(xl) ^ P[i]) ^ P[i - 1]; - } - Bits32ToBytes(xr ^= P[0], dst, dstIndex); - Bits32ToBytes(xl, dst, dstIndex + 4); - } - - private int BytesTo32bits(byte[] b, int i) - { - return ((b[i + 3] & 255) << 24) | ((b[i + 2] & 255) << 16) | ((b[i + 1] & 255) << 8) | (b[i] & 255); - } - - private void Bits32ToBytes(int in, byte[] b, int offset) - { - b[offset] = (byte) in; - b[offset + 1] = (byte) (in >> 8); - b[offset + 2] = (byte) (in >> 16); - b[offset + 3] = (byte) (in >> 24); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DESDatCrypter.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DESDatCrypter.java deleted file mode 100644 index b1512a475c..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DESDatCrypter.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import java.io.ByteArrayOutputStream; -import java.nio.ByteBuffer; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.SecretKeyFactory; -import javax.crypto.spec.DESKeySpec; - -public class DESDatCrypter extends DatCrypter -{ - private ByteArrayOutputStream _result; - private final boolean encrypt; - private final Cipher _cipher; - - public DESDatCrypter(int code, String sKey, boolean deCrypt) throws Exception - { - super(code); - encrypt = !deCrypt; - byte[] key = sKey.getBytes(); - byte[] keyXor = new byte[key.length]; - for (int i = 0; i < key.length; ++i) - { - byte[] arrby = keyXor; - int n = i % 8; - arrby[n] = (byte) (arrby[n] ^ key[i]); - } - DESKeySpec dks = new DESKeySpec(keyXor); - SecretKeyFactory skf = SecretKeyFactory.getInstance("DES"); - SecretKey desKey = skf.generateSecret(dks); - _cipher = Cipher.getInstance("DES/ECB/NoPadding"); - _cipher.init(deCrypt ? 2 : 1, desKey); - } - - @Override - public ByteBuffer decryptResult() - { - return ByteBuffer.wrap(_result.toByteArray()); - } - - @Override - public ByteBuffer encryptResult() - { - return ByteBuffer.wrap(_result.toByteArray()); - } - - @Override - public void update(byte[] bArray) - { - try - { - if (!encrypt) - { - int size; - _result = new ByteArrayOutputStream(bArray.length); - byte[] bytes = new byte[8]; - for (int position = 0; position < bArray.length; position += size) - { - size = Math.min(8, bArray.length - position); - System.arraycopy(bArray, position, bytes, 0, size); - _result.write(size == 8 ? _cipher.doFinal(bytes) : bytes, 0, size); - } - } - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - @Override - public int getChunkSize(int available) - { - return available; - } - - @Override - public int getSkipSize() - { - return 0; - } - - @Override - public boolean isLock() - { - return false; - } - - @Override - public boolean isEncrypt() - { - return encrypt; - } - - @Override - public void unlock() - { - } - - @Override - public void aquire() - { - super.aquire(); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DatCrypter.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DatCrypter.java deleted file mode 100644 index 53be10a8d8..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/DatCrypter.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.locks.ReentrantLock; - -public abstract class DatCrypter -{ - private final ReentrantLock _lock = new ReentrantLock(true); - private final int code; - private boolean useStructure; - private final List fileEndNames = new ArrayList<>(); - - public DatCrypter(int code) - { - this.code = code; - } - - public abstract void update(byte[] var1); - - public abstract ByteBuffer decryptResult(); - - public abstract ByteBuffer encryptResult(); - - public abstract int getChunkSize(int var1); - - public abstract int getSkipSize(); - - public abstract boolean isLock(); - - public boolean checkAquired() - { - return _lock.isHeldByCurrentThread(); - } - - public void aquire() - { - _lock.lock(); - } - - public void release() - { - _lock.unlock(); - } - - public abstract boolean isEncrypt(); - - public abstract void unlock(); - - public int getCode() - { - return code; - } - - public void addFileExtension(String n) - { - fileEndNames.addAll(Arrays.asList(n.split(";"))); - } - - public boolean checkFileExtension(String n) - { - return n.contains(".") && fileEndNames.contains(n.split("\\.")[1]); - } - - public boolean isUseStructure() - { - return useStructure; - } - - public void setUseStructure(boolean useStructure) - { - this.useStructure = useStructure; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/RSADatCrypter.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/RSADatCrypter.java deleted file mode 100644 index d7a2136263..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/RSADatCrypter.java +++ /dev/null @@ -1,231 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.nio.ByteBuffer; -import java.security.KeyFactory; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; -import java.security.spec.RSAPrivateKeySpec; -import java.security.spec.RSAPublicKeySpec; -import java.util.Arrays; -import java.util.zip.Deflater; -import java.util.zip.DeflaterOutputStream; -import java.util.zip.Inflater; -import java.util.zip.InflaterInputStream; - -import javax.crypto.Cipher; - -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.util.Util; - -public class RSADatCrypter extends DatCrypter -{ - private Cipher _cipher; - private ByteArrayOutputStream _result; - private boolean encrypt = false; - private boolean _errorLock = false; - - public RSADatCrypter(int code, String modulus, String exp, boolean deCrypt) - { - super(code); - try - { - _cipher = Cipher.getInstance("RSA/ECB/nopadding"); - if (deCrypt) - { - RSAPublicKeySpec keyspec = new RSAPublicKeySpec(new BigInteger(modulus, 16), new BigInteger(exp, 16)); - RSAPublicKey rsaKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(keyspec); - _cipher.init(2, rsaKey); - } - else - { - encrypt = true; - RSAPrivateKeySpec keyspec = new RSAPrivateKeySpec(new BigInteger(modulus, 16), new BigInteger(exp, 16)); - RSAPrivateKey rsaKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(keyspec); - _cipher.init(1, rsaKey); - } - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - @Override - public ByteBuffer decryptResult() - { - if (!checkAquired()) - { - throw new IllegalStateException("Dont even think about using a DatCrypter that you didnt aquired"); - } - byte[] compressed = _result.toByteArray(); - int inflatedSize = compressed[0] & 255; - inflatedSize += (compressed[1] << 8) & 65280; - inflatedSize += (compressed[2] << 16) & 16711680; - inflatedSize += (compressed[3] << 24) & -16777216; - ByteArrayInputStream bais = new ByteArrayInputStream(compressed, 4, compressed.length - 4); - InflaterInputStream iis = new InflaterInputStream(bais, new Inflater()); - ByteArrayOutputStream baos = new ByteArrayOutputStream(128); - byte[] inflatedResult = new byte[128]; - try - { - int len; - while ((len = iis.read(inflatedResult)) > 0) - { - baos.write(inflatedResult, 0, len); - } - } - catch (IOException e) - { - e.printStackTrace(); - } - if (baos.size() != inflatedSize) - { - DebugUtil.getLogger().error("[RSADatCrypter] Hum inflated result doesnt have the expected length..(" + baos.size() + "!=" + inflatedSize + ")"); - } - return ByteBuffer.wrap(baos.toByteArray()); - } - - @Override - public ByteBuffer encryptResult() - { - if (!checkAquired()) - { - throw new IllegalStateException("Dont even think about using a DatCrypter that you didnt aquired"); - } - ByteArrayOutputStream result = new ByteArrayOutputStream(); - try - { - int len; - ByteArrayInputStream input = new ByteArrayInputStream(_result.toByteArray()); - byte[] buffer = new byte[124]; - byte[] block = new byte[128]; - while ((len = input.read(buffer)) > 0) - { - Arrays.fill(block, (byte) 0); - block[0] = (byte) ((len >> 24) & 255); - block[1] = (byte) ((len >> 16) & 255); - block[2] = (byte) ((len >> 8) & 255); - block[3] = (byte) (len & 255); - System.arraycopy(buffer, 0, block, 128 - len - ((124 - len) % 4), len); - result.write(_cipher.doFinal(block)); - } - } - catch (Exception e) - { - e.printStackTrace(); - } - return ByteBuffer.wrap(result.toByteArray()); - } - - @Override - public void update(byte[] b) - { - if (!checkAquired()) - { - throw new IllegalStateException("Dont even think about using a DatCrypter that you didnt aquired"); - } - try - { - if (!encrypt) - { - byte[] chunk = _cipher.doFinal(b); - int size = chunk[3]; - size += (chunk[2] << 8) & 65280; - size += (chunk[1] << 16) & 16711680; - int pad = (-size & 1) + (-(size += (chunk[0] << 24) & -16777216) & 2); - DebugUtil.debug("Size:" + size + " pad:" + pad); - if (size > 128) - { - _errorLock = true; - return; - } - _result.write(chunk, 128 - size - pad, size); - DebugUtil.debug("--- BLOCK:\n" + Util.printData(chunk) + "-----"); - } - else - { - try - { - ByteArrayOutputStream s = new ByteArrayOutputStream(b.length); - DeflaterOutputStream dos = new DeflaterOutputStream(s, new Deflater()); - dos.write(b); - dos.finish(); - dos.close(); - int l = b.length; - _result = new ByteArrayOutputStream(10 + s.toByteArray().length); - _result.write(l & 255); - _result.write((l & 65280) >> 8); - _result.write((l & 16711680) >> 16); - _result.write((l & -16777216) >> 24); - _result.write(s.toByteArray()); - } - catch (IOException e) - { - e.printStackTrace(); - } - } - } - catch (Exception e) - { - e.printStackTrace(); - _errorLock = true; - } - } - - @Override - public void aquire() - { - super.aquire(); - _result = new ByteArrayOutputStream(128); - } - - @Override - public boolean isEncrypt() - { - return encrypt; - } - - @Override - public int getChunkSize(int available) - { - return 128; - } - - @Override - public int getSkipSize() - { - return 20; - } - - @Override - public boolean isLock() - { - return _errorLock; - } - - @Override - public void unlock() - { - _errorLock = false; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/XorDatCrypter.java b/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/XorDatCrypter.java deleted file mode 100644 index e1e7c33f8c..0000000000 --- a/L2ClientDat/java/com/l2jmobius/clientcryptor/crypt/XorDatCrypter.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.clientcryptor.crypt; - -import java.io.ByteArrayOutputStream; -import java.nio.ByteBuffer; - -public class XorDatCrypter extends DatCrypter -{ - private ByteArrayOutputStream _result; - private final boolean encrypt; - private final int xorKey; - - public XorDatCrypter(int code, int key, boolean deCrypt) - { - super(code); - encrypt = !deCrypt; - xorKey = key; - } - - @Override - public ByteBuffer decryptResult() - { - return ByteBuffer.wrap(_result.toByteArray()); - } - - @Override - public ByteBuffer encryptResult() - { - return ByteBuffer.wrap(_result.toByteArray()); - } - - @Override - public void update(byte[] bArray) - { - for (byte b : bArray) - { - _result.write(b ^ xorKey); - } - } - - @Override - public int getChunkSize(int available) - { - return 1; - } - - @Override - public int getSkipSize() - { - return 0; - } - - @Override - public boolean isLock() - { - return false; - } - - @Override - public boolean isEncrypt() - { - return encrypt; - } - - @Override - public void unlock() - { - } - - @Override - public void aquire() - { - super.aquire(); - _result = new ByteArrayOutputStream(128); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/config/ConfigDebug.java b/L2ClientDat/java/com/l2jmobius/config/ConfigDebug.java deleted file mode 100644 index c28318e47e..0000000000 --- a/L2ClientDat/java/com/l2jmobius/config/ConfigDebug.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.config; - -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; - -import com.l2jmobius.util.DebugUtil; - -import jfork.nproperty.Cfg; -import jfork.nproperty.CfgIgnore; -import jfork.nproperty.ConfigParser; - -@Cfg -public class ConfigDebug extends ConfigParser -{ - @CfgIgnore - private static final ConfigDebug _instance = new ConfigDebug(); - public static boolean DAT_ADD_END_BYTES = true; - public static boolean DAT_DEBUG_MSG = false; - public static boolean DAT_DEBUG_POS = false; - public static int DAT_DEBUG_POS_LIMIT = 100000; - public static boolean DAT_REPLACEMENT_NAMES = true; - public static boolean ENCRYPT = true; - public static boolean SAVE_DECODE = false; - - public static void load() - { - try - { - ConfigParser.parse((_instance), "./config/config_debug.ini"); - } - catch (IOException | IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) - { - DebugUtil.getLogger().error("Failed to load configuration file.", e); - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/config/ConfigWindow.java b/L2ClientDat/java/com/l2jmobius/config/ConfigWindow.java deleted file mode 100644 index 10002d2da9..0000000000 --- a/L2ClientDat/java/com/l2jmobius/config/ConfigWindow.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.config; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.util.Properties; - -import com.l2jmobius.util.DebugUtil; - -import jfork.nproperty.Cfg; -import jfork.nproperty.CfgIgnore; -import jfork.nproperty.ConfigParser; - -@Cfg -public class ConfigWindow extends ConfigParser -{ - @CfgIgnore - private static final ConfigWindow _instance = new ConfigWindow(); - @CfgIgnore - private static final String PATH = "./config/config_window.ini"; - public static String FILE_OPEN_CURRENT_DIRECTORY_UNPACK = "."; - public static String FILE_OPEN_CURRENT_DIRECTORY_PACK = "."; - public static String FILE_OPEN_CURRENT_DIRECTORY = "."; - public static String FILE_SAVE_CURRENT_DIRECTORY = "."; - public static String CURRENT_CHRONICLE = ""; - public static int WINDOW_HEIGHT = 600; - public static int WINDOW_WIDTH = 800; - public static String CURRENT_ENCRYPT = "."; - public static String CURRENT_DECRYPT = "."; - public static String LAST_FILE_SELECTED = "."; - - public static void load() - { - try - { - ConfigParser.parse((_instance), PATH); - } - catch (IOException | IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) - { - DebugUtil.getLogger().error("Failed to load configuration file.", e); - } - } - - public static void save(String key, String var) - { - try - { - Properties props = new Properties(); - props.load(new FileInputStream(PATH)); - props.setProperty(key, var); - FileOutputStream output = new FileOutputStream(PATH); - props.store(output, "Saved settings"); - output.close(); - load(); - } - catch (Exception props) - { - // empty catch block - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/data/GameDataName.java b/L2ClientDat/java/com/l2jmobius/data/GameDataName.java deleted file mode 100644 index 5e4e33a0a8..0000000000 --- a/L2ClientDat/java/com/l2jmobius/data/GameDataName.java +++ /dev/null @@ -1,237 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.data; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.nio.ByteBuffer; -import java.nio.file.Files; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.DatFile; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.util.ByteReader; -import com.l2jmobius.util.ByteWriter; -import com.l2jmobius.util.Util; -import com.l2jmobius.xml.ParamNode; - -public class GameDataName -{ - private static final byte[] endFileBytes = new byte[] - { - 12, - 83, - 97, - 102, - 101, - 80, - 97, - 99, - 107, - 97, - 103, - 101, - 0 - }; - private final Map names = new HashMap<>(); - private final Map nameHash = new HashMap<>(); - private final Map nameLowHash = new HashMap<>(); - - private void load(File currentFile, DatCrypter decCrypter) throws Exception - { - names.clear(); - nameHash.clear(); - nameLowHash.clear(); - if (decCrypter.isEncrypt()) - { - File file = new File(currentFile.getParent(), "L2GameDataName.txt"); - if (file.exists()) - { - List list = Files.readAllLines(file.toPath()); - for (int i = 0; i < list.size(); ++i) - { - String str = list.get(i); - Map map = Util.stringToMap(str); - String name = map.get("name"); - name = name.substring(1, name.length() - 1); - names.put(i, name); - nameHash.put(name, i); - nameLowHash.put(name.toLowerCase(), i); - } - L2ClientDat.addLogConsole("GameDataName: Load " + names.size() + " count.", true); - } - } - else - { - File file = new File(currentFile.getParent(), "L2GameDataName.dat"); - FileInputStream fis = new FileInputStream(file); - if (fis.available() < 28) - { - L2ClientDat.addLogConsole(file.getName() + " The file is too small.", true); - fis.close(); - return; - } - byte[] head = new byte[28]; - fis.read(head); - fis.close(); - String header = new String(head, "UTF-16LE"); - if (!header.startsWith("Lineage2Ver")) - { - L2ClientDat.addLogConsole("GameDataName: File " + file.getName() + " not encrypted. Skip decrypt.", true); - return; - } - if (Integer.valueOf(header.substring(11)).intValue() != decCrypter.getCode()) - { - L2ClientDat.addLogConsole("GameDataName: File " + file.getName() + " encrypted code: " + header + ". Skip decrypt.", true); - return; - } - L2ClientDat.addLogConsole("Unpacking [" + file.getName() + "]", true); - DatFile dat = new DatFile(file.getAbsolutePath()); - dat.decrypt(decCrypter); - ByteBuffer buff = dat.getBuff(); - int size = ByteReader.readUInt(buff); - for (int i = 0; i < size; ++i) - { - String name = ByteReader.readUtfString(buff, false); - if (name.contains("[") || name.contains("]")) - { - L2ClientDat.addLogConsole("GameDataName: Error index: " + i + " string: " + name, true); - } - names.put(i, name); - nameHash.put(name, i); - nameLowHash.put(name.toLowerCase(), i); - } - L2ClientDat.addLogConsole("GameDataName: Load " + names.size() + " count.", true); - } - } - - public String getString(File currentFile, DatCrypter crypter, int index) throws Exception - { - String val; - if (names.isEmpty()) - { - load(currentFile, crypter); - } - if (!names.containsKey(index)) - { - L2ClientDat.addLogConsole("GameDataName: Not found index: " + index, true); - } - if ((val = names.getOrDefault(index, String.valueOf(index))).isEmpty()) - { - L2ClientDat.addLogConsole("GameDataName: String name Empty!!! file: " + currentFile.getName(), true); - } - return "[" + val + "]"; - } - - public synchronized int getId(File currentFile, DatCrypter crypter, ParamNode node, String str) throws Exception - { - String low; - if (!str.startsWith("[") || !str.endsWith("]")) - { - L2ClientDat.addLogConsole("GameDataName: String name not brackets!!! file: " + currentFile.getName() + " str: " + str + " node: " + node, true); - } - if ((str = str.substring(1, str.length() - 1)).isEmpty()) - { - L2ClientDat.addLogConsole("GameDataName: String name Empty!!! file: " + currentFile.getName() + " node: " + node, true); - return -1; - } - if (nameLowHash.isEmpty()) - { - load(currentFile, crypter); - } - if (nameLowHash.containsKey(low = str.toLowerCase())) - { - return nameLowHash.get(low); - } - int newIndex = nameLowHash.size(); - nameLowHash.put(low, newIndex); - nameHash.put(str, nameHash.size()); - return newIndex; - } - - public void checkAndUpdate(String currentDir, DatCrypter crypter) throws Exception - { - if (!nameHash.isEmpty()) - { - HashSet setList = new HashSet<>(); - TreeMap sortedMap = new TreeMap<>(); - for (String key : nameHash.keySet()) - { - sortedMap.put(nameHash.get(key), key); - if (setList.add(key.toLowerCase())) - { - continue; - } - L2ClientDat.addLogConsole("GameDataName: name " + key + " conflicted.", true); - } - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - baos.write((byte[]) ByteWriter.writeInt(sortedMap.size()).array()); - for (String key : sortedMap.values()) - { - baos.write((byte[]) ByteWriter.writeUtfString(key, false).array()); - } - byte[] bytes = baos.toByteArray(); - byte[] resultBytes = new byte[bytes.length + endFileBytes.length]; - System.arraycopy(bytes, 0, resultBytes, 0, bytes.length); - System.arraycopy(endFileBytes, 0, resultBytes, bytes.length, endFileBytes.length); - String file = currentDir + "/L2GameDataName.dat"; - if (ConfigDebug.ENCRYPT) - { - DatFile.encrypt(resultBytes, file, crypter); - } - else - { - FileOutputStream os = new FileOutputStream(file, false); - os.write(resultBytes); - os.close(); - } - L2ClientDat.addLogConsole("GameDataName: packed " + sortedMap.size() + " count.", true); - names.clear(); - nameHash.clear(); - nameLowHash.clear(); - } - } - - public void clear() - { - names.clear(); - nameHash.clear(); - nameLowHash.clear(); - } - - public static GameDataName getInstance() - { - return SingletonHolder._instance; - } - - private static class SingletonHolder - { - static final GameDataName _instance = new GameDataName(); - - private SingletonHolder() - { - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/forms/JPopupTextArea.java b/L2ClientDat/java/com/l2jmobius/forms/JPopupTextArea.java deleted file mode 100644 index f008bdf815..0000000000 --- a/L2ClientDat/java/com/l2jmobius/forms/JPopupTextArea.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.forms; - -import java.awt.Frame; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.StringTokenizer; -import java.util.Vector; - -import javax.swing.JComponent; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPopupMenu; -import javax.swing.JSeparator; -import javax.swing.JTextArea; - -public class JPopupTextArea extends JTextArea -{ - static final String COPY = "Copy (Ctrl + C)"; - static final String CUT = "Cut (Ctrl + X)"; - static final String PASTE = "Paste (Ctrl + V)"; - static final String DELETE = "Delete"; - static final String SELECTALL = "Select all (Ctrl + A)"; - static final String LINE = "Line (Ctrl + G)"; - static final String FIND = "Find (Ctrl + F)"; - Vector lineLength = new Vector<>(); - - public JPopupTextArea() - { - addPopupMenu(); - } - - private void addPopupMenu() - { - JPopupMenu menu = new JPopupMenu(); - JMenuItem copyItem = new JMenuItem(); - copyItem.setAction(getActionMap().get("copy-to-clipboard")); - copyItem.setText(COPY); - JMenuItem cutItem = new JMenuItem(); - cutItem.setAction(getActionMap().get("cut-to-clipboard")); - cutItem.setText(CUT); - JMenuItem pasteItem = new JMenuItem(); - pasteItem.setAction(getActionMap().get("paste-from-clipboard")); - pasteItem.setText(PASTE); - JMenuItem deleteItem = new JMenuItem(); - deleteItem.setAction(getActionMap().get("delete-previous")); - deleteItem.setText(DELETE); - JMenuItem selectAllItem = new JMenuItem(); - selectAllItem.setAction(getActionMap().get("select-all")); - selectAllItem.setText(SELECTALL); - JMenuItem selectLine = new JMenuItem(); - selectLine.addActionListener(e -> goToLine()); - selectLine.setText(LINE); - JMenuItem selectFind = new JMenuItem(); - selectFind.addActionListener(e -> searchString()); - selectFind.setText(FIND); - menu.add(copyItem); - menu.add(cutItem); - menu.add(pasteItem); - menu.add(deleteItem); - menu.add(new JSeparator()); - menu.add(selectAllItem); - menu.add(selectLine); - menu.add(selectFind); - this.add(menu); - addMouseListener(new PopupTriggerMouseListener(menu, this)); - addKeyListener(new KeyListen()); - } - - void goToLine() - { - String lineno; - boolean fnd; - int no = 0; - do - { - block8: - { - fnd = true; - lineno = JOptionPane.showInputDialog("Line number:"); - try - { - no = Integer.parseInt(lineno); - } - catch (Exception exp) - { - if (lineno == null) - { - break block8; - } - JOptionPane.showMessageDialog(new Frame(), "Enter a valid line number", "Error", 0); - fnd = false; - } - } - if ((no > 0) || (lineno == null)) - { - continue; - } - JOptionPane.showMessageDialog(new Frame(), "Enter a valid line number", "Error", 0); - fnd = false; - } - while (!fnd); - if (lineno != null) - { - getLinePosition(); - if ((no - 1) >= lineLength.size()) - { - JOptionPane.showMessageDialog(new Frame(), "Line number does not exist", "Error", 0); - } - else - { - try - { - this.requestFocus(); - setCaretPosition(lineLength.elementAt(no - 1)); - } - catch (Exception exp) - { - JOptionPane.showMessageDialog(new Frame(), "Bad position", "Error", 0); - } - } - } - } - - void searchString() - { - String lineno = JOptionPane.showInputDialog("Search string: "); - if ((lineno == null) || lineno.isEmpty()) - { - JOptionPane.showMessageDialog(new Frame(), "Enter a empty string", "Error", 0); - return; - } - if (!lineno.isEmpty()) - { - try - { - this.requestFocus(); - String editorText = this.getText(); - String searchValue = lineno; - int start = editorText.indexOf(searchValue, getSelectionEnd()); - if (start != -1) - { - setCaretPosition(start); - moveCaretPosition(start + searchValue.length()); - getCaret().setSelectionVisible(true); - } - } - catch (Exception exp) - { - JOptionPane.showMessageDialog(new Frame(), "Bad position", "Error", 0); - } - } - } - - private void getLinePosition() - { - lineLength = new Vector<>(); - String txt = this.getText(); - int width = getWidth(); - StringTokenizer st = new StringTokenizer(txt, "\n ", true); - String str = " "; - int len = 0; - lineLength.addElement(new Integer(0)); - while (st.hasMoreTokens()) - { - String token = st.nextToken(); - int w = getGraphics().getFontMetrics(getGraphics().getFont()).stringWidth(str + token); - if ((w > width) || (token.charAt(0) == '\n')) - { - len += str.length(); - if (token.charAt(0) == '\n') - { - lineLength.addElement(new Integer(len)); - } - else - { - lineLength.addElement(new Integer(len - 1)); - } - str = token; - continue; - } - str = str + token; - } - } - - private class KeyListen implements KeyListener - { - private boolean controlDown; - private boolean gDown; - private boolean fDown; - - KeyListen() - { - } - - @Override - public void keyTyped(KeyEvent e) - { - } - - @Override - public void keyPressed(KeyEvent e) - { - if (e.getKeyCode() == 17) - { - controlDown = true; - } - else if (e.getKeyCode() == 71) - { - gDown = true; - } - else if (e.getKeyCode() == 70) - { - fDown = true; - } - if (controlDown) - { - if (gDown) - { - controlDown = false; - gDown = false; - goToLine(); - } - else if (fDown) - { - controlDown = false; - fDown = false; - searchString(); - } - } - } - - @Override - public void keyReleased(KeyEvent e) - { - if (e.getKeyCode() == 17) - { - controlDown = false; - } - else if (e.getKeyCode() == 71) - { - gDown = false; - } - else if (e.getKeyCode() == 70) - { - fDown = false; - } - } - } - - private static class PopupTriggerMouseListener extends MouseAdapter - { - private final JPopupMenu popup; - private final JComponent component; - - public PopupTriggerMouseListener(JPopupMenu popup, JComponent component) - { - this.popup = popup; - this.component = component; - } - - private void showMenuIfPopupTrigger(MouseEvent e) - { - if (e.isPopupTrigger()) - { - popup.show(component, e.getX() + 3, e.getY() + 3); - } - } - - @Override - public void mousePressed(MouseEvent e) - { - showMenuIfPopupTrigger(e); - } - - @Override - public void mouseReleased(MouseEvent e) - { - showMenuIfPopupTrigger(e); - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/listeners/FormatListener.java b/L2ClientDat/java/com/l2jmobius/listeners/FormatListener.java deleted file mode 100644 index ec6043e147..0000000000 --- a/L2ClientDat/java/com/l2jmobius/listeners/FormatListener.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.listeners; - -public interface FormatListener -{ - String decode(String var1); - - String encode(String var1); -} diff --git a/L2ClientDat/java/com/l2jmobius/util/ByteReader.java b/L2ClientDat/java/com/l2jmobius/util/ByteReader.java deleted file mode 100644 index 3cbf1144ae..0000000000 --- a/L2ClientDat/java/com/l2jmobius/util/ByteReader.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.util; - -import java.io.EOFException; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.charset.Charset; - -public class ByteReader -{ - private static Charset defaultCharset = Charset.forName("cp1252"); - private static Charset utf16leCharset = Charset.forName("utf-16le"); - - public static char readChar(ByteBuffer buffer) - { - return (char) buffer.get(); - } - - public static int readUByte(ByteBuffer buffer) - { - return buffer.get() & 255; - } - - public static int readInt(ByteBuffer buffer) - { - return Integer.reverseBytes(buffer.getInt()); - } - - public static int readUInt(ByteBuffer buffer) - { - return readInt(buffer); - } - - public static short readShort(ByteBuffer buffer) - { - return Short.reverseBytes(buffer.getShort()); - } - - public static double readDouble(ByteBuffer buffer) - { - return Double.longBitsToDouble(Long.reverseBytes(buffer.getLong())); - } - - public static long readLong(ByteBuffer buffer) - { - return Long.reverseBytes(buffer.getLong()); - } - - public static float readFloat(ByteBuffer buffer) - { - return Float.intBitsToFloat(Integer.reverseBytes(buffer.getInt())); - } - - public static int readCompactInt(ByteBuffer input) throws IOException - { - int output = 0; - boolean signed = false; - for (int i = 0; i < 5; ++i) - { - int x = input.get() & 255; - if (x < 0) - { - throw new EOFException(); - } - if (i == 0) - { - if ((x & 128) > 0) - { - signed = true; - } - output |= x & 63; - if ((x & 64) != 0) - { - continue; - } - break; - } - if (i == 4) - { - output |= (x & 31) << 27; - continue; - } - output |= (x & 127) << (6 + ((i - 1) * 7)); - if ((x & 128) == 0) - { - break; - } - } - if (signed) - { - output *= -1; - } - return output; - } - - public static String readRGB(ByteBuffer buffer) - { - String g; - String b; - String r = Integer.toHexString(buffer.get() & 255).toUpperCase(); - if (r.length() < 2) - { - r = "0" + r; - } - if ((g = Integer.toHexString(buffer.get() & 255).toUpperCase()).length() < 2) - { - g = "0" + g; - } - if ((b = Integer.toHexString(buffer.get() & 255).toUpperCase()).length() < 2) - { - b = "0" + b; - } - return r + g + b; - } - - public static String readRGBA(ByteBuffer buffer) - { - String a = Integer.toHexString(buffer.get() & 255).toUpperCase(); - if (a.length() < 2) - { - a = "0" + a; - } - return a + readRGB(buffer); - } - - public static String readUtfString(ByteBuffer buffer, boolean isRaw) throws Exception - { - int size = readInt(buffer); - if (size <= 0) - { - return ""; - } - if (size > 1000000) - { - throw new Exception("To much data."); - } - byte[] bytes = new byte[size]; - try - { - for (int i = 0; i < size; i += 2) - { - bytes[i + 1] = buffer.get(); - bytes[i] = buffer.get(); - } - } - catch (Exception e) - { - e.printStackTrace(); - } - return checkAndReplaceNewLine(isRaw, new String(new String(bytes, "Unicode").getBytes("UTF-8"), "UTF-8")); - } - - public static String readString(ByteBuffer input, boolean isRaw) throws IOException - { - int len = readCompactInt(input); - if (len == 0) - { - return ""; - } - byte[] bytes = new byte[len > 0 ? len : -2 * len]; - input.get(bytes); - return checkAndReplaceNewLine(isRaw, new String(bytes, 0, bytes.length - (len > 0 ? 1 : 2), len > 0 ? defaultCharset : utf16leCharset).intern()); - } - - private static String checkAndReplaceNewLine(boolean isRaw, String str) - { - if (!isRaw && str.contains("\r\n")) - { - str = str.replace("\r\n", "\\r\\n"); - } - return str; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/util/ByteWriter.java b/L2ClientDat/java/com/l2jmobius/util/ByteWriter.java deleted file mode 100644 index 3d8f655ffd..0000000000 --- a/L2ClientDat/java/com/l2jmobius/util/ByteWriter.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.util; - -import java.nio.Buffer; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.charset.Charset; - -public class ByteWriter -{ - private static final ByteOrder BYTE_ORDER = ByteOrder.LITTLE_ENDIAN; - private static Charset defaultCharset = Charset.forName("ascii"); - private static Charset utf16leCharset = Charset.forName("utf-16le"); - - public static Buffer writeChar(byte value) - { - ByteBuffer buffer = ByteBuffer.allocate(1).order(BYTE_ORDER); - buffer.put(value); - return buffer; - } - - public static Buffer writeCompactInt(int count) - { - byte[] b = compactIntToByteArray(count); - ByteBuffer buffer = ByteBuffer.allocate(b.length).order(BYTE_ORDER); - buffer.put(b); - return buffer; - } - - public static Buffer writeByte(byte value) - { - ByteBuffer buffer = ByteBuffer.allocate(1).order(BYTE_ORDER); - buffer.put(value); - return buffer; - } - - public static Buffer writeUByte(short value) - { - ByteBuffer buffer = ByteBuffer.allocate(1).order(BYTE_ORDER); - buffer.put((byte) value); - return buffer; - } - - public static Buffer writeInt(int value) - { - ByteBuffer buffer = ByteBuffer.allocate(4).order(BYTE_ORDER); - buffer.putInt(value); - return buffer; - } - - public static Buffer writeUInt(int value) - { - ByteBuffer buffer = ByteBuffer.allocate(4).order(BYTE_ORDER); - buffer.putInt(value); - return buffer; - } - - public static Buffer writeShort(short value) - { - ByteBuffer buffer = ByteBuffer.allocate(2).order(BYTE_ORDER); - buffer.putShort(value); - return buffer; - } - - public static Buffer writeUShort(int value) - { - ByteBuffer buffer = ByteBuffer.allocate(2).order(BYTE_ORDER); - buffer.put((byte) (value & 255)); - buffer.put((byte) ((value & 65280) >> 8)); - return buffer; - } - - public static Buffer writeRGB(String rgb) - { - ByteBuffer buffer = ByteBuffer.allocate(3).order(BYTE_ORDER); - buffer.put((byte) Integer.parseInt(rgb.substring(0, 2), 16)); - buffer.put((byte) Integer.parseInt(rgb.substring(2, 4), 16)); - buffer.put((byte) Integer.parseInt(rgb.substring(4, 6), 16)); - return buffer; - } - - public static Buffer writeRGBA(String rgba) - { - ByteBuffer buffer = ByteBuffer.allocate(4).order(BYTE_ORDER); - buffer.put((byte[]) writeRGB(rgba.substring(0, 6)).array()); - buffer.put((byte) Integer.parseInt(rgba.substring(6, 8), 16)); - return buffer; - } - - public static Buffer writeUtfString(String str, boolean isRaw) - { - int size = str.length(); - if (size <= 0) - { - return ByteBuffer.allocate(4).order(BYTE_ORDER).putInt(0); - } - if (!isRaw) - { - str = checkAndReplaceNewLine(str); - size = str.length(); - } - ByteBuffer buffer = ByteBuffer.allocate((size * 2) + 4).order(BYTE_ORDER); - buffer.putInt(size * 2); - for (int i = 0; i < size; ++i) - { - buffer.putChar(str.charAt(i)); - } - return buffer; - } - - public static Buffer writeString(String s, boolean isRaw) - { - if ((s == null) || s.isEmpty()) - { - return writeCompactInt(0); - } - if (!isRaw) - { - s = checkAndReplaceNewLine(s); - } - s = s + '\u0000'; - boolean def = defaultCharset.newEncoder().canEncode(s); - byte[] bytes = s.getBytes(def ? defaultCharset : utf16leCharset); - byte[] bSize = compactIntToByteArray(def ? bytes.length : (-bytes.length) / 2); - ByteBuffer buffer = ByteBuffer.allocate(bytes.length + bSize.length).order(BYTE_ORDER); - buffer.put(bSize); - buffer.put(bytes); - return buffer; - } - - public static Buffer writeDouble(double value) - { - ByteBuffer buffer = ByteBuffer.allocate(8).order(BYTE_ORDER); - buffer.putDouble(value); - return buffer; - } - - public static Buffer writeFloat(float value) - { - ByteBuffer buffer = ByteBuffer.allocate(4).order(BYTE_ORDER); - buffer.putFloat(value); - return buffer; - } - - public static Buffer writeLong(long value) - { - ByteBuffer buffer = ByteBuffer.allocate(8).order(BYTE_ORDER); - buffer.putLong(value); - return buffer; - } - - private static byte[] compactIntToByteArray(int v) - { - boolean negative = v < 0; - v = Math.abs(v); - int[] bytes = new int[] - { - v & 63, - (v >> 6) & 127, - (v >> 13) & 127, - (v >> 20) & 127, - (v >> 27) & 127 - }; - if (negative) - { - int[] arrn = bytes; - arrn[0] = arrn[0] | 128; - } - int size = 5; - for (int i = 4; (i > 0) && (bytes[i] == 0); --i) - { - --size; - } - byte[] res = new byte[size]; - for (int i = 0; i < size; ++i) - { - if (i != (size - 1)) - { - int[] arrn = bytes; - int n = i; - arrn[n] = arrn[n] | (i == 0 ? 64 : 128); - } - res[i] = (byte) bytes[i]; - } - return res; - } - - private static String checkAndReplaceNewLine(String str) - { - if (str.contains("\\r\\n")) - { - str = str.replace("\\r\\n", "\r\n"); - } - return str; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/util/DebugUtil.java b/L2ClientDat/java/com/l2jmobius/util/DebugUtil.java deleted file mode 100644 index bfe2a59f72..0000000000 --- a/L2ClientDat/java/com/l2jmobius/util/DebugUtil.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.util; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; - -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; -import org.apache.log4j.xml.DOMConfigurator; - -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.xml.Variant; - -public class DebugUtil -{ - private static Logger _log = LogManager.getLogger(DebugUtil.class); - - public static void debug(String message) - { - if (ConfigDebug.DAT_DEBUG_MSG) - { - _log.info(message); - } - } - - public static void debugPos(int pos, String name, Variant val) - { - if (ConfigDebug.DAT_DEBUG_POS) - { - _log.info("pos: " + pos + " " + name + ": " + val); - if ((ConfigDebug.DAT_DEBUG_POS_LIMIT != 0) && (pos > ConfigDebug.DAT_DEBUG_POS_LIMIT)) - { - System.exit(0); - } - } - } - - public static void save(ByteBuffer buffer, File path) - { - if (ConfigDebug.SAVE_DECODE) - { - try - { - String unpackDirPath = path.getParent() + "/" + "!decrypted"; - File decryptedDir = new File(unpackDirPath); - decryptedDir.mkdir(); - File file = new File(decryptedDir + "/" + path.getName()); - FileOutputStream fos = new FileOutputStream(file); - fos.write(buffer.array()); - fos.close(); - } - catch (IOException e) - { - e.printStackTrace(); - } - } - } - - public static Logger getLogger() - { - return _log; - } - - static - { - DOMConfigurator.configure("./config/log4j.xml"); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/util/Util.java b/L2ClientDat/java/com/l2jmobius/util/Util.java deleted file mode 100644 index d0113fc073..0000000000 --- a/L2ClientDat/java/com/l2jmobius/util/Util.java +++ /dev/null @@ -1,338 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.util; - -import java.io.File; -import java.net.URL; -import java.net.URLClassLoader; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import javax.tools.Diagnostic; -import javax.tools.DiagnosticCollector; -import javax.tools.JavaCompiler; -import javax.tools.JavaFileObject; -import javax.tools.StandardJavaFileManager; -import javax.tools.ToolProvider; - -public class Util -{ - public static void printBytes(String name, byte[] buffer) - { - StringBuilder builder = new StringBuilder(buffer.length); - builder.append(name).append(": ["); - for (byte b : buffer) - { - builder.append(b).append(" "); - } - builder.append("]"); - DebugUtil.getLogger().info(builder.toString()); - } - - public static boolean compareBuffers(byte[] b1, byte[] b2) - { - if ((b1 == null) || (b2 == null) || (b1.length != b2.length)) - { - return false; - } - for (int i = 0; i < b1.length; ++i) - { - if (b1[i] == b2[i]) - { - continue; - } - return false; - } - return true; - } - - private static String printData(byte[] data, int len) - { - int a; - int charpoint; - byte t1; - StringBuilder result = new StringBuilder(); - int counter = 0; - for (int i = 0; i < len; ++i) - { - if ((counter % 16) == 0) - { - result.append(fillHex(i, 4) + ": "); - } - result.append(fillHex(data[i] & 255, 2) + " "); - if (++counter != 16) - { - continue; - } - result.append(" "); - charpoint = i - 15; - for (a = 0; a < 16; ++a) - { - if (((t1 = data[charpoint++]) > 31) && (t1 < 128)) - { - result.append((char) t1); - continue; - } - result.append('.'); - } - result.append("\n"); - counter = 0; - } - int rest = data.length % 16; - if (rest > 0) - { - for (int i = 0; i < (17 - rest); ++i) - { - result.append(" "); - } - charpoint = data.length - rest; - for (a = 0; a < rest; ++a) - { - if (((t1 = data[charpoint++]) > 31) && (t1 < 128)) - { - result.append((char) t1); - continue; - } - result.append('.'); - } - result.append("\n"); - } - return result.toString(); - } - - private static String fillHex(int data, int digits) - { - String number = Integer.toHexString(data); - for (int i = number.length(); i < digits; ++i) - { - number = "0" + number; - } - return number; - } - - public static String printData(byte[] blop) - { - return printData(blop, blop.length); - } - - public static List loadFiles(String dir, String prefix) - { - ArrayList list = new ArrayList<>(); - File folder = new File(dir); - for (File listOfFile : folder.listFiles()) - { - if (listOfFile.isFile()) - { - if (!listOfFile.getName().endsWith(prefix)) - { - continue; - } - list.add(listOfFile); - continue; - } - if (!listOfFile.isDirectory()) - { - continue; - } - File folder2 = new File(dir + listOfFile.getName() + "/"); - for (File aListOfFiles2 : folder2.listFiles()) - { - if (!aListOfFiles2.getName().endsWith(prefix)) - { - continue; - } - list.add(aListOfFiles2); - } - } - return list; - } - - public static String[] getDirsNames(String dir, String prefix) - { - ArrayList list = new ArrayList<>(); - File folder = new File(dir); - File[] listOfFiles = folder.listFiles(); - if (listOfFiles == null) - { - return null; - } - for (File listOfFile : listOfFiles) - { - if (!listOfFile.isDirectory() || !listOfFile.getName().endsWith(prefix)) - { - continue; - } - list.add(listOfFile.getName()); - } - String[] text = new String[list.size()]; - int i = 0; - Iterator iterator = list.iterator(); - while (iterator.hasNext()) - { - text[i] = iterator.next(); - ++i; - } - return text; - } - - public static String[] getFilesNames(String dir, String prefix) - { - ArrayList list = new ArrayList<>(); - File folder = new File(dir); - File[] listOfFiles = folder.listFiles(); - if (listOfFiles == null) - { - return null; - } - for (File listOfFile : listOfFiles) - { - if (!listOfFile.isFile() || !listOfFile.getName().endsWith(prefix)) - { - continue; - } - list.add(listOfFile.getName().replace(prefix, "")); - } - String[] text = new String[list.size()]; - int i = 0; - Iterator iterator = list.iterator(); - while (iterator.hasNext()) - { - text[i] = iterator.next(); - ++i; - } - return text; - } - - public static String printData(ByteBuffer buf) - { - byte[] data = new byte[buf.remaining()]; - buf.get(data); - String hex = printData(data, data.length); - buf.position(buf.position() - data.length); - return hex; - } - - public static List splitList(String s) - { - if (s.startsWith("{")) - { - s = s.substring(1, s.length() - 1); - } - ArrayList res = new ArrayList<>(); - StringBuffer buff = new StringBuffer(); - int level = 0; - for (char part : s.toCharArray()) - { - if ((part == '{') || (part == '[')) - { - ++level; - } - else if ((part == '}') || (part == ']')) - { - --level; - } - else if ((part == ';') && (level == 0)) - { - res.add(buff.toString()); - buff = new StringBuffer(); - continue; - } - buff.append(part); - } - res.add(buff.toString()); - return res; - } - - public static Map stringToMap(String id) - { - LinkedHashMap map = new LinkedHashMap<>(); - for (String str : id.split("\t")) - { - if (!str.contains("=")) - { - continue; - } - int index = str.indexOf("="); - String key = str.substring(0, index); - String val = str.substring(index + 1, str.length()); - map.put(key, val); - } - return map; - } - - public static String mapToString(Map map) - { - StringBuilder builder = new StringBuilder(); - for (String key : map.keySet()) - { - builder.append(key).append("=").append(map.get(key)).append("\t"); - } - return builder.toString(); - } - - @SuppressWarnings( - { - "rawtypes", - "unchecked" - }) - public static void compileJavaClass(String sourceFile) - { - try - { - DiagnosticCollector diagnostics = new DiagnosticCollector(); - JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); - StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null); - Iterable compilationUnit = fileManager.getJavaFileObjectsFromFiles(loadFiles(sourceFile, ".java")); - JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnit); - if (!task.call().booleanValue()) - { - for (Object diagnostic : diagnostics.getDiagnostics()) - { - final Diagnostic d = (Diagnostic) diagnostic; - System.out.format("Error on line %d in %s%n", d.getLineNumber(), ((JavaFileObject) d.getSource()).toUri()); - } - } - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - public static Object loadJavaClass(String className, String path) - { - try - { - @SuppressWarnings("resource") - URLClassLoader classLoader = new URLClassLoader(new URL[] - { - new File(path).toURI().toURL() - }); - Class loadedClass = classLoader.loadClass(className); - return loadedClass.newInstance(); - } - catch (Exception e) - { - e.printStackTrace(); - return null; - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/CryptVersionParser.java b/L2ClientDat/java/com/l2jmobius/xml/CryptVersionParser.java deleted file mode 100644 index 6402f7a237..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/CryptVersionParser.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.io.File; -import java.util.LinkedHashMap; -import java.util.Map; - -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import com.l2jmobius.clientcryptor.crypt.BlowFishDatCrypter; -import com.l2jmobius.clientcryptor.crypt.DESDatCrypter; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.clientcryptor.crypt.RSADatCrypter; -import com.l2jmobius.clientcryptor.crypt.XorDatCrypter; -import com.l2jmobius.util.DebugUtil; - -public class CryptVersionParser -{ - private static Map encryptKeys = new LinkedHashMap<>(); - private static Map decryptKeys = new LinkedHashMap<>(); - private static CryptVersionParser _parser = new CryptVersionParser(); - - public static CryptVersionParser getInstance() - { - return _parser; - } - - private CryptVersionParser() - { - parseCryptVersion(); - } - - private static void parseCryptVersion() - { - File def = new File("./config/cryptVersion.xml"); - if (def.exists()) - { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setValidating(false); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - try - { - Document doc = factory.newDocumentBuilder().parse(def); - Node defsNode = doc.getFirstChild(); - while (defsNode != null) - { - if (defsNode.getNodeName().equals("keys")) - { - for (Node defNode = defsNode.getFirstChild(); defNode != null; defNode = defNode.getNextSibling()) - { - if (!defNode.getNodeName().equals("key")) - { - continue; - } - String name = defNode.getAttributes().getNamedItem("name").getNodeValue(); - String type = defNode.getAttributes().getNamedItem("type").getNodeValue().toLowerCase(); - int code = Integer.parseInt(defNode.getAttributes().getNamedItem("code").getNodeValue().toLowerCase()); - boolean isDecrypt = Boolean.parseBoolean(defNode.getAttributes().getNamedItem("decrypt").getNodeValue()); - boolean useStructure = Boolean.parseBoolean(defNode.getAttributes().getNamedItem("useStructure").getNodeValue()); - String extension = defNode.getAttributes().getNamedItem("extension").getNodeValue(); - DatCrypter dat = null; - switch (type) - { - case "rsa": - { - String modulus = defNode.getAttributes().getNamedItem("modulus").getNodeValue(); - String exp = defNode.getAttributes().getNamedItem("exp").getNodeValue(); - dat = new RSADatCrypter(code, modulus, exp, isDecrypt); - break; - } - case "xor": - { - dat = new XorDatCrypter(code, Integer.parseInt(defNode.getAttributes().getNamedItem("key").getNodeValue()), isDecrypt); - break; - } - case "blowfish": - { - dat = new BlowFishDatCrypter(code, defNode.getAttributes().getNamedItem("key").getNodeValue(), isDecrypt); - break; - } - case "des": - { - dat = new DESDatCrypter(code, defNode.getAttributes().getNamedItem("key").getNodeValue(), isDecrypt); - } - } - if (dat == null) - { - continue; - } - dat.addFileExtension(extension); - dat.setUseStructure(useStructure); - if (isDecrypt) - { - decryptKeys.put(name, dat); - continue; - } - encryptKeys.put(name, dat); - } - } - defsNode = doc.getNextSibling(); - } - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - } - } - - public Map getEncryptKey() - { - return encryptKeys; - } - - public Map getDecryptKeys() - { - return decryptKeys; - } - - public DatCrypter getEncryptKey(String s) - { - return encryptKeys.get(s); - } - - public DatCrypter getDecryptKey(String s) - { - return decryptKeys.get(s); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/Descriptor.java b/L2ClientDat/java/com/l2jmobius/xml/Descriptor.java deleted file mode 100644 index bd9eb0cb10..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/Descriptor.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.util.List; - -import com.l2jmobius.listeners.FormatListener; - -public class Descriptor -{ - private final String _alias; - private final String _filePattern; - private final List _nodes; - private boolean _isRawData; - private boolean _isSafePackage; - private FormatListener _format; - - Descriptor(String alias, String filePattern, List nodes) - { - _alias = alias; - _filePattern = filePattern; - _nodes = nodes; - _isRawData = false; - } - - void setIsRawData(boolean value) - { - _isRawData = value; - } - - public void setIsSafePackage(boolean value) - { - _isSafePackage = value; - } - - boolean isRawData() - { - return _isRawData; - } - - public boolean isSafePackage() - { - return _isSafePackage; - } - - public String getAlias() - { - return _alias; - } - - public String getFilePattern() - { - return _filePattern; - } - - List getNodes() - { - return _nodes; - } - - public void setFormat(FormatListener format) - { - _format = format; - } - - public FormatListener getFormat() - { - return _format; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/DescriptorLink.java b/L2ClientDat/java/com/l2jmobius/xml/DescriptorLink.java deleted file mode 100644 index 12c797c47d..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/DescriptorLink.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -public class DescriptorLink -{ - private final String dir; - private final String namePattern; - private final String linkFile; - private final String linkVersion; - - public DescriptorLink(String dir, String namePattern, String linkFile, String linkVersion) - { - this.dir = dir; - this.namePattern = namePattern; - this.linkFile = linkFile; - this.linkVersion = linkVersion; - } - - public String getFilePattern() - { - return dir; - } - - public String getNamePattern() - { - return namePattern; - } - - public String getLinkFile() - { - return linkFile; - } - - public String getLinkVersion() - { - return linkVersion; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/DescriptorParser.java b/L2ClientDat/java/com/l2jmobius/xml/DescriptorParser.java deleted file mode 100644 index e69aafcad5..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/DescriptorParser.java +++ /dev/null @@ -1,368 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import com.l2jmobius.listeners.FormatListener; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.util.Util; -import com.l2jmobius.xml.exceptions.CycleArgumentException; - -public class DescriptorParser -{ - private static DescriptorParser _parser = new DescriptorParser(); - private final Map> _descriptors = new HashMap<>(); - private final Map> _definitions = new HashMap<>(); - private final Map> _links = new HashMap<>(); - - private DescriptorParser() - { - load(); - } - - public static DescriptorParser getInstance() - { - return _parser; - } - - private void load() - { - parseDefinitions(); - Util.loadFiles("./structure/", ".xml").forEach(this::parseDescriptor); - } - - private void parseDefinitions() - { - File def = new File("./!definitions.xml"); - if (def.exists()) - { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setValidating(false); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - try - { - Document doc = factory.newDocumentBuilder().parse(def); - Node defsNode = doc.getFirstChild(); - while (defsNode != null) - { - if (defsNode.getNodeName().equals("definitions")) - { - for (Node defNode = defsNode.getFirstChild(); defNode != null; defNode = defNode.getNextSibling()) - { - if (!defNode.getNodeName().equals("definition")) - { - continue; - } - String defName = defNode.getAttributes().getNamedItem("name").getNodeValue(); - List nodes = parseNodes(defNode, true, new HashSet(), "definitions->" + defName); - _definitions.put(defName, nodes); - } - } - defsNode = doc.getNextSibling(); - } - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - } - } - - private void parseDescriptor(File file) - { - if (!file.exists()) - { - DebugUtil.debug("File " + file.getName() + " not found."); - } - try - { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setValidating(false); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - Document doc = factory.newDocumentBuilder().parse(file); - Node fileNode0 = doc.getFirstChild(); - while (fileNode0 != null) - { - if (fileNode0.getNodeName().equalsIgnoreCase("list")) - { - for (Node fileNode = fileNode0.getFirstChild(); fileNode != null; fileNode = fileNode.getNextSibling()) - { - String dir; - Object obj; - String namePattern; - Map versions; - if (fileNode.getNodeName().equalsIgnoreCase("link")) - { - dir = file.getName().substring(0, file.getName().length() - 4); - namePattern = fileNode.getAttributes().getNamedItem("pattern").getNodeValue(); - String linkFile = fileNode.getAttributes().getNamedItem("file").getNodeValue(); - String linkVersion = fileNode.getAttributes().getNamedItem("version").getNodeValue(); - List list = _links.get(dir); - if (list == null) - { - list = new ArrayList<>(); - } - list.add(new DescriptorLink(dir, namePattern, linkFile, linkVersion)); - _links.put(dir, list); - continue; - } - if (!fileNode.getNodeName().equalsIgnoreCase("file")) - { - continue; - } - dir = file.getName().substring(0, file.getName().length() - 4); - namePattern = fileNode.getAttributes().getNamedItem("pattern").getNodeValue(); - boolean isRawData = parseBoolNode(fileNode, "isRaw", false); - boolean isSafePackage = parseBoolNode(fileNode, "isSafePackage", false); - String formatName = parseStringNode(fileNode, "format", null); - DebugUtil.debug("Boot of parsing file: " + namePattern); - List nodes = parseNodes(fileNode, false, new HashSet(), dir + "->" + namePattern); - Descriptor desc = new Descriptor(file.getName(), namePattern, nodes); - desc.setIsRawData(isRawData); - desc.setIsSafePackage(isSafePackage); - if ((formatName != null) && ((obj = Util.loadJavaClass(formatName, "./structure/format/")) instanceof FormatListener)) - { - desc.setFormat((FormatListener) obj); - } - if ((versions = _descriptors.get(dir)) == null) - { - versions = new HashMap<>(); - } - versions.put(namePattern, desc); - _descriptors.put(dir, versions); - DebugUtil.debug("End of parsing file: " + namePattern); - } - } - fileNode0 = doc.getNextSibling(); - } - } - catch (Exception e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - } - - private List parseNodes(Node fileNode, boolean isHideName, Set names, String fileName) throws Exception - { - HashMap defsCounter = new HashMap<>(); - LinkedList nodes = new LinkedList<>(); - for (Node node = fileNode.getFirstChild(); node != null; node = node.getNextSibling()) - { - ParamNode beginNode; - String nodeName = node.getNodeName(); - if (nodeName.equals("#text")) - { - continue; - } - boolean isHide = isHideName || parseBoolNode(node, "hidden", true); - if (node.getAttributes().getNamedItem("name") == null) - { - DebugUtil.getLogger().warn("Node name == null, fileName: " + fileName); - continue; - } - String entityName = node.getAttributes().getNamedItem("name").getNodeValue(); - if (nodeName.equalsIgnoreCase("node")) - { - String type = node.getAttributes().getNamedItem("reader").getNodeValue(); - if (_definitions.containsKey(type)) - { - if (!defsCounter.containsKey(type)) - { - defsCounter.put(type, 1); - } - else - { - defsCounter.put(type, defsCounter.get(type) + 1); - } - List defNodes = _definitions.get(type); - for (ParamNode defNode : defNodes) - { - ParamNode copied = defNode.copy(); - copied.setName(entityName); - if (isHide) - { - copied.setHidden(); - } - nodes.add(copied); - } - } - else - { - ParamNode dataNode = new ParamNode(entityName, ParamNodeType.VARIABLE, ParamType.valueOf(type)); - if (isHide) - { - dataNode.setHidden(); - } - nodes.add(dataNode); - DebugUtil.debug("Found node: " + dataNode.getName()); - } - if (names.contains(entityName)) - { - DebugUtil.getLogger().warn("Node name duplicated [" + entityName + "] fileName: " + fileName); - } - names.add(entityName); - continue; - } - if (nodeName.equalsIgnoreCase("for")) - { - String iteratorName = entityName; - boolean skipWriteSize = parseBoolNode(node, "skipWriteSize", false); - int size = -1; - if (node.getAttributes().getNamedItem("size") != null) - { - String sizeStr = node.getAttributes().getNamedItem("size").getNodeValue(); - if (sizeStr.startsWith("#")) - { - iteratorName = sizeStr.substring(1); - } - else - { - size = Integer.parseInt(sizeStr); - } - } - if (size == 0) - { - DebugUtil.getLogger().warn("Size of cycle [" + iteratorName + "] was set to zero. Deprecated cycle?"); - } - DebugUtil.debug("Found cycle for variable: " + entityName); - ParamNode beginNode2 = new ParamNode(entityName, ParamNodeType.FOR, null); - if (size >= 0) - { - beginNode2.setSize(size); - } - if (isHide) - { - beginNode2.setHidden(); - } - beginNode2.setSkipWriteSize(skipWriteSize); - beginNode2.addSubNodes(parseNodes(node, false, names, fileName)); - beginNode2.setCycleName(iteratorName); - nodes.add(beginNode2); - boolean iteratorFound = false; - for (ParamNode n : nodes) - { - if (!iteratorName.equals(n.getName())) - { - continue; - } - n.setIterator(); - iteratorFound = true; - break; - } - if (iteratorFound || (size >= 0)) - { - continue; - } - throw new CycleArgumentException("Invalid argument [" + iteratorName + "] for [cycle]"); - } - if (nodeName.equalsIgnoreCase("wrapper")) - { - beginNode = new ParamNode(entityName, ParamNodeType.WRAPPER, null); - beginNode.addSubNodes(parseNodes(node, true, names, fileName)); - nodes.add(beginNode); - DebugUtil.debug("Found [wrapper] data " + entityName); - continue; - } - if (nodeName.equalsIgnoreCase("write")) - { - beginNode = new ParamNode(entityName, ParamNodeType.CONSTANT, ParamType.STRING); - beginNode.setHidden(); - nodes.add(beginNode); - DebugUtil.debug("Found [constant] data: " + entityName); - continue; - } - if (!nodeName.equalsIgnoreCase("if")) - { - continue; - } - String paramName = node.getAttributes().getNamedItem("param").getNodeValue(); - String vsl = node.getAttributes().getNamedItem("val").getNodeValue(); - if (!paramName.startsWith("#")) - { - throw new Exception("Invalid argument [" + entityName + "] for [if]"); - } - paramName = paramName.substring(1); - ParamNode beginNode3 = new ParamNode(entityName, ParamNodeType.IF, null); - beginNode3.setParamIf(paramName); - beginNode3.setValIf(vsl); - beginNode3.addSubNodes(parseNodes(node, false, names, fileName)); - nodes.add(beginNode3); - DebugUtil.debug("Found [if] data: " + entityName); - } - return nodes; - } - - public Descriptor findDescriptorForFile(String dir, String fileName) - { - List listDes = _links.get(dir); - if (listDes == null) - { - return null; - } - for (DescriptorLink desc : listDes) - { - Map versions; - if (!fileName.toLowerCase().matches(desc.getNamePattern().toLowerCase()) || !_descriptors.containsKey(desc.getLinkFile()) || !(versions = _descriptors.get(desc.getLinkFile())).containsKey(desc.getLinkVersion())) - { - continue; - } - return versions.get(desc.getLinkVersion()); - } - return null; - } - - private boolean parseBoolNode(Node node, String name, boolean def) - { - if (node.getAttributes() == null) - { - return def; - } - if (node.getAttributes().getNamedItem(name) == null) - { - return def; - } - return node.getAttributes().getNamedItem(name).getNodeValue().equalsIgnoreCase("true"); - } - - private String parseStringNode(Node node, String name, String def) - { - if (node.getAttributes() == null) - { - return def; - } - if (node.getAttributes().getNamedItem(name) == null) - { - return def; - } - return node.getAttributes().getNamedItem(name).getNodeValue(); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/DescriptorReader.java b/L2ClientDat/java/com/l2jmobius/xml/DescriptorReader.java deleted file mode 100644 index a259dfafe0..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/DescriptorReader.java +++ /dev/null @@ -1,394 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.io.File; -import java.math.BigDecimal; -import java.nio.ByteBuffer; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.l2jmobius.L2ClientDat; -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.util.ByteReader; -import com.l2jmobius.util.DebugUtil; - -public class DescriptorReader -{ - private static DescriptorReader _instance = new DescriptorReader(); - final String eq = "="; - final String tab = "\t"; - final String nl = System.getProperty("line.separator"); - final String semi = ";"; - final String lb = "["; - final String rb = "]"; - - public static DescriptorReader getInstance() - { - return _instance; - } - - public String parseData(File currentFile, DatCrypter crypter, Descriptor desc, ByteBuffer data) throws Exception - { - String stringData; - if (desc.isRawData()) - { - StringBuilder builder = new StringBuilder(); - readVariables(currentFile, crypter, desc.getNodes().get(0), new HashMap(), data, builder, true); - stringData = builder.toString(); - } - else - { - stringData = this.parseData(currentFile, crypter, data, null, desc.getNodes(), 1, new HashMap(), false, 0).trim(); - } - if (desc.getFormat() != null) - { - stringData = desc.getFormat().decode(stringData); - } - int pos = desc.isSafePackage() ? data.position() + 13 : data.position(); - if (data.limit() > pos) - { - L2ClientDat.addLogConsole("Unpacked not full " + data.position() + "/" + data.limit() + " diff: " + (data.limit() - pos), true); - } - return stringData; - } - - private String parseData(File currentFile, DatCrypter crypter, ByteBuffer data, ParamNode lastNode, List nodes, int cycleSize, Map vars, boolean isNameHidden, int cycleNameLevel) throws Exception - { - if (cycleSize > 0) - { - StringBuilder out = new StringBuilder(); - for (int i = 0; i < cycleSize; ++i) - { - boolean isAddCycleName = !isNameHidden && (lastNode != null) && lastNode.getEntityType().isCycle(); - if (isAddCycleName) - { - for (int k = 0; k < cycleNameLevel; ++k) - { - out.append("\t"); - } - out.append(lastNode.getName().concat("_begin")); - ++cycleNameLevel; - } - int nodeSize = nodes.size(); - int nNode = 0; - for (ParamNode n : nodes) - { - if (n.isIterator()) - { - continue; - } - ++nNode; - } - if (isNameHidden && (nNode > 1)) - { - out.append("{"); - } - for (int j = 0; j < nodeSize; ++j) - { - ParamNode node = nodes.get(j); - if (node.getEntityType().isIf()) - { - Variant var = vars.get(node.getParamIf()); - if ((var == null) || !var.toString().equalsIgnoreCase(node.getValIf())) - { - continue; - } - out.append(this.parseData(currentFile, crypter, data, null, node.getSubNodes(), 1, vars, isNameHidden, cycleNameLevel)); - continue; - } - if (!(node.isIterator() || node.getEntityType().isConstant() || isNameHidden || (!node.getEntityType().isWrapper() && !node.isNameHidden()))) - { - out.append("\t").append(node.getName()).append("="); - } - if (node.getEntityType().isWrapper()) - { - out.append(this.parseData(currentFile, crypter, data, null, node.getSubNodes(), 1, vars, true, cycleNameLevel)); - } - else if (node.getEntityType().isCycle()) - { - int size; - if (node.getSize() >= 0) - { - size = node.getSize(); - } - else - { - Variant var = vars.get(node.getCycleName()); - if (var.isInt()) - { - size = var.getInt(); - } - else if (var.isShort()) - { - size = var.getShort(); - } - else - { - throw new Exception("Wrong cycle variable format for cycle: " + node.getName() + " iterator: " + node.getCycleName()); - } - } - if (node.isNameHidden()) - { - out.append("{"); - } - out.append(this.parseData(currentFile, crypter, data, node, node.getSubNodes(), size, vars, node.isNameHidden(), cycleNameLevel)); - if (node.isNameHidden()) - { - out.append("}"); - } - } - else if (node.getEntityType().isConstant()) - { - out.append(node.getName().replace("\\t", "\t").replace("\\r\\n", "\r\n")); - } - else if (node.getEntityType().isVariable()) - { - readVariables(currentFile, crypter, node, vars, data, out, false); - } - if (!node.isIterator() && !node.getEntityType().isConstant() && isNameHidden && (j != (nodeSize - 1))) - { - out.append(";"); - } - if (!vars.containsKey(node.getName())) - { - continue; - } - DebugUtil.debugPos(data.position(), node.getName(), vars.get(node.getName())); - } - if (isNameHidden) - { - if (nNode > 1) - { - out.append("}"); - } - if (i < (cycleSize - 1)) - { - out.append(";"); - } - } - if (!isAddCycleName) - { - continue; - } - if (out.charAt(out.length() - 1) != '\n') - { - out.append("\t"); - } - out.append(lastNode.getName()).append("_end\r\n"); - --cycleNameLevel; - } - return out.toString(); - } - return ""; - } - - private void readVariables(File currentFile, DatCrypter crypter, ParamNode node, Map vars, ByteBuffer data, StringBuilder out, boolean isRaw) throws Exception - { - switch (node.getType()) - { - case UCHAR: - { - short value = (byte) ByteReader.readChar(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Short.class)); - break; - } - case UBYTE: - { - int value = ByteReader.readUByte(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case SHORT: - { - short value = ByteReader.readShort(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Short.class)); - break; - } - case USHORT: - { - int value = ByteReader.readShort(data) & 65535; - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case UINT: - { - int value = ByteReader.readUInt(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case INT: - { - int value = ByteReader.readInt(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case CNTR: - { - int value = ByteReader.readCompactInt(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case UNICODE: - { - String str = ByteReader.readUtfString(data, isRaw); - if (isRaw) - { - out.append(str); - break; - } - if (!node.isIterator()) - { - out.append("[").append(str).append("]"); - } - vars.put(node.getName(), new Variant(str, String.class)); - break; - } - case ASCF: - { - String str = ByteReader.readString(data, isRaw); - if (isRaw) - { - out.append(str); - break; - } - if (!node.isIterator()) - { - out.append("[").append(str).append("]"); - } - vars.put(node.getName(), new Variant(str, String.class)); - break; - } - case DOUBLE: - { - double value = ByteReader.readDouble(data); - if (!node.isIterator()) - { - out.append(new BigDecimal(Double.toString(value)).toPlainString()); - } - vars.put(node.getName(), new Variant(value, Double.class)); - break; - } - case FLOAT: - { - float value = ByteReader.readFloat(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(Float.valueOf(value), Float.class)); - break; - } - case LONG: - { - long value = ByteReader.readLong(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, Long.class)); - break; - } - case RGBA: - { - String value = ByteReader.readRGBA(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, String.class)); - break; - } - case RGB: - { - String value = ByteReader.readRGB(data); - if (!node.isIterator()) - { - out.append(value); - } - vars.put(node.getName(), new Variant(value, String.class)); - break; - } - case HEX: - { - int value = ByteReader.readUByte(data); - if (!node.isIterator()) - { - String hex = Integer.toHexString(value).toUpperCase(); - if (hex.length() == 1) - { - hex = "0" + hex; - } - out.append(hex); - } - vars.put(node.getName(), new Variant(value, Integer.class)); - break; - } - case MAP_INT: - { - int index = ByteReader.readUInt(data); - if (ConfigDebug.DAT_REPLACEMENT_NAMES) - { - String paramName = GameDataName.getInstance().getString(currentFile, crypter, index); - if (!node.isIterator()) - { - out.append(paramName); - } - vars.put(node.getName(), new Variant(paramName, String.class)); - break; - } - if (!node.isIterator()) - { - out.append(index); - } - vars.put(node.getName(), new Variant(index, Integer.class)); - break; - } - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/DescriptorWriter.java b/L2ClientDat/java/com/l2jmobius/xml/DescriptorWriter.java deleted file mode 100644 index 18747193cb..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/DescriptorWriter.java +++ /dev/null @@ -1,361 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.nio.Buffer; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; - -import com.l2jmobius.clientcryptor.crypt.DatCrypter; -import com.l2jmobius.config.ConfigDebug; -import com.l2jmobius.data.GameDataName; -import com.l2jmobius.util.ByteWriter; -import com.l2jmobius.util.DebugUtil; -import com.l2jmobius.util.Util; -import com.l2jmobius.xml.exceptions.CycleArgumentException; -import com.l2jmobius.xml.exceptions.PackDataException; - -public class DescriptorWriter -{ - private static final byte[] endFileBytes = new byte[] - { - 12, - 83, - 97, - 102, - 101, - 80, - 97, - 99, - 107, - 97, - 103, - 101, - 0 - }; - private static final DescriptorWriter _instance = new DescriptorWriter(); - private static final Logger _log = LogManager.getLogger(DescriptorWriter.class); - - public static DescriptorWriter getInstance() - { - return _instance; - } - - public static byte[] parseData(File currentFile, DatCrypter crypter, Descriptor desc, String data) throws Exception - { - ByteArrayOutputStream stream = new ByteArrayOutputStream(data.length() / 2); - if (desc.getFormat() != null) - { - data = desc.getFormat().encode(data); - } - if (desc.isRawData()) - { - Buffer result = parseNodeValue(currentFile, crypter, data, desc.getNodes().get(0), true); - if (result != null) - { - stream.write((byte[]) result.array()); - } - else - { - _log.error("Failed to parse raw data."); - } - } - else - { - ByteBuffer buffer = ByteBuffer.allocateDirect(data.length() * 2); - String lines = data.replace("\r\n", "\t"); - HashMap counters = new HashMap<>(); - packData(currentFile, crypter, buffer, lines, counters, new HashMap(), new HashMap(), desc.getNodes()); - try - { - buffer.flip(); - stream.write(ByteBuffer.allocate(buffer.limit()).put(buffer).array()); - } - catch (IOException e) - { - DebugUtil.getLogger().error(e.getMessage(), e); - } - } - if (desc.isSafePackage()) - { - stream.write(endFileBytes); - } - return stream.toByteArray(); - } - - private static void packData(File currentFile, DatCrypter crypter, ByteBuffer buffer, String lines, Map counters, Map paramMap, Map mapData, List nodes) throws Exception - { - for (ParamNode node : nodes) - { - try - { - String param; - if (node.isIterator()) - { - counters.put(node, buffer.position()); - continue; - } - if (node.getEntityType().isCycle()) - { - if (!node.isNameHidden()) - { - Pattern pattern = Pattern.compile("\\b" + node.getName().concat("_begin\\b(.*?)\\b").concat(node.getName()).concat("_end\\b"), 32); - Matcher m = pattern.matcher(lines); - ArrayList list = new ArrayList<>(); - while (m.find()) - { - list.add(m.group(1)); - } - writeSize(currentFile, crypter, buffer, counters, node, list.size()); - for (String str : list) - { - paramMap.putAll(Util.stringToMap(str)); - packData(currentFile, crypter, buffer, str, counters, paramMap, mapData, node.getSubNodes()); - } - continue; - } - param = getDataString(node, node.getName(), paramMap, mapData); - if (param == null) - { - throw new Exception("Error getDataString == null node: " + node.getName()); - } - if (param.isEmpty() || param.equals("{}")) - { - writeSize(currentFile, crypter, buffer, counters, node, 0); - continue; - } - List subParams = Util.splitList(param); - int cycleSize = subParams.size(); - if ((node.getSize() > 0) && (node.getSize() != cycleSize)) - { - throw new Exception("Wrong static cycle count for cycle: " + node.getName() + " size: " + subParams.size() + " params: " + Arrays.toString(subParams.toArray())); - } - writeSize(currentFile, crypter, buffer, counters, node, cycleSize); - int nPramNode = 0; - int nCycleNode = 0; - for (ParamNode n : node.getSubNodes()) - { - if (n.getEntityType().isCycle()) - { - ++nCycleNode; - continue; - } - if (n.isIterator()) - { - continue; - } - ++nPramNode; - } - for (String subParam : subParams) - { - int paramIndex = 0; - List sub2Params = (nPramNode > 0) || (nCycleNode > 1) ? Util.splitList(subParam) : Collections.singletonList(subParam); - for (ParamNode n : node.getSubNodes()) - { - if (n.isIterator() || n.getEntityType().isConstant()) - { - continue; - } - if (paramIndex >= sub2Params.size()) - { - throw new Exception("Wrong cycle param count for cycle: " + node.getName() + " paramIndex: " + paramIndex + " params: " + Arrays.toString(sub2Params.toArray())); - } - mapData.put(n, sub2Params.get(paramIndex++)); - } - packData(currentFile, crypter, buffer, lines, counters, paramMap, mapData, node.getSubNodes()); - } - continue; - } - if (node.getEntityType().isWrapper()) - { - List subParams = Util.splitList(getDataString(node, node.getName(), paramMap, mapData)); - int paramIndex = 0; - for (ParamNode n : node.getSubNodes()) - { - if (n.isIterator() || n.getEntityType().isConstant()) - { - continue; - } - mapData.put(n, subParams.get(paramIndex++)); - } - packData(currentFile, crypter, buffer, lines, counters, paramMap, mapData, node.getSubNodes()); - continue; - } - if (node.getEntityType().isVariable()) - { - buffer.put((byte[]) parseNodeValue(currentFile, crypter, getDataString(node, node.getName(), paramMap, mapData), node, false).array()); - continue; - } - if (!node.getEntityType().isIf() || ((param = getDataString(node, node.getParamIf(), paramMap, mapData)) == null) || !node.getValIf().equalsIgnoreCase(param)) - { - continue; - } - packData(currentFile, crypter, buffer, lines, counters, paramMap, mapData, node.getSubNodes()); - } - catch (Exception e) - { - throw new PackDataException(e + "\r\n-node: " + node + "\r\n\tparam: " + paramMap.get(node.getName())); - } - } - } - - private static Buffer parseNodeValue(File currentFile, DatCrypter crypter, String data, ParamNode node, boolean isRaw) - { - ParamType nodeType = node.getType(); - if (nodeType == null) - { - _log.error("Incorrect node type for node " + node); - return null; - } - try - { - switch (nodeType) - { - case UCHAR: - { - return ByteWriter.writeChar(Byte.parseByte(data)); - } - case CNTR: - { - return ByteWriter.writeCompactInt(Integer.parseInt(data)); - } - case UBYTE: - { - return ByteWriter.writeUByte(Short.parseShort(data)); - } - case SHORT: - { - return ByteWriter.writeShort(Short.parseShort(data)); - } - case USHORT: - { - return ByteWriter.writeUShort(Integer.parseInt(data)); - } - case UINT: - case INT: - { - return ByteWriter.writeInt(Integer.parseInt(data)); - } - case UNICODE: - { - return ByteWriter.writeUtfString(isRaw ? data : data.substring(1, data.length() - 1), isRaw); - } - case ASCF: - { - return ByteWriter.writeString(isRaw ? data : data.substring(1, data.length() - 1), isRaw); - } - case DOUBLE: - { - return ByteWriter.writeDouble(Double.parseDouble(data)); - } - case FLOAT: - { - return ByteWriter.writeFloat(Float.parseFloat(data)); - } - case LONG: - { - return ByteWriter.writeLong(Long.parseLong(data)); - } - case RGBA: - { - return ByteWriter.writeRGBA(data); - } - case RGB: - { - return ByteWriter.writeRGB(data); - } - case HEX: - { - return ByteWriter.writeByte((byte) (Integer.parseInt(data, 16) & 255)); - } - case MAP_INT: - { - if (ConfigDebug.DAT_REPLACEMENT_NAMES) - { - return ByteWriter.writeInt(GameDataName.getInstance().getId(currentFile, crypter, node, data)); - } - return ByteWriter.writeInt(Integer.parseInt(data)); - } - } - DebugUtil.getLogger().error("Unsupported primitive type " + (nodeType)); - } - catch (Exception e) - { - _log.error("Failed to parse value for node " + node + " data: " + data, e); - } - return null; - } - - private static String getDataString(ParamNode node, String name, Map paramMap, Map mapData) - { - if ((mapData != null) && mapData.containsKey(node)) - { - return mapData.get(node); - } - return paramMap.get(name); - } - - private static void writeSize(File currentFile, DatCrypter crypter, ByteBuffer buffer, Map counters, ParamNode node, int cycleSize) throws CycleArgumentException - { - if (!node.isSkipWriteSize() && (node.getSize() < 0)) - { - ParamNode iterator = node.getTmpIterator(); - if (iterator == null) - { - counters.keySet().stream().filter(n -> n.getName().equals(node.getCycleName())).forEach(node::setTmpIterator); - iterator = node.getTmpIterator(); - if (iterator == null) - { - throw new CycleArgumentException("Invalid argument [" + node.getName() + "] for cycle"); - } - } - Buffer buff = parseNodeValue(currentFile, crypter, String.valueOf(cycleSize), iterator, false); - int pos = counters.get(iterator); - if (pos >= 0) - { - int rem = buffer.position(); - if (pos == rem) - { - buffer.put((byte[]) buff.array()); - } - else - { - byte[] arrayNext = new byte[rem - pos]; - buffer.position(pos); - buffer.get(arrayNext); - buffer.position(pos); - buffer.put((byte[]) buff.array()); - buffer.put(arrayNext); - } - counters.remove(iterator); - } - } - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/ParamNode.java b/L2ClientDat/java/com/l2jmobius/xml/ParamNode.java deleted file mode 100644 index 4f00dff192..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/ParamNode.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -import java.util.ArrayList; -import java.util.List; - -public class ParamNode -{ - private String _name; - private int _size = -1; - private boolean _hidden = false; - private String _cycleName; - private final ParamNodeType _entityType; - private final ParamType _type; - private List _sub; - private boolean _isIterator; - private ParamNode _tmpIterator; - private boolean _skipWriteSize; - private String _paramIf; - private String _valIf; - - ParamNode(String name, ParamNodeType entityType, ParamType type) - { - _name = name; - _entityType = entityType; - _type = type; - } - - public void setName(String name) - { - _name = name; - } - - public void setSize(int size) - { - _size = size; - } - - public int getSize() - { - return _size; - } - - void setIterator() - { - _isIterator = true; - } - - void setHidden() - { - _hidden = true; - } - - boolean isIterator() - { - return _isIterator && (_size < 0); - } - - boolean isNameHidden() - { - return _hidden; - } - - public String getName() - { - return _name; - } - - ParamNodeType getEntityType() - { - return _entityType; - } - - public ParamType getType() - { - return _type; - } - - synchronized ParamNode copy() - { - ParamNode node = new ParamNode(getName(), getEntityType(), getType()); - if (isNameHidden()) - { - node.setHidden(); - } - if (isIterator()) - { - node.setIterator(); - } - node.setSkipWriteSize(isSkipWriteSize()); - node.setCycleName(getCycleName()); - if (getSubNodes() != null) - { - ArrayList list = new ArrayList<>(); - for (ParamNode n : getSubNodes()) - { - ParamNode copyN = n.copy(); - list.add(copyN); - } - node.addSubNodes(list); - } - return node; - } - - synchronized void addSubNodes(List n) - { - if (_sub == null) - { - _sub = new ArrayList<>(); - } - _sub.addAll(n); - } - - List getSubNodes() - { - return _sub; - } - - @Override - public String toString() - { - return _name + "[" + (_entityType) + "][" + _cycleName + "][" + (_type) + "]"; - } - - ParamNode getTmpIterator() - { - return _tmpIterator; - } - - void setTmpIterator(ParamNode tmpIterator) - { - _tmpIterator = tmpIterator; - } - - boolean isSkipWriteSize() - { - return _skipWriteSize; - } - - void setSkipWriteSize(boolean skipWrite) - { - _skipWriteSize = skipWrite; - } - - void setParamIf(String paramIf) - { - _paramIf = paramIf; - } - - void setValIf(String valIf) - { - _valIf = valIf; - } - - String getParamIf() - { - return _paramIf; - } - - String getValIf() - { - return _valIf; - } - - String getCycleName() - { - return _cycleName; - } - - void setCycleName(String cycleName) - { - _cycleName = cycleName; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/ParamNodeType.java b/L2ClientDat/java/com/l2jmobius/xml/ParamNodeType.java deleted file mode 100644 index 59dc2e8aea..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/ParamNodeType.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -enum ParamNodeType -{ - FOR, - WRAPPER, - CONSTANT, - VARIABLE, - IF; - - private ParamNodeType() - { - } - - boolean isCycle() - { - return this == FOR; - } - - public boolean isWrapper() - { - return this == WRAPPER; - } - - boolean isConstant() - { - return this == CONSTANT; - } - - boolean isVariable() - { - return this == VARIABLE; - } - - boolean isIf() - { - return this == IF; - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/ParamType.java b/L2ClientDat/java/com/l2jmobius/xml/ParamType.java deleted file mode 100644 index 281778880b..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/ParamType.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -enum ParamType -{ - UCHAR, - CNTR, - UBYTE, - USHORT, - SHORT, - UINT, - STRING, - INT, - UNICODE, - ASCF, - DOUBLE, - FLOAT, - LONG, - RGBA, - RGB, - HEX, - MAP_INT; - - private ParamType() - { - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/Variant.java b/L2ClientDat/java/com/l2jmobius/xml/Variant.java deleted file mode 100644 index 551b23d563..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/Variant.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml; - -public class Variant -{ - private final Object _value; - private final Class _type; - - Variant(Object value, Class type) - { - _value = type.cast(value); - _type = type; - } - - public final boolean isInt() - { - return _type == Integer.class; - } - - public final boolean isShort() - { - return _type == Short.class; - } - - public final boolean isFloat() - { - return _type == Float.class; - } - - public final boolean isDouble() - { - return _type == Double.class; - } - - public final int getInt() - { - return (Integer) _value; - } - - public final short getShort() - { - return (Short) _value; - } - - public final float getFloat() - { - return ((Float) _value).floatValue(); - } - - public double getDouble() - { - return (Double) _value; - } - - public long getLong() - { - return (Long) _value; - } - - @Override - public final String toString() - { - return String.valueOf(_value); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/exceptions/CycleArgumentException.java b/L2ClientDat/java/com/l2jmobius/xml/exceptions/CycleArgumentException.java deleted file mode 100644 index 83c302ad72..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/exceptions/CycleArgumentException.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml.exceptions; - -public class CycleArgumentException extends Exception -{ - public CycleArgumentException(String message) - { - super(message); - } -} diff --git a/L2ClientDat/java/com/l2jmobius/xml/exceptions/PackDataException.java b/L2ClientDat/java/com/l2jmobius/xml/exceptions/PackDataException.java deleted file mode 100644 index ea6ecf0537..0000000000 --- a/L2ClientDat/java/com/l2jmobius/xml/exceptions/PackDataException.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.l2jmobius.xml.exceptions; - -public class PackDataException extends Exception -{ - public PackDataException(String message) - { - super(message); - } -}