Skip to content

Differences

Claude edited this page Oct 27, 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, or where it does more than they did, this is how it behaves instead.

This page is made from the pages it links to (see tools/wiki/wiki.py), so it is not edited by hand: a command lists its differences with @gap in its text file, and a difference that no single command causes gets a page in tools/wiki/pages/ with a line @difference and a one sentence summary.

Features

Differences that are not caused by one command.

  • 3D Studio models: Extension: LoadMesh and LoadAnimMesh also read .3ds files.
  • blitz-format: Extension: blitz-format formats .bb source code (indentation, keyword case, spacing, blank lines, line endings) from a .blitz-format file; the original has no formatter.
  • Blitz-Tidy: Extension: blitz-tidy fixes the warnings of blitzcc in Blitz source files; the original has no such tool.
  • Color depth: The depth argument of Graphics is ignored: the picture is always 8 bits per channel, and Dither and WBuffer do nothing.
  • Colors: 3D color commands take floats from 0 to 255 and vertex colors are 16-bit floats.
  • Console window on Windows: Programs are GUI programs and use the terminal they were started from; blitzcc --console makes a console program.
  • Depth buffer: The depth buffer is a reversed 32-bit float, so z-fighting is much rarer.
  • Displays: Extension: commands for every connected display and its modes.
  • Mip maps: Flag 8 textures get trilinear filtered mip chains; there is no anisotropic filtering.
  • Movie controls: Extension: movies can be paused, and the commands for that build on the original movie commands.
  • Multiplayer: Multiplayer uses TCP on port 40500 instead of DirectPlay, so games only play with other BlitzLLVM games.
  • Numbers of other sizes: Extension: Byte, Short, UInt, Long, Half, Double and the like, with conversions, saturating versions, bit functions and Double math.
  • Samplers: Extension: samplers hold how a texture is read and can be shared between textures.
  • Sound resampling: Sounds are resampled cleanly, so low rate sounds are duller; BLITZ_AUDIO_CLASSIC restores the FMOD sound.
  • Types everywhere: Extension: Byte, UByte, Short, UShort, UInt, Long, ULong, Half and Double work everywhere a type can be written.
  • Userlib declarations: .decls files take the long type names as well as the short ones, for all the new types.
  • Warnings: Extension: blitzcc has warnings with levels (-W0 to -W4), -W<name> and -Wno-<name> options and -Werror; the original has none.

Commands

Commands that differ from the original or are not finished, with the first of the differences from the "Differences" part of their page.

  • ActivateWindow: All windows are drawn inside the one window of your program, so activating one moves it in front of the others there instead of in front of other applications.
  • ActiveObjects: Windows and gadgets are not counted here.
  • ActiveWindow: The windows are inside the program's own window, so there is no "none of ours is active" state: the answer is always the window that was activated most recently.
  • AddVertex: w is ignored.
  • Animate: The transition argument is accepted but ignored: the entity jumps to the first frame of the new animation.
  • AnimateMD2: The official help gives 1 as the default first frame; frames are counted from 0 and the default is 0, in the engine as well as here.
  • AntiAlias: Accepted and ignored.
  • AppTitle: The title is only used once a graphics mode is open.
  • AvailVidMem: The graphics card cannot be asked how much of its memory is still free.
  • BrushTexture: Layers 0 to 7 are accepted.
  • BSPAmbientLight: The original adds the color to the light of each face before the texture is applied, and lights the vertices of a level with point and spot lights too.
  • BSPLighting: The lightmaps are drawn as a second layer that multiplies what is below twice, as Quake stores them at half their brightness.
  • BufferDirty: Has no effect.
  • Byte 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • ByteSwap 〔BlitzLLVM〕: Not in the originals.
  • CanvasBuffer: The buffer keeps its size when the canvas is resized with SetGadgetShape, and what is shown is stretched to fit.
  • CaptureWorld: The original also remembers the alpha and the color of every entity and blends them during a tween.
  • ChannelPan: Panning is done by turning down the opposite speaker, so the sound does not get louder when it is panned to one side.
  • ChannelPitch: Changing the pitch also changes the speed, because the sound is resampled.
  • ChannelPlaying: A handle of 0, which the play commands give when there is no sound device or the sound failed to load, is never playing.
  • Chr: Strings end at the first zero byte, so Chr$(0) is the same as an empty string.
  • ClientHeight: The desktop is as big as the primary display (all of it, not only the area free of the task bar), where there is a display to ask.
  • ClientWidth: The desktop is as big as the primary display (all of it, not only the area free of the task bar), where there is a display to ask.
  • CloseMovie: Nothing , the same as the original.
  • Collisions: Types outside 0 to 999, or a method or response outside 1 to 3, stop the program with a runtime error.
  • CollisionTime: The official help says this is the time taken to calculate the collision.
  • Confirm: The box is a message box of the operating system and not part of the program window.
  • CopyEntity: A copy of a hidden entity is visible, where the original gives the copy the hidden state.
  • CopyPixel: A source pixel outside of its buffer is read as 0 (black), and a destination outside its buffer is skipped.
  • CopyPixelFast: A buffer that is not locked stops the program with an error message.
  • CopyRect: Parts of the rectangle that lie outside of either buffer are cut off.
  • CountDisplayModes 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • CountDisplays 〔BlitzLLVM〕: When SDL knows of no display, for example without a display driver, there is one display called "Default" with the common sizes of CountGfxModes.
  • CountGfxDrivers: Every GPU that Vulkan reports is a driver, including software ones.
  • CountGfxModes: The modes are the ones of the main display.
  • CountHostIPs: Only IPv4 addresses are counted.
  • CountRefreshRates 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • CreateButton: Buttons are drawn in the look of the program, not with the controls of the operating system.
  • CreateCanvas: Canvases are drawn by the same renderer as the rest of the interface, so nothing needs DirectX.
  • CreateComboBox: The user cannot type into it, only pick from the list.
  • CreateImage: A graphics window must be open, because images live in video memory.
  • CreateLabel: Gadgets without a font of their own are drawn with Tahoma at 12 pixels, or a similar font of the system (the built-in bitmap font when there is none).
  • CreateListBox: Only one entry can be selected at a time.
  • CreateListener: Volume falls off as 1 / (1 + rolloff * meters * 0.05), which is not necessarily the curve of the original.
  • CreateMenu: The shortcut underline for & is accepted but menus are only used with the mouse and the arrow keys.
  • CreatePlane: Collisions and picks see the plane as one square 20000 units wide, so they miss it further out than that.
  • CreateSprite: Sprites are always drawn full-bright and visible from both sides, whatever EntityFX says.
  • CreateTabber: Gadgets created with the tabber as their group are drawn on it all the time, as in the original.
  • CreateTerrain: The original only accepts powers of two (32, 64, 128 and so on) and stops with a runtime error otherwise.
  • CreateTextArea: Without wrapping, a bar along the bottom appears once a line does not fit.
  • CreateTexture: Only flags 2, 4, 8, 16, 32 and 65536 change how the texture looks.
  • CreateToolBar: The tool tips given with SetToolBarTips show below a button after the mouse rested on it for half a second.
  • CreateWindow: All windows are drawn inside one SDL window and cannot leave it, there are no separate windows of the operating system and no taskbar entries.
  • DebugObjects: The list covers banks, streams, sounds, images, textures, fonts, timers and your own types, but no windows or gadgets.
  • Desktop: The windows are drawn in the program's own window, which has the size you gave Graphics, even though ClientWidth and ClientHeight tell the size of the primary display, with the area under the task bar and start menu.
  • DesktopBuffer: Drawing on, or reading from, the desktop does not work: it is a buffer of one black pixel that starts over every time this is called, so the screen of the computer is never touched and nothing shows behind the windows.
  • DirectInputEnabled: There is no DirectInput on this platform.
  • DisplayDepth 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayHeight 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayModeDepth 〔BlitzLLVM〕: A display or mode number that does not exist gives 0 instead of stopping the program, unlike GfxModeWidth.
  • DisplayModeHeight 〔BlitzLLVM〕: A display or mode number that does not exist gives 0 instead of stopping the program, unlike GfxModeWidth.
  • DisplayModeRefreshRate 〔BlitzLLVM〕: A display or mode number that does not exist gives 0 instead of stopping the program, unlike GfxModeWidth.
  • DisplayModeWidth 〔BlitzLLVM〕: A display or mode number that does not exist gives 0 instead of stopping the program, unlike GfxModeWidth.
  • DisplayName 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayRefreshRate 〔BlitzLLVM〕: A display that does not tell its refresh rate is taken to have 60 Hz.
  • DisplayScale 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayWidth 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayX 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • DisplayY 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • Dither: Does nothing: 16 bit modes are not supported and the screen always has 8 bits per color channel, so there is nothing to dither.
  • Double 〔BlitzLLVM〕: Not in the originals, which only have the 32-bit real (Float).
  • DrawBlockRect: Only the part that lies inside the frame is drawn.
  • DrawImage: A frame number that does not exist stops the program with an error message.
  • DrawImageRect: Only the part that lies inside the frame is drawn.
  • DrawMovie: Draws the newest picture whose time has come, stretched to the size given (smooth, not pixel by pixel).
  • EnableDirectInput: Only the value is remembered so that DirectInputEnabled can report it.
  • EndGraphics: The original opens a new window of the default size, or a console.
  • Flip: Without a graphics window nothing happens.
  • FlipCanvas: The second parameter is accepted, but there is nothing to wait for and it makes no difference.
  • FlushJoy: Buttons that are currently held are not released.
  • FontHeight: The height is the height that was requested, as with Windows fonts.
  • FontWidth: Real fonts have a different width for each character, so this is the width of the widest one; use StringWidth for a text.
  • FormatTextAreaText: Underline and strike-through are not supported, as in the original.
  • FreeFont: A font that does not exist stops the program with an error message.
  • FreeImage: Freeing a handle that is 0 or was already freed does nothing, while other commands stop with an error when they get such a handle.
  • FreeSound: Using the handle of a sound that was freed stops the program with an error message, while 0 is accepted and ignored.
  • FreeTexture: ActiveTextures keeps counting a freed texture until the last entity or brush that uses it is gone.
  • FrontBuffer: The front buffer holds what the last Flip showed.
  • GammaBlue: The tables change what the window shows and never the gamma of the display, see SetGamma.
  • GammaGreen: The tables change what the window shows and never the gamma of the display, see SetGamma.
  • GammaRed: The tables change what the window shows and never the gamma of the display, see SetGamma.
  • GetBrushTexture: A layer without a texture gives 0.
  • GetJoy: Up to 32 buttons per joystick are supported, and a joystick with more reports only the first 32.
  • GetKey: The queue holds 64 characters, and the oldest ones are dropped when it is full.
  • GetMouse: The queue holds 15 presses and forgets the oldest ones when it is full.
  • GetSurfaceBrush: A surface that was never painted gives a plain white brush.
  • GfxDriver3D: A GPU can unless it does not do Vulkan 1.3 or has no queue that draws, which is 0.
  • GfxDriverCaps3D: It always reports 100: there are no cube maps, the texture flag for them is accepted and ignored.
  • GfxDriverName: The name is the one that the GPU reports to Vulkan, such as "NVIDIA GeForce RTX 4080 SUPER".
  • GfxModeDepth: A mode number that does not exist stops the program with an error message.
  • GfxModeExists: A 0 for the width or height means "anything fits", like in BlitzPlus.
  • GfxModeFormat: Always 4, as the window is always 32 bit.
  • GfxModeHeight: A mode number that does not exist stops the program with an error message.
  • GfxModeWidth: A mode number that does not exist stops the program with an error message.
  • GrabImage: Parts that lie outside of the buffer are not copied and keep what the frame had before.
  • Graphics: The color depth is accepted but ignored: the picture always has at least 8 bits each of red, green and blue (with 8 bits of alpha where it is used), because palette and 16 bit rendering are not supported.
  • Graphics3D: The depth is ignored: the picture always has at least 8 bits each of red, green and blue (with 8 bits of alpha where it is used), because palette and 16 bit rendering are not supported.
  • GraphicsDepth: Always 32: the picture has 8 bits for each of red, green and blue, with 8 more for alpha where a program uses it.
  • GraphicsFormat: Always 4.
  • GraphicsLost: Always 0.
  • Half 〔BlitzLLVM〕: Not in the originals, which only have the 32-bit real (Float).
  • HostIP: Without a call of CountHostIPs the addresses of this computer are used.
  • HWMultiTex: Accepted and ignored.
  • ImageBuffer: A frame number that does not exist stops the program with an error message.
  • ImagesCollide: A frame number that does not exist stops the program with an error message.
  • Input: Without a graphics window the prompt is written to the console (standard output) and the line is read from the console (standard input).
  • JoyHat: Without any joystick the original returns -1 as well, but this runtime returns 0, which looks like "up".
  • JoyType: The original uses 1 for a digital and 2 for an analog joystick.
  • JoyWait: If no joystick is connected the function returns 0 right away instead of waiting forever.
  • KeyDown: Keys that have no scancode in the original table, such as Pause, Print Screen, the Windows keys and F13 and above, are never reported as pressed.
  • LeadingZeros 〔BlitzLLVM〕: Not in the originals.
  • Load3DSound: See 3D Sound for what is simulated: volume falls off with the distance and the stereo position follows the angle to the listener, and the pitch is shifted when the sound or the listener moves (see CreateListener).
  • LoadAnimMesh: Only .b3d and .3ds files can be loaded, see LoadMesh.
  • LoadAnimTexture: TextureWidth and TextureHeight report the size of one frame, not of the whole sheet.
  • LoadBSP: Lightmaps are used: a face that has one is drawn with it, and the other faces get the colors of their vertices.
  • LoadBuffer: Formats other than BMP load as well.
  • LoaderMatrix: The matrix is remembered but never used.
  • LoadFont: Fonts are found in the font folders of the system by name, so a name such as "Arial" or "Courier New" needs that font installed, and common names fall back to a similar font (Helvetica to Arial, for one).
  • LoadImage: More file formats load than in the original, which read BMP, PNG, JPEG and TGA.
  • LoadMesh: Only .b3d and .3ds files can be loaded.
  • LoadSound: MIDI , module and Windows Media files are not supported.
  • LoadSprite: A sprite loaded with the masked flag is blended by alpha here, with the black cut out, while the original draws it without blending.
  • LoadTerrain: The official help says that the red channel is used.
  • LoadTexture: Video memory, high color and point sampling flags are stored but have no effect, see CreateTexture.
  • Locate: The position is limited to the window.
  • LockBuffer: Up to 8 buffers can be locked at the same time.
  • LockedFormat: Always 4, because every buffer here has four bytes for each pixel (blue first, then green, red and an unused byte).
  • LockedPixels: The bank is a copy of the pixels that is written back when the buffer is unlocked, it is not the memory of the graphics card.
  • LockTextArea: While a text area is locked it sends no events for the changes you make.
  • Long 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • LoopSound: There is no command to switch looping off again.
  • MaximizeWindow: The window fills the whole program window, also when it was made without flag 2 and so cannot be resized by the user.
  • MeshCullBox: The box only affects EntityInView.
  • Microseconds 〔BlitzLLVM〕: The value is a UInt64, which no original command returns.
  • MinimizeWindow: There is no task bar, so a minimized window simply is not drawn and there is no way for the user to bring it back.
  • ModifyTerrain: The realtime argument has no effect.
  • MouseDown: A button number outside 1 to 3 always gives 0.
  • MouseXSpeed: Putting the pointer somewhere with MoveMouse does not count as movement, the same as in the original.
  • MouseZ: Fine scrolling wheels and touchpads that report fractions of a notch are rounded to whole steps.
  • MouseZSpeed: The original only ever gives -1, 0 or 1.
  • MoveMouse: The pointer is not warped on the desktop.
  • MovieHeight: Nothing , the same as the original.
  • MoviePlaying: Nothing , the same as the original.
  • MovieWidth: Nothing , the same as the original.
  • Notify: The box is a message box of the operating system and not part of the program window.
  • OpenMovie: Movies are decoded by FFmpeg, whose shared libraries have to be next to the program: blitzcc copies them there when the program uses OpenMovie, and without them (or for a file that can't be played) the result is 0, which programs already have to handle.
  • PickedTime: The official help describes this as the time taken to calculate the pick.
  • PlayCDTrack: Always returns 0 and plays nothing.
  • PlayMusic: MIDI is not supported, and neither are the tracker formats (MOD, S3M, XM, IT) and WMA.
  • PopCount 〔BlitzLLVM〕: Not in the originals.
  • Print: Without a graphics window the text goes to the console instead.
  • Proceed: The box is a message box of the operating system.
  • ProjectedX: The original returns 0 for X, Y and Z when the point is behind the camera or beyond the far plane.
  • ProjectedZ: In the original this is the distance of the camera's near plane, a constant for every point; it is 0 when the point is not visible.
  • QueryObject: All gadgets are drawn inside the one window of the program, so queries 1 and 2 give the handle of that window (an HWND on Windows) for every gadget.
  • ReadPixel: Without a lock the pixel has to be fetched from the graphics card, which makes this slow when it is used for many pixels.
  • ReadPixelFast: A buffer that is not locked stops the program with an error message.
  • RefreshRateAt 〔BlitzLLVM〕: A display number that does not exist gives 0 (an empty text for the name) instead of stopping the program, because a display can be unplugged while the program runs.
  • RenderWorld: Entities that are made or hidden after CaptureWorld are drawn where they are, they do not fade in.
  • RequestColor: The picker is drawn by the program inside its own window and is simpler than the Windows color dialog: three sliders and a preview, no palette and no custom colors.
  • RequestDir: It is the folder dialog of the operating system, which differs between Windows, macOS and Linux.
  • RequestFile: It is the file dialog of the operating system, so it looks different on each system.
  • RequestFont: Only the size can be picked, from 8 to 32 points in a list, and the result is always the built-in font.
  • ResizeImage: The picture is stretched with smooth filtering, where the original used simple pixel picking.
  • RotL 〔BlitzLLVM〕: Not in the originals, which have Shl, Shr and Sar only.
  • RotR 〔BlitzLLVM〕: Not in the originals, which have Shl, Shr and Sar only.
  • RuntimeError: The message is printed as Runtime Error: ... on the standard error output, not shown in a dialog box.
  • SatByte 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatInt 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatLong 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatShort 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatUByte 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatUInt 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatULong 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SatUShort 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SaveBuffer: A name that ends with .png gives a PNG file and any other name a BMP file.
  • SaveImage: The original only writes BMP files.
  • ScaleImage: Scaling uses the same smooth filter as TFormImage, which TFormFilter can turn off.
  • ScanLine: Always returns 0.
  • SetBuffer: A buffer that does not exist stops the program with an error message.
  • SetCubeFace: The face numbers follow the cube map of Direct3D: 0 is -X, 1 is +Z, 2 is +X, 3 is -Z, 4 is +Y and 5 is -Y.
  • SetCubeMode: The faces are copied into one sheet whenever a scene that uses the cube map is drawn, so the edges between faces can show a thin seam when the picture is magnified a lot.
  • SetFont: A font that does not exist stops the program with an error message.
  • SetGadgetFont: The gadget is drawn with the typeface of the font, and its text is measured in the widths of that font.
  • SetGamma: The original changed the gamma of the whole display, and left it that way until the program was done.
  • SetGfxDriver: Any number except 1 to CountGfxDrivers stops the program with an error message.
  • SetMenuText: The text can be read back with MenuText here.
  • SetMinWindowSize: The help lists height before width in its syntax line, the real order is width then height.
  • SetSamplerAddressModeU 〔BlitzLLVM〕: The mode has to be 0 to 3, other values stop the program with an error.
  • SetSamplerAddressModeV 〔BlitzLLVM〕: The mode has to be 0 to 3, other values stop the program with an error.
  • SetSamplerAddressModeW 〔BlitzLLVM〕: The mode has to be 0 to 3, other values stop the program with an error.
  • SetSamplerAnisotropy 〔BlitzLLVM〕: The graphics card has a limit and the value is lowered to it, and a card that can not do anisotropic filtering reads as if it was 1.
  • SetSamplerBorderColor 〔BlitzLLVM〕: Graphics cards without the VK_EXT_custom_border_color extension can only do transparent black, opaque black and opaque white, so any other color is read as the closest of the three.
  • SetSamplerFilterMag 〔BlitzLLVM〕: The mode has to be 0 or 1, other values stop the program with an error.
  • SetSamplerFilterMin 〔BlitzLLVM〕: The mode has to be 0 or 1, other values stop the program with an error.
  • SetSamplerFilterMip 〔BlitzLLVM〕: The mode has to be 0 or 1, other values stop the program with an error.
  • SetSamplerLodBias 〔BlitzLLVM〕: The graphics card has a limit for the bias, and the value is kept inside of it.
  • SetTextAreaFont: Only the size of the font is used, every font is drawn with the built-in typeface.
  • SetToolBarTips: A hint shows below its button after the mouse rested on it for half a second, in a yellow box, and goes when the mouse moves to another button or is pressed.
  • Short 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • SpriteViewMode: The descriptions in the official help do not exactly match the engine.
  • StartNetGame: The original showed a dialog box with the games found in the network.
  • Stats3D: The original also reports the vertices and triangles of the terrains in indexes 1 and 2.
  • Stop: Only a build made with the debug option (-d) stops: it is a breakpoint for a debugger, and ends the program with a signal when none is attached.
  • StringHeight: Text has only one line, so this is always the height of one character.
  • StringWidth: With the built-in bitmap font every character has the same width, so this is the number of characters times FontWidth.
  • SystemProperty: Off Windows windowsdir and systemdir are the folders where the system keeps its settings and its libraries, not the Windows folders.
  • TerrainDetail: The terrain has no level of detail here.
  • TerrainShading: The terrain is always lit with normals that follow the height, whatever this is set to.
  • Text: The built-in 8x8 pixel bitmap font is always used, scaled to the height of the current font.
  • TextureBlend: Modes 1, 2, 3 and 5 are drawn on layers above the first.
  • TextureCoords: Only these two sets exist, the call sets or clears the same switch as the flag 65536 of LoadTexture and CreateTexture.
  • TextureName: The original turns the path into lower case.
  • TFormImage: A matrix that cannot be inverted (for example a=0, b=0) stops the program with an error message.
  • TotalVidMem: The answer comes from the graphics card and is cut off at 2 GB because it has to fit into an integer.
  • TrailingZeros 〔BlitzLLVM〕: Not in the originals.
  • UByte 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • UDPStreamIP: It is the first address of this computer that CountHostIPs finds with an empty name, one that other computers can reach if there is any.
  • UInt 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • ULong 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • UpdateGamma: The original gave the tables to the display.
  • UpdateWindowMenu: Menus here change the screen right away, so this command only asks for a redraw.
  • UShort 〔BlitzLLVM〕: Not in the originals, which have no integers of other sizes.
  • VertexTexCoords: w is ignored.
  • VertexW: The value is not stored: this always returns 1.
  • VWait: There is no vertical blank to wait for, so VWait waits 16 milliseconds for each frame (60 frames per second).
  • WaitJoy: If no joystick is connected the function returns 0 right away instead of waiting forever.
  • WBuffer: Does nothing: the depth buffer is always the same reversed 32 bit float one (see Differences).
  • WireFrame: On a graphics driver that can not draw lines instead of triangles the call is ignored and the world stays solid.
  • Write: Without a graphics window the text goes to the console instead.
  • WritePixel: A position outside of the buffer is ignored.
  • WritePixelFast: A buffer that is not locked stops the program with an error message.

Home · Command Index


Getting started

Language

Tools


Language Features
BlitzBasic
Blitz3D
BlitzPlus
Differences

Clone this wiki locally