<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Install:Git:Windows</title><link>https://sourceforge.net/p/hpg-projects/wiki/Install%253AGit%253AWindows/</link><description>Recent changes to Install:Git:Windows</description><atom:link href="https://sourceforge.net/p/hpg-projects/wiki/Install:Git:Windows/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 20 Jan 2023 12:16:57 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/hpg-projects/wiki/Install:Git:Windows/feed" rel="self" type="application/rss+xml"/><item><title>Install:Git:Windows modified by Hugh Greene</title><link>https://sourceforge.net/p/hpg-projects/wiki/Install%253AGit%253AWindows/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Herein we will attempt to document the steps that we have taken to get a&lt;br/&gt;
working ENIGMA install on Windows from the Git repository. This process&lt;br/&gt;
will probably largely be a big hack, just to get it working first. Then,&lt;br/&gt;
we'll work on revising this process to make it more elegant in the&lt;br/&gt;
future. This process will probably still be kept around for the&lt;br/&gt;
down-and-dirty people who make the elegant solution possible.&lt;/p&gt;
&lt;p&gt;Generally, a git install of ENIGMA follows the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install Git (if you don't have it already)&lt;/li&gt;
&lt;li&gt;Git enigma-dev&lt;/li&gt;
&lt;li&gt;Obtain dependencies&lt;/li&gt;
&lt;li&gt;Plug in binaries&lt;/li&gt;
&lt;li&gt;(Optional) Compile Enigma&lt;/li&gt;
&lt;li&gt;Run&lt;/li&gt;
&lt;li&gt;Compile First Game&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Currently, we're stuck at step 4, because of some internal library that&lt;br/&gt;
has gone missing.&lt;/p&gt;
&lt;h2 id="git"&gt;Git&lt;/h2&gt;
&lt;p&gt;You may install any of the git clients available to you. See&lt;br/&gt;
&lt;a class="" href="/p/hpg-projects/wiki/Git/" title="wikilink"&gt;Git&lt;/a&gt; for details on obtaining one.&lt;/p&gt;
&lt;p&gt;Next, point your client to our repository and clone it to a directory of&lt;br/&gt;
your choosing. From command line, this is done with the following&lt;br/&gt;
command:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git clone&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you want to clone to a different named folder than the default&lt;br/&gt;
'enigma-dev', you may simply add a space, and then the folder name to&lt;br/&gt;
the command, like such:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git clone ``&lt;/code&gt;&lt;strong&gt;&lt;code&gt;enigma&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="dependencies"&gt;Dependencies&lt;/h2&gt;
&lt;p&gt;This step is largely the same as a normal install.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="../MinGW" title="wikilink"&gt;MinGW&lt;/a&gt; - Must be a newer version. Steps are&lt;br/&gt;
    provided below for how to install it.&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="../Java" title="wikilink"&gt;Java&lt;/a&gt; - Needed to run the user interface,&lt;br/&gt;
&lt;a class="" href="../LateralGM" title="wikilink"&gt;LateralGM&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mingw"&gt;MinGW&lt;/h3&gt;
&lt;p&gt;We will need a newer version of some MinGW tools. As of 2012-02-01, the&lt;br/&gt;
normal MinGW install did not include tools updated enough for us, so we&lt;br/&gt;
have to grab their development install instead.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download&lt;br/&gt;
&lt;a href="http://sourceforge.net/projects/mingw/files/latest/download?source=files"&gt;http://sourceforge.net/projects/mingw/files/latest/download?source=files&lt;/a&gt;&lt;br/&gt;
    and launch the installer.&lt;/li&gt;
&lt;li&gt;It shouldn't matter if you use the packaged catalogs or update the&lt;br/&gt;
    catalogs. I opted to update them.&lt;/li&gt;
&lt;li&gt;It is preferred that you install to the default location - usually&lt;br/&gt;
    C:\MinGW.&lt;/li&gt;
&lt;li&gt;When asked which tools to install, choose the following (the rest&lt;br/&gt;
    are unneeded):&lt;ul&gt;
&lt;li&gt;C compiler&lt;/li&gt;
&lt;li&gt;C++ compiler&lt;/li&gt;
&lt;li&gt;ObjC compiler&lt;/li&gt;
&lt;li&gt;MSYS Basic System&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="uh"&gt;Uh&lt;/h3&gt;
&lt;p&gt;At this point, I got stuck.&lt;/p&gt;
&lt;h2 id="binaries"&gt;Binaries&lt;/h2&gt;
&lt;p&gt;Each of these must be placed in a specific place relative to the enigma&lt;br/&gt;
directory.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;enigma-dev/ENIGMA.exe - Technically optional, although recommended.&lt;br/&gt;
    It will try and find/install additional dependencies, set up the&lt;br/&gt;
    compiler configuration (&lt;a class="" href="../Compilers/" title="wikilink"&gt;gcc.ey&lt;/a&gt;), and launch&lt;br/&gt;
    the user interface. Without it, you will need to do these tasks&lt;br/&gt;
    manually.&lt;/li&gt;
&lt;li&gt;enigma-dev/&lt;a class="" href="http://dl.dropbox.com/u/9975312/enigma-dep/lgm16b4.jar" rel="nofollow"&gt;lgm16b4.jar&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;This is &lt;a class="" href="../LateralGM" title="wikilink"&gt;LateralGM&lt;/a&gt;, the&lt;br/&gt;
IDE.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;enigma-dev/plugins/&lt;a class="" href="http://dl.dropbox.com/u/9975312/enigma-dep/enigma.jar" rel="nofollow"&gt;enigma.jar&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;This is the &lt;a class="" href="../plugin" title="wikilink"&gt;plugin&lt;/a&gt; that connects enigma to&lt;br/&gt;
the&lt;br/&gt;
IDE.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;enigma-dev/plugins/shared/&lt;a class="" href="http://dl.dropbox.com/u/9975312/enigma-dep/jna.jar" rel="nofollow"&gt;jna.jar&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;This is &lt;a class="" href="../JNA" title="wikilink"&gt;JNA&lt;/a&gt;, a lower-level library that connects&lt;br/&gt;
the &lt;a class="" href="../backend" title="wikilink"&gt;backend&lt;/a&gt; of the plugin to the backend of&lt;br/&gt;
enigma and allows &lt;a class="" href="../Java" title="wikilink"&gt;Java&lt;/a&gt; to call the&lt;br/&gt;
&lt;a class="" href="/p/hpg-projects/wiki/DLL/" title="wikilink"&gt;DLL&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ensure that each file ends up in its respective directory. If you are an&lt;br/&gt;
active git-privileged developer, you should not need to worry about&lt;br/&gt;
these files accidentally ending up in the repository, because the&lt;br/&gt;
.gitignore file has rules to ignore jar files.&lt;/p&gt;
&lt;p&gt;I'm probably missing a couple.&lt;/p&gt;
&lt;h2 id="go"&gt;Go&lt;/h2&gt;
&lt;p&gt;As an optional step prior to launching, you may wish to compile ENIGMA.&lt;br/&gt;
Note that if you just run without compiling, it will attempt to compile&lt;br/&gt;
itself, which is why this step is usually completely unnecessary.&lt;/p&gt;
&lt;p&gt;Launch ENIGMA.exe, if you opted for that route. If not, ensure that you&lt;br/&gt;
installed the necessary dependencies and set up gcc.ey, and then launch&lt;br/&gt;
lgm16b4.jar. As mentioned, it will try to compile ENIGMA itself. The&lt;br/&gt;
exact mechanics behind this, for those who are curious on how enigma can&lt;br/&gt;
build itself, are as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ENIGMA.exe launches lgm16b4.jar, which is LateralGM.&lt;/li&gt;
&lt;li&gt;LateralGM launches valid plugin jars in the plugins/ folder. This&lt;br/&gt;
    includes enigma.jar.&lt;/li&gt;
&lt;li&gt;enigma.jar invokes `make`.&lt;/li&gt;
&lt;li&gt;make interprets the Makefile&lt;ol&gt;
&lt;li&gt;The Makefile tells make to recurse through the directories,&lt;br/&gt;
    invoking the appropriate toolchain executables on the&lt;br/&gt;
    appropriate sources in the appropriate order, creating binary&lt;br/&gt;
    objects.&lt;/li&gt;
&lt;li&gt;The Makefile then links all the binaries together and creates&lt;br/&gt;
    the compileEGMf DLL/SO/DyLib and returns success. ENIGMA is&lt;br/&gt;
    built.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Assuming everything went well (which is a big assumption), LateralGM and&lt;br/&gt;
ENIGMA should be able to communicate freely, so you can create/load your&lt;br/&gt;
game.&lt;/p&gt;
&lt;h3 id="game"&gt;Game&lt;/h3&gt;
&lt;p&gt;Before compiling/loading your game, it is important to ensure that the&lt;br/&gt;
game-specific compiler settings are appropriate for your game.&lt;/p&gt;
&lt;p&gt;Notably, at your current hacked-together stage of ENIGMA, you &lt;em&gt;will&lt;/em&gt;&lt;br/&gt;
want to change the sound system, because Alure (the sound library) is&lt;br/&gt;
currently not hooked in properly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open ENIGMA Settings. Either access this from the ENIGMA menu, or by&lt;br/&gt;
    double clicking the tree node.&lt;/li&gt;
&lt;li&gt;Open the API tab.&lt;/li&gt;
&lt;li&gt;Change the Sound system from OpenAL to None.&lt;/li&gt;
&lt;li&gt;Save&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now you're ready to compile/run from the ENIGMA menu.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hugh Greene</dc:creator><pubDate>Fri, 20 Jan 2023 12:16:57 -0000</pubDate><guid>https://sourceforge.nete78408aebb3e78bfe1ef270cf63eb181ddb970a6</guid></item></channel></rss>