Help needed to actualizing allegro bindings (or this bindings are complex and I am dumb)

torhu no at spam.invalid
Sun Nov 15 14:18:07 PST 2009


On 15.11.2009 08:53, g wrote:
> I have been trying to actualize the http://www.dsource.org/projects/dallegro binings to the lastest D2 version.
> The main problems are:
> *TLS
> *volatile isn't here anymore ( neither with -d )
>

You can remove volatile by just building with -version=NoVolatile.  But 
I suppose it won't work unless you add __gshared to all the non-const 
globals.  Or something, I'm not using D 2 myself.

> One of the most hard things to understand was things like:
>
> mixin(_volatile("int", "key_shifts"));
> and  _volatile_setter things.
>

It's to make it easy to build both with and without volatile.  Most of 
this stuff is explained in the readme or somewhere in the code itself.

> Especially when you have things like:
>
> char* allegro_id;
>
> and  then:
>
> import allegro.internal.dintern;
> static this() {
>     allegro_id = allegro.internal.dintern.allegro_id.ptr;
>     allegro_error = allegro.internal.dintern.allegro_error.ptr;
>     cpu_vendor = allegro.internal.dintern.cpu_vendor.ptr;
>     //_system_driver_list = allegro.misc._system_driver_list.ptr;
> }
> A strange way of wraping.
>
> Sooooooooo...
> Are there other bindings to allegro?
> Does anyone has actualized this bindings?
> Is Someone interested in helping?
> Should i abdicate?
>
> g

I know there's someone working on allegro 5 bindings, but I don't think 
they're done yet.  No announcement has been made.  But if you want to 
update dallegro, I'll try to answer questions at least.


More information about the Digitalmars-d-learn mailing list