Giter VIP home page Giter VIP 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.

Installation

Disclaimer: The repository owner is not collaborating with Scoop and updates can be manually downloaded from aok.heavengames' Blacksmith.

You can install and keep Advanced Genie Editor up-to-date with scoop. If you have scoop installed add the games bucket with:

scoop bucket add games

and install AGE with

scoop install advanced-genie-editor

Building

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

SFML is used for simultaneous audio playback.

Hopefully it will support MP3 in some year.

lz4 is used for decompressing some sprites.

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

CMake 3.15.5

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

\CMake\share\cmake-3.15\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

It includes gdb, libiconf, zlib.

Choose posix threads with dwarf exception handling.

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

wxWidgets 3.1.4

  • Unpack the zip file.

  • Open the commandline and change the working directory \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.75.0

  • Unpack the zip file.

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

  • Run bootstrap.bat gcc

  • Copy b2.exe to \boost_1_75_0

  • Run from \boost_1_75_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_75_0 folder after build completes.

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

SFML 2.5.1

  • Unpack the zip file.

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

  • Configure and then generate both Release and Debug builds.

  • 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.

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.