Results 1 to 3 of 3

Thread: Release of the EVT mod tool

  1. #1

    Default Release of the EVT mod tool

    Over at Europa Barbarorum II, we've created a new tool to help us generate the contents for the data/sounds/events.dat file. Today we release it to the wider modding community in the hope it may prove useful for other modders as well.

    The tool offers the following features:
    • Compiles XML sounds code to EVT binaries which may be assembled into the events.dat/events.idx pair using XIDX.
    • Reverse engineer XML from EVT binaries (which may be extracted from events.dat/events.idx using XIDX).
    • Validation: check that sounds code doesn't refer to items which your mod does not have. (E.g.: Vanilla left-overs...)
    • Enable experiments & bug fixing: the M2TW engine contains a fair few bugs that result in "broken" events.dat/events.idx files. For example, winter campaign music is ignored and summer campaign music (if any) is copied over in its place instead. Another example: if sound code specifies certain settings in the wrong order, M2TW will silently drop them/overwrite them; likewise M2TW will not warn you when you specify conflicting sound settings but silently drop some.

      Additionally, M2TW does not expose all possibilities for certain type of sound events. For example, M2TW does not let you specify season and terrain for lots of sound effects which do support such conditions in the EVT binary format.


    Compatibility
    Currently not all variants of all the EVT binaries are fully understood and some assumptions are made, so to check that the EVT tool will not bork your sounds you can run a compatibility test program which will run numerous checks to make sure the EVT tool is fully compatible with your EVT binaries. Fully compatible means that the EVT tool can read the EVT binary, reverse engineer it to XML, then successfully rebuild the XML into a new binary which is byte-for-byte identical to the original.

    To check, first prepare a directory with unpacked contents of the events.dat/events.idx to test, then run the compatibility test program (part of dist/Test.jar). This test program is included in the binary only release (for the source release, make sure to build the Unit tests as well), and it depends on JUnit to work. For more information, please refer to the readme file.

    Please report
    If you find an events.dat/events.idx file which is the tool is not yet fully compatible with, please report this (in this thread). Also, please upload the events.dat/events.idx file along with the text file source code which M2TW used to generate the events.dat/events.idx pair.

    The project can be downloaded from our FTP server right here: ftp://europabarbarorum.org/EVT-src-dist.7z. The download consists of a single compressed 7zip archive containing:
    Release of the EVT mod tool
    • Java source code (requires Java 1.6 JDK to build) and resources
    • A COPYRIGHT file containing the licence under which the project is made available (see below)
    • A readme.html file containing instructions for building from source, running it and using it to get some modding done. The file also contains links to download additional required software: it is very much recommended that you read this file.
    • Ant build scripts to make building from source easy (requires Ant 1.7.1 or higher to build)
    • A POSIX sh script which you can use as example for creating your own scripts that run the program under specific settings. Note that it is not required to use such a script; also note that it is not a batch file.
    • A Windows Script Host (wsf) file which you can use as alternative to the POSIX sh script on Windows.


    Programs such as 7-zip can be used to extract these contents. (You can get 7-zip from here: http://www.7-zip.org/ or commandline equivalent p7zip from here: http://p7zip.sourceforge.net/ )

    People who do not want to build from source can download the following compressed 7-zip archive instead: ftp://europabarbarorum.org/EVT-bin-dist.7z. This version contains:
    • The tool in the form of a single JAR file (dist/EVT.jar)
    • A compatibility test program (dist/Test.jar) which you can use to check if the EVT tool is compatible with EVT binaries extracted from events.dat/events.idx (using XIDX).
    • A COPYRIGHT file containing the licence under which the project is made available (see below)
    • A readme.html file containing instructions for building from source, running it and using it to get some modding done. The file also contains links to download additional required software: it is very much recommended that you read this file.
    • A POSIX sh script which you can use as example for creating your own scripts that run the program under specific settings. Note that it is not required to use such a script; also note that it is not a batch file.
    • A Windows Script Host (wsf) file which you can use as alternative to the POSIX sh script on Windows.
    • Code documentation for use as reference material when building more complex scripts to automate the tool. (dist/help/javadoc)


    Both versions (source and binary only) are made available under the following licence:
    Copyright (c) 2012 The Europa Barbarorum Team
    All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
    * Neither the name of The Europa Barbarorum Team nor the
    names of its contributors may be used to endorse or promote products
    derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL The Europa Barbarorum Team BE LIABLE FOR ANY
    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    The tool depends on the CUF tool in order to run, in fact the tool amounts to a software library that can be used from within the CUF tool. For more instructions refer to the readme.html file included with the downloads.

    Please report
    If you find an events.dat/events.idx file which is the tool is not yet fully compatible with, please report this (in this thread). Also, please upload the events.dat/events.idx file along with the text file source code which M2TW used to generate the events.dat/events.idx pair.

    Comments, criticism, improvements and bug reports are welcome. Regards,

    The Europa Barbarorum Team.
    -Tellos Athenaios
    CUF tool - XIDX - PACK tool - SD tool - EVT tool

    ὁ δ᾽ ἠλίθιος ὣσπερ πρόβατον βῆ βῆ λέγων βαδίζει” – Kratinos in Dionysalexandros.

  2. #2
    Deutschland's Avatar East of Rome Mod Leader
    Join Date
    Apr 2009
    Location
    Leipzig, Germany
    Posts
    2,025

    Default Re: Release of the EVT mod tool

    Hey looks like an useful tool. +rep

    will it work for other language versions (e.g. german) too?

  3. #3

    Default Re: Release of the EVT mod tool

    If you are referring to "other language versions" of M2TW, I think so. At any rate, this has not (yet) been a problem within the EB team (where there would be some variety between languages, Steam/no-Steam versions of the game). Of course, for the sounds to be translated into German, you need someone to record equivalents in German instead.

    If you want this tool to be translated into German itself, then someone needs to volunteer and we can integrate German (or pretty much any language) quite easily. In fact, it is covered as part of the readme.
    -Tellos Athenaios
    CUF tool - XIDX - PACK tool - SD tool - EVT tool

    ὁ δ᾽ ἠλίθιος ὣσπερ πρόβατον βῆ βῆ λέγων βαδίζει” – Kratinos in Dionysalexandros.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •