Skip to content

Differences

Claude edited this page Oct 26, 2026 · 101 revisions

Differences from the originals

Where BlitzLLVM can not behave like Blitz3D or BlitzPlus, because the system they were made for is gone, this is how it behaves instead.

Multiplayer

The multiplayer commands (StartNetGame, HostNetGame, JoinNetGame, StopNetGame, CreateNetPlayer, DeleteNetPlayer, SendNetMsg, RecvNetMsg and the rest) used DirectPlay in the originals, which is no longer available. In BlitzLLVM the programs that join a game connect to the program that hosts it over TCP, on port 40500. The host passes messages on to the other programs.

  • Games made with BlitzLLVM can only play with other games made with BlitzLLVM. They can not join, or be joined by, a program made with Blitz3D.
  • The port can be changed with the environment variable BLITZ_NETGAME_PORT. Every program of a game has to use the same one, and the host needs it to be open in its firewall.
  • StartNetGame shows a dialog that asks whether to host or to join. When joining, the address of the host is asked on the console.
  • The environment variable BLITZ_DIALOG_ANSWER presses a button of a dialog without showing it (0 is the first button), which is meant for automated runs.

Network addresses

CountHostIPs looks up a host and remembers its addresses for HostIP. An empty name is this computer, which has one address for every network interface that is up, with the loopback address (127.0.0.1) last. UDPStreamIP is the first of those. Only IPv4 addresses are returned.

Stop

Stop is a breakpoint for a debugger. In a debug build (-d) it is a breakpoint instruction (llvm.debugtrap), which stops in an attached debugger and ends the program with a signal when there is none. In any other build it does nothing.

AppTitle

The second argument of AppTitle is asked when somebody closes the window. If they cancel, the program carries on; otherwise the window closes as it would have without the question.

SystemProperty

Property Windows Elsewhere
appdir The folder of the program. The folder of the program.
tempdir %TEMP% $TEMP, $TMPDIR or /tmp.
windowsdir %SystemRoot% /etc/ (/System/ on macOS), where the system keeps its settings.
systemdir The System32 folder. /usr/lib/ (/System/Library/ on macOS), where the system keeps its libraries.

Folders end with a separator, except for the ones of Windows, which are as the system gives them.

Home · Command Index


Getting started

Language

Tools


Language Features
BlitzBasic
Blitz3D
BlitzPlus
Differences

Clone this wiki locally