Giter Club home page Giter Club logo

age's Introduction

Advanced Genie Editor

A program for editing data files of Age of Empires, Age of Empires II, Star Wars: Galactic Battlegrounds, their expansions, upgrades, and mods.

Building

To compile with MinGW you need to download wxWidgets, Boost, and CMake.

For Visual Studio, you also need to download and build a compatible version of libiconv.

SFML is used for simultaneous audio playback.

lz4 is used for decompressing some sprites.

CMake 3.29.2

Install normally and select it to update PATH automatically. You may need to edit version numbers in

\CMake\share\cmake-3.29\Modules\Find*.cmake

files to find wxWidgets and Boost.

Extract rest of the stuff into a folder of your choice.

For Visual Studio, add a folder as a system variable %Cpp libs%, where you'll put all required headers and built libraries.

Mingw-builds 8.1.0

Includes gdb, libiconf, zlib.

Choose posix threads with dwarf exception handling.

After installing MinGW add its bin folder to the system path.

wxWidgets 3.2.4

  • Unpack the zip file.

  • Open the commandline and change the working directory to \wxWidgets\build\msw

  • Execute:

    mingw32-make -f makefile.gcc BUILD=debug clean
    
    mingw32-make -f makefile.gcc BUILD=debug SHARED=1
    
    mingw32-make -f makefile.gcc BUILD=release clean
    
    mingw32-make -f makefile.gcc BUILD=release SHARED=1
    
    del /s *.o
    
    del /s *.o.d

For Visual Studio, open the solution for your Visual Studio version or nearest one in \wxWidgets\build\msw and build all of it using all configurations you're planning to build Advanced Genie Editor with.

Boost 1.85.0

  • Unpack the zip file.

  • Open the commandline and change the working directory to \boost_1_85_0\tools\build

  • Run bootstrap.bat

  • Copy b2.exe to \boost_1_85_0

  • Run from \boost_1_85_0:

    b2 toolset=gcc link=shared runtime-link=shared threading=multi --with-iostreams
    
    # For Visual Studio, zlib needs to be built too.
    
    b2 toolset=msvc link=static runtime-link=shared threading=multi --with-iostreams -s ZLIB_SOURCE=".\tools\boost_install\test\iostreams\zlib-1.2.11" -s ZLIB_INCLUDE=".\tools\boost_install\test\iostreams\zlib-1.2.11"

You can safely delete the boost_1_85_0 folder after build completes.

Visual Studio may require appending lib to name of some generated libraries.

SFML 2.6.1

  • Unpack the zip file.

  • Use the cmake-gui and browse the SFML source folder.

  • Configure and ensure both Debug and MinSizeRel CMAKE_CONFIGURATION_TYPES are present.

  • Run from \SFML

    mingw32-make install
  • Copy FindSFML.cmake to \CMake\share\cmake-3.15\Modules

lz4

  • Unpack the zip file.

  • For static linking using Visual Studio, build the liblz4 project, both Debug and Release.

  • Copy the header files from lib folder into %Cpp libs%\lz4.

  • Create folders Debug and Release inside %Cpp libs%\lz4 folder.

  • Copy the generated liblz4_static.lib files from where they were generated, such as build\VS2017\bin.

Final steps

Clone the following projects into same folder where the AGE folder is:

MinGW: Update paths in build*.bat files, and then you are ready to go.

Visual Studio solution should be buildable now, but you may need to add some libraries to system path, or copy them into build folders.

If building shared libs copy necessary DLL files to execution path or add lib paths to system path.

  • wx: base, core

  • Boost: iostreams

  • genieutils (after each change)

License

GNU GPLv3; see LICENSE.

age's People

Contributors

apreiml avatar mic-e avatar rva2895 avatar sandsmark avatar simonsan avatar tapsa avatar withmorten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

age's Issues

[SUGGESTION] Dump to CSV

It would be really convenient to have a button or similar for each of the data tabs eg. Units, Techs, Effects which will dump the entire list into a CSV file or something similar, so that the data could be imported into a spreadsheet for easier comparison.

Values for certain fields are missing for AoE2:DE

AoE2:DE supports additional values for the following fields:

Unit Attributes (For effect commands modifying attributes, 26-34, 59-77, 100-115):
https://ugc.aoe2.rocks/general/attributes/attributes/

Player Resources (For effect commands modifying player resources, 250-284):
https://ugc.aoe2.rocks/general/resources/resources/

Additional Command Types for effects (8, 9, 18, 19, 28, 29, 30-39, 40-49):
https://ageofempires.fandom.com/wiki/Genie_Editor#Commands

Tech Modifiers in command types 8, 18, 28, 38, and 48:
https://ageofempires.fandom.com/wiki/Genie_Editor#Technology

Unit Task Types:
https://ageofempires.fandom.com/wiki/Genie_Editor#Tasks

Unit Resource Store Mode (32):
Value 32: Used by (Elite) konniks to prevent pop from decreasing during its dying animation

Unit Hide in Editor (2):
Value 2: Show in others Tab

Hope for adding effect type 8,18&28 and other 20+

These effect type all effective,and a = tech ID , b = action, c = -1, d= value
action is listed in Constant.xs in ……\AoE2DE\resources_common\xs
图片

effect type 20+ could not edit directly, but it is also effective
图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.