BorderWatch
I'm afraid I'm going to be waving goodbye to Dolce. It's been sitting, bit rotting, for a while now. Some time ago I encountered two major issues with my Allegro binding in Derelict 2. One, a random...
View ArticlePutting D's Array Slices to Use
I've been working on BorderWatch a little bit every day. My focus has been on getting the ASCII engine, Arthur, into a state that will let me get a game up and running. With the few modules that I've...
View ArticleSetting Thread Affinity on Windows in D
When working with D's standard library, it is sometimes necessary to work around missing declarations in the core.sys.windows.windows module. It's a fairly big module as is, but it isn't all-inclusive....
View ArticleBinding D to C Part Three
This is the (long overdue) third part of a series on creating bindings to C libraries for the D programming language.In part one, I introduced the difference between dynamic and static bindings and...
View ArticleUniform Function Call Syntax in D
Uniform Function Call Syntax (UFCS) is a feature of the D Programming Language that was finally implemented in all its glory in a recent compiler release. It has been available for use with arrays for...
View ArticleBinding D to C Part Four
This is the fourth part of a series on creating bindings to C libraries for the D Programming Language.In part one, I introduced the difference between dynamic and static bindings and some of the...
View ArticleTicTacToe and Modules in D
Given that my BorderWatch project has languished on github for months without any updates beyond the first few days of random hacking, it's going to be a while before it can serve as an example of game...
View ArticleFun with GCC (or A Lesson Relearned)
This story has nothing really to do with D except peripherally, but it's a tale worth telling as a warning to others.This is the best place for me to tell it.I had a collection of C code that I'd built...
View ArticleBinding D to C Part Five
This is the fifth and final part of a series on creating bindings to C libraries for the D Programming Language.In part one, I introduced the difference between dynamic and static bindings and some of...
View ArticleFunctional Me
I recall very clearly the first time I ever saw a video game. It must have been in the summer of either '78 or '79, just before my 7th or 8th birthday. I walked into a local 7-11, just a short distance...
View ArticleD Tip: Use Scope Statements in Proper Scope
One D construct I often use is the scope guard statement. This allows you to write code that executes when a scope exits under one of three circumstances: an exception is thrown, no exception is...
View ArticleMy New Book: Learning D
From late February up until about two weeks ago, I've had my head down over my keyboard working on a book about the D programming language for PACKT called 'Learning D'. The electronic version is...
View ArticleExtended Package Protection in D
Since the D1 days, D has a had a package protection attribute akin to Java's (though unlike Java, it is not the default). Applying package attribute to any symbol in a module makes it accessible only...
View Article