GliderJan Varho

Posts in category Blitz:

Otus.mod Now on Google Code

  • BlitzMax
  • Google Code
  • hg
  • Mercurial
  • modules
  • otus.mod

I have finally moved to using Google Code and Mercurial distributed VCS for my "Otus.mod" BlitzMax module collection.

The modules are currently only available through the source repository. I'm unsure if I will bother with separate downloads at all. Getting the whole set is as easy as hg clone https://otus-mod.googlecode.com/hg/ otus-mod and Mercurial is easily available on all the supported platforms (just apt-get on Ubuntu ; ).

LZMA Module Version 1.01

  • BlitzMax
  • compression
  • LZMA
  • LZMA2
  • module
  • source
  • update

I updated the module to use version 4.65 of the SDK and a small refactoring in the wrapper. Next up will be version 9.x (beta) and LZMA2 support.

License: None (Public Domain) Downloads: Source: lzma.mod-1.01-source (zip, 38KB) Linux build: lzma.mod-1.01-linux (zip, 231KB) (WordPress doesn't like .tar.gz.) Windows build: May be coming... (meanwhile, [Version

5 Card Table Generator

  • BlitzMax
  • card
  • graph
  • hand
  • MIT license
  • poker
  • search
  • source

The code for my table generator for 5 card poker evaluation is included. It is a BlitzMax file, which requires the "Cactus Kev's Evaluator" to run. Another evaluator can be used instead with some rewriting of code.

It uses a backtracking depth-first search of the problem space and merges nodes as it finds them, using a binary tree for ordering. This is

Remote Actors for BlitzMax (Experimental)

This is an experimental version of a threaded remote actor module for BlitzMax. It extends the features of my actor module with server and client actors, which pass messages through a network socket. It should allow increased parallelism for an actor based program with very little added complexity.

Included are two modules: actor.mod (1.20) and remoteactor.mod (0.10); both include docs. Also, a simple sample program is included. It should

Actor Model for BlitzMax v.1.20

  • actors
  • BlitzMax
  • concurrency
  • module
  • threading

Implementation of the actor model for BlitzMax, updated version 1.20 with better thread management and more robust locking. Works both threaded and non-threaded, though there are obviously some differences. Methods and types state when they are threaded-only. Requires a fairly recent version of BlitzMax.

Included are three simple sample programs illustrating the API. If installed as a module, also docs are included.

Actor Model for BlitzMax v.1.10

  • actors
  • BlitzMax
  • concurrency
  • download
  • module
  • source
  • threading

Implementation of the actor model for BlitzMax, updated version 1.10 with better thread management. Works both threaded and non-threaded, though there are obviously some differences. Methods and types state when they are threaded-only. Requires a fairly recent version of BlitzMax.

Uncomment the Module lines and save to mod/otus.mod/actor.mod if you want a module version. In that case you also get some documentation. Of

Object Oriented File System Interface (BMX)

  • BlitzMax
  • file system
  • interface
  • module
  • OOP
  • public domain
  • streams

Here's an object oriented file system interface I've been using for my own projects. It's a module with source and Windows binaries. It is complete with TStream support, including OpenStream interface. It should be pretty intuitive and also includes docs.

Download: Otus.FS.zip (60 KB) Install: Extract under mod/otus.mod and rebuild docs.

Synchronized Data Structures for BlitzMax

Synchronized list and map data structure modules for BlitzMax. Just a simple mutex-locked wrapper over the BRL types to make operations atomic. Should be compatible with old code.

Prebuilt for Windows with source. Built using 1.33rc5, but 1.32 should also work. Linux and Mac versions of BRL.Threading have a problem that will hopefully be resolved soon.

To install, extract the zip under mod/otus.mod and rebuild docs.

Simple Data Description Language

I threw together a parser for a simple data description language in BlitzMax.  The syntax is something like that in Python or Lua, but not quite. Whitespace is always insignificant and there are no fatal syntax errors: the whole file is always parsed, and non-conforming markup is ignored (silently by default).

Sample structures:

LZMA Streams for BlitzMax

  • BlitzMax
  • compression
  • LZMA
  • module
  • source
  • Windows

As promised, here is a BlitzMax module based on my LZMA module that handles automatic compression of streams. By using it reading and writing compressed files is as easy as using "lzma::" as a prefix to OpenStream.

It should also work fine with other types of streams, eg. IncBin streams (using "lzma::incbin::"). It requires that the stream supports seeking, so it won't work with network streams as is.

LZMA BlitzMax Module

  • BlitzMax
  • compression
  • LZMA
  • module
  • public domain

I wrapped together a BlitzMax module for LZMA compression. It is based on LZMA SDK (version 4.62) and only has a BlitzMax wrapper written by me - the rest is someone else's work. It is completely in the public domain.

There are two releases for this. The source only version requires building modules whereas the Windows build does not (but obviously only work on Windows).

  1. [Source

MaxPre Alpha Prerelease

  • alpha
  • BlitzMax
  • download
  • MaxPre

I've pulled together a first alpha release of MaxPre - a preprocessor for BlitzMax.

It should support most syntax, but may well throw many random looking errors. It has a simple support for properties, like those in the .NET languages, through the new keyword Property. the test file will show how they work.

The zip contains maxpre.exe, which is the executable. It can be run from the command line or by drag&dropping a source file on it. Dragging

BlitzMax Object Loader Module

  • BlitzMax
  • objects
  • public domain
  • reflection
  • source

In connection with another project of mine, I produced a BlitzMax module that allows writing and reading arbitrary objects to streams. It can also be seen as a generalization of ReadInt, WriteString and the rest. It should be useful for saving game states or creating an undo feature.

It uses the reflection module for runtime information about type structures, so it needs a quite recent version of BlitzMax, I think. The