XerotoLabs Forums

XerotoLabs Home Base. Project info and such

You are not logged in.

#1 Doll (engine) » Getting started » 2017-08-24 12:12:08

NotKyon
Replies: 1

Ready to get started with Doll? Let's go ahead and set up our environment.

Windows: Recommended way

First, let's go ahead and download msys2, specifically the x86-64 version. (http://repo.msys2.org/distrib/x86_64/ms … 161025.exe is the latest version at the time of this writing.)

When that's installed and running, open up the mingw64 prompt, and add the Axia software repository to it. You can copy and paste the following to do so:

if ! `cat /etc/pacman.conf | grep "axia-sw" > /dev/null 2>&1`; then
  printf '[axia-sw]\nServer = https://github.com/axia-sw/msys2-packages/releases/download/current/\nSigLevel = PackageOptional' >> /etc/pacman.conf
fi

Next, run [font=monospace]pacman -Syu[/font] to download the latest package databases and update any out of date packages. (Be sure to carefully follow any instructions you receive from msys2 during this step. You might have to run the command again after restarting msys2.)

When that's done, you're ready to install Doll as a package in msys2. That way you can receive updates as they're released by running the same command from earlier ([font=monospace]pacman -Syu[/font]). To install Doll, just install it as you would any other package:

[font=monospace]pacman -S doll[/font]

That's it. (You'll probably also want the 64-bit version of GCC or Clang and other tools: [font=monospace]pacman -S mingw-w64-x86_64-g++ mingw-w64-x86_64-clang[/font])


From Source, for Windows, Linux, and macOS

Install git, cmake, and ninja, as well as any other developer tools your platform might need.

mkdir axia-sw
cd axia-sw
git clone https://github.com/axia-sw/axlib
git clone https://github.com/axia-sw/Doll
mkdir release.build
pushd release.build
cmake -DDOLL_BUILD_VARIANT=RELEASE -G Ninja ../Doll
cmake --build .
popd

That should do the trick.

[hr]

Here's the current test-doll.cpp file:

#define DOLL_DLLFUNC /* make this blank since we built the static version of Doll */
#include <doll/Doll.hpp>

using namespace doll;

int main() {
	if( !doll_init() ) {
		return EXIT_FAILURE;
	}

	core_installConsoleReporter(); // Give us pretty console output

	do {
		RLayer *const defLayer = gfx_getDefaultLayer();

		const int w = gfx_getLayerSizeX(defLayer);
		const int h = gfx_getLayerSizeY(defLayer);

		gfx_clearQueue();

		gfx_ink( doll_rgb(0.3f,0.5f,0.7f) );
		gfx_box( 0, 0, w, h );

		gfx_ink( doll_rgb(0.7f,0.3f,0.7f) );
		gfx_box( 10, 10, 60, 60 );
	} while( doll_sync() );

	doll_fini();
	return EXIT_SUCCESS;
}

You don't need the [font=monospace]#define[/font] if you're building from source, and in the upcoming release you won't need it either. It's only needed for now. (2017-08-24.)

#2 Re: Forum Info » The default theme is Mercury » 2017-07-20 04:18:59

Mercury looks pretty good. I was using Air but switched over to Mercury. Technetium is very different from the other themes; it would be interesting to see some variations of that later on.

Board footer

Powered by FluxBB