Tower Of Ecstasy Crystal Of Desire

Last update : 10/13/2019

This section will go over the basic requirements of building Allegro 5. There are quite a few optional dependencies that you would probably like to have support for compiled in. Don't worry, we'll get to that. First the build tools, and then second, the dependencies, and third, allegro.

Before that, here are a few downloads made available for your convenience :

32 or 64 bit MinGW-W64 compiler (latest available here)
MinGW-W64-GCC81_i686_Posix_Dwarf.7z (32 bit MinGW compiler)
MinGW-W64-GCC81_x86_64_Posix_SEH.7z (64 bit MinGW compiler)


Dependency Source Package :
DepSources.7z

The source package includes the following libraries source code prepared for you. These are the latest releases as of 02/26/2019 : (an a following the version indicates I had to modify it slightly)


MSYS :
MSYS 1.0.11.7z

CHM script (kindly donated by ArekXV) :
generateCHM.7z

Tower Of Ecstasy Crystal Of Desire

Build Tools

7-Zip

Some of the archives come in 7z or tar.gz format. The 7-zip archiver handles these files neatly. Download and install from here :

Download 7-zip

MinGW-W64

First you need a working build of MinGW. The MinGW-W64 project provides up to date, working, active versions of the latest gcc built for windows. You can get 32 or 64 bit compilers, but for portability I still recommend 32 bit, so you can share with a larger majority of your users.

On the Sourceforge download page, you can find the latest versions of MinGW-W64. Scroll down to see the release builds. Building Allegro 5 has been tested with MinGW-W64 GCC versions 7.1, 7.2, and 8.1.

Download the archive for your selected compiler version and architecture. Extract the contents of the folder and move the resulting mingw32 folder to c:\mingw.

MSYS 1.0

To build several of the dependency libraries, we need to use MSYS 1.0.11 to use the autotools builds.

Instructions for installing MSYS 1.0 can be found here. You need to install MSYS 1.0.11, the MSYS DTK, and then extract the MSYS Core over the top of your new installation. Install to the default location, which is C:\msys. I put together an archive containing all the files you need to install MSYS 1.0.11. Find it here :

MSYS_1pt0pt11.7z

Next, run your new msys.bat file in your new c:/msys/1.0 folder to launch the MSYS shell. Verify you have a working installation and the path is set correctly. By default, msys will add c:\mingw\bin to its path. At the terminal, type

g++ --version

It should output the version of gcc you are using. If so, you're good to go.

CMake 3

You can get the latest cmake on the Download page. When you install cmake, choose the option to add cmake to your %PATH%

Git

Download the latest git and install, choosing the option to add git to the system path for the current user.

NASM

NASM is used for building parts of libjpeg-turbo. If you're using a different libjpeg, feel free to skip this step. Otherwise, download v2.13.03 here, or find a newer version.

HTML Help Workshop

HTML Help Workshop lets you compile html into chm, which is a much easier format to navigate and read. You can get it from Microsoft.

Tower Of Ecstasy Crystal Of Desire

To understand the artifact, one must first decode the name. Each word bears a specific metaphysical weight.

In sacred geometry, the Tower represents a vertical conduit—a spine of the universe linking the Earth’s core (Root Chakra) to the Cosmic Void (Crown Chakra). It is a structure of stability and ascension. However, a "Tower of Ecstasy" implies a dynamic state: the shattering of rigid control in favor of divine bliss.

This tower is not a prison; it is a lighthouse. It invites the higher frequencies of joy to descend while allowing the suppressed shadow self to rise. Ecstasy, in the mystical sense (from the Greek ekstasis, meaning "to stand outside"), is the dissolution of the ego. Thus, the Tower of Ecstasy is the spiritual architecture that allows you to lose yourself to find your higher self.

The Tower rose from the night like a held breath, black glass and bone-white veins that drank the moon. At its crown a single crystal hovered—no hinge, no lattice, simply a faceted heart of impossible clarity: the Crystal of Desire. It pulsed faintly, a slow heartbeat pitched to the rhythm of something ancient and patient.

People said the Tower answered longing. Lovers left messages carved in wax along the base; thieves bartered promises in its shadow; the desperate climbed the broken steps to trade a memory for a wish. Desire, the rumor went, was not a coin but a climate—changeable, contagious, and cruel. The Crystal did not grant wishes so much as rearrange the world to match the weight of what you wanted. It tuned reality as a musician tunes an instrument: tighten this string, loosen that one, until the song in your chest harmonized with the world.

A woman came once, hair silver with too many winters, eyes bright as storm-swept glass. She carried nothing but a small wooden box. She climbed without haste. Each landing offered a new temptation—voices of laughter, visions of lost children, the warmth of forgivable sins—but she kept climbing. On the third stair a phantom lover waited; on the seventh, a city recreated around a single perfect day. She walked by each as though they were props in a play already finished. tower of ecstasy crystal of desire

At the top the Crystal hung, suspended by no visible force. Its facets showed not reflections but possibilities: a house she had not dared build, a child she might never mother, the face of a man who had left years ago. For a moment she sat on the cold stone and watched her life refract into a kaleidoscope of might-have-beens.

"Make one choice," the Crystal said—its voice like the small crackle of ice—"and I will make the world answer."

She opened her wooden box. Inside was a faded photograph and a single hair tied with a red thread. She did not show them to the Crystal. She placed the box between its light and her chest, and in that silence the Tower seemed to listen.

"I want less," she said. "Not more of anything. Less noise. Less ache. Fewer things that speak of what I have lost."

The Crystal wavered. Most supplicants asked for gain—wealth, love, revenge—and the gemstone obliged, bending fate outward. A request for less was rarer and the Tower had no easy mechanism for subtraction. The facets shimmered, considering the arithmetic of absence. To understand the artifact, one must first decode the name

As the moon shifted, the Tower answered in small increments. The woman left with nothing outwardly changed: the city remained, the seasons kept their route, the stars continued their slow turning. But when she turned down a crowded street the music in the cafés thinned until she could hear the soles of her shoes on the stone. Conversations that once landed like heavy birds settled instead on light branches. The rooms in her house stopped orbiting the empty chair; photographs lost the edges of accusation and folded into soft, neutral light. Grief did not depart—how could it, when it had been the shape of her life—but it uncoiled, sparse and less jagged, like a rope loosened from a taut post.

Others sought the Tower later and found different mercies. A trader who placed his ledger before the Crystal asked for a single act of wonder: a day without fear. The Tower staged a storm that sank his rivals' sails and left him untouched; the world rearranged to give him that one clear sunrise. A poet traded his voice for a year of silence and came away with words tattooed in the margins of books that strangers finished for him. Each answer fit the grammar of the wish, literal and literal-almost, the Tower taking your metaphors at face value and reweaving them with stubborn logic.

Stories grew. Some said the Crystal listened to what was not said—longings you couldn't name—and answered them more dangerously. A man who thought he desired power learned, too late, the cost: a city built to bow to him, yes, but hollow and quick to crumble. A woman who whispered for a child found herself mother to a creature shaped of light and rumor that vanished at dawn.

There were rules, unwritten but soon learned. The Tower never forced consent. It would not reach into another's heart to pull out what you needed. It worked by approximation—by tilting probabilities, by loosening threads so some things unravel while others knit tighter. It loved irony and literalness. Promises that sounded clever were the most perilous: the language of desire is treacherous for it rarely accounts for the things you will sacrifice to get what you asked for.

The woman with the wooden box returned several times. Each visit she stripped a layer of hunger—not the hunger for objects but the hunger that made memory a wound. Once she asked the Crystal to remove a name from her mouth; the next time she asked it to make rain fall only on the fields that needed it; once she asked for nothing at all and felt the Tower hum like the satisfied silence after a bell. Over the years the box collected fewer mementos. Its hinge loosened in a way that made opening easier. It is a structure of stability and ascension

By then the town around the Tower had its own rituals. Children left small stones at its base that glowed faintly at night. Lovers carved initials into the steps, knowing the Tower would rearrange the geometry of their days but never the choice that had brought them there. Pilgrims from distant places came to bargain with the Crystal; some were careful with words and left grateful, others were careless and left with pockets full of answers they had not intended.

One autumn, the Tower's heartbeat slowed. A crack formed along one facet of the Crystal, a hairline fracture like a thought interrupted. No one could say why. Some said the whole world had shifted too far to one side; others said the Crystal had grown weary of carrying so many unspoken weights.

The woman watched the fracture spread like frost across the gemstone. She thought of all she had asked—less noise, smaller griefs, the neat subtraction of splintered memories—and felt, with a visitor's tenderness, a pang for the thing that had always listened. When the Crystal finally fractured and a single shard drifted free, it did not fall. It hovered in her palm, warm as breath.

Some asked her to keep it, to bargain it for fortunes, to let scholars study its geometry. She wrapped it in linen and walked away. The shard never spoke. It was not a new Crystal; it was only a shard—sharp, clear, full of the small, honest light that belongs to things once broken and not yet healed.

She buried the shard under a willow by the river and let the current learn the taste of it. Over seasons the tree grew in a soft curve, and when the wind tore free its leaves the town said the Willow had a new patience. Children who played beneath its boughs found their scraped knees less persistent. Lovers who whispered there found their promises smaller and kinder.

The Tower still stood. Its crown held a different stone now—smaller, stranger—cast not by the hunger of a single heart but by a thousand small renunciations. People still climbed. They still left their boxes. Desire did not disappear; it merely learned other shapes: the patient wish to have less, the brave request to be made smaller in the margins where sorrow sharpened.

And sometimes, on quiet nights, the Tower's light would reach that willow and the town would remember that the world changes not only by the things we seize but by the things we let go.


Building Allegro

Getting the latest source code for allegro

The latest allegro version as of the time of the writing of this document is Allegro 5.2.5.

Allegro 5 source releases

Get the latest source releases of allegro from liballeg.org's download page. Extract the contents to find an allegro5 folder.

Cloning latest allegro with git

At the command line, (after installing GIT) , run the following commands to create a new allegro5 folder with the latest git source contained within.

git clone https://github.com/liballeg/allegro5.git
git checkout 5.2.5
OR
git checkout master   

Configuring allegro with CMake

After you have an allegro5 source folder, make a subdirectory called build, change to it, and invoke 'cmake-gui ..'

Building Allegro is the most complicated, due to all the dependencies and addons available for use. The configuration is the hardest part. Some of the available options for building allegro include the following (with their possible values given in brackets) :

You will need to configure and generate the cmake project for each library target and type that you require. For instance, there are 8 combinations of libraries available. I only compile the static and shared versions of the release and debug versions of allegro. If you want another configuration, you can specify it yourself. Then run mingw32-make and mingw32-make install for each target as you configure it.

Personally, when I build Allegro, I compile the examples, demos, and test driver in dynamic debug mode. Docs are compiled in static release mode for faster more efficient building. This makes for easier testing, sharing, and debugging of allegro.

Note: CMake uses forward slashes, not back slashes.

Create a deps folder

To make the configuration process easier, we'll use a hidden feature of allegro's cmake file. The deps folder. In the build folder for allegro that you created, make a 'deps' folder. Then copy the bin, include, and lib folders from your install directory with all your previously built libraries into the 'deps' folder before running cmake's configuration process.

GDI Plus

The CMake script for allegro has gotten pretty smart and now correctly detects mingw-w64's compiler directory. This means we shouldn't have to worry about configuring and finding things like DirectX. GDIPlus on the other hand is detected incorrectly, and you need to set the include directory and the lib for this option. The GDIPlus header is located in c:\mingw\i686-w64-mingw32\include and the GDIPlus archive library is located in c:\mingw\i686-w64-mingw32\lib folder. Please set these options before generating your make files.

Once you've got allegro 5 configured the way you want it, press generate. Then run mingw32-make and mingw32-make install and you're good to go. You should now have a working install of allegro.

Building a CHM Manual for Allegro 5

Once you've built the html docs, you can use this special script (donated by some generous allegroite I can't remember at the moment) to create chm docs. You need HTML Help Workshop installed to build the chm docs. See the downloads and links at the top of the page. Clicky.

Extract the contents of generateCHM.7z to the allegro5/build/docs/html folder. Edit generateCHM.bat to use the correct program files location depending on the OS. If you have a 64 bit OS, the correct env variable is %ProgramFiles(x86)%. Edit the .bat file to use the correct location where you have HTML Help Workshop installed (look for hhc.exe, hhp.exe). Add that folder to your path using

set path=%ProgramFiles(x86)%;%PATH%;

After that it should be as simple as running the generateCHM.bat script, and you should now have an allegro-doc-refman.chm file or something similar.

Downloading latest binaries for Allegro 5

Official binaries

SiegeLord builds the official binaries for Allegro 5. You can find them just below. You'll also need the dependency package to go with it.

Allegro 5 Releases

Allegro 5 Dependency Releases

Unofficial binaries

I maintain my own unofficial versions of the Allegro 5 library. See the download page on bitbucket for details :

Unoffical Allegro 5 binaries download page

Included are headers, libs, and dlls for developing with Allegro 5 and all of its dependencies. There are static, shared, release, and debug monoliths for allegro. Included are all the examples, tests, and demo programs compiled in dynamic debug mode. There are HTML and CHM docs included, as well as a primitive build environment provided by a .bat script. Run the "RunA525Examples.bat" file to set it up.

This guide was followed to produce the unofficial binaries. If I can do it, so can you. See the release thread on allegro.cc below for details :

Unoffical binary release thread

Well, that's all there is to see here folks! Hope you now have a brand spanking lovely new version of allegro 5 to play with!

Happy Coding!!!111oneoneone



^^^ Back to the top ^^^