Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoilPlate3D (BP3D)

License Release

Warning! The project is buggy, unfinished and unpolished in its current state. Some janky features are dubiously necessary and may be removed.

BP3D (short for BoilPlate3D) is a MASM-compatible (which means ideally targeting other MASM-compatible assemblers) scripted framework that aims to reduce the amount of redundant boilerplate code by providing a generalized but flexible Win32 form API.

BP3D implements a somewhat OOP-like form API to easily and quickly create and manage windows, oriented for developing 3D graphics with OpenGL. It supports automatic keyboard, mouse (+raw), and joystick input configuration. The forms also provide multiple display device functionality. BP3D started with a game development project oriented towards the OpenGL fixed-function pipeline, but was later generalized and restructured into a framework that can be set up for use with other graphics APIs. BP3D can be included in a MASM-compatible project and used as-is (with direct access to data fields), or compiled into a dynamic library (to use with helper procedures).

Various BP3D extensions (src\*.inc) are present, but for now are generally not as well-structured or generalized. Some extensions are not optimized for 64-bit assembly. The neccessity of the existence of some is also debatable.

WinAPI client support

BP3D aims to support various WinAPI clients out-of-the-box, with minimal (if any) configuration. The targeted (tested) supported clients include:

  • Windows 98SE, ME, 2000 (see BP_COMPATIBILITY_W9X)
  • Windows XP - 11
  • ReactOS
  • Wine (Android (Winlator), Linux, BSD)

If BP3D doesn't work (or works improperly) on your WinAPI host OS, please submit an issue with the details of your setup.

Assembler support

BP3D is built with future x64 support in mind, though it now remains untested and not fully configured for it. Right now, BP3D is tested for compileability with: MASM32, ASMC (2.37.36, 32-bit), and UASM (2.57 32-bit; 64-bit compile only, can't link). POASM and TASM support might be considered in the future. BP3D supports MASM32 and WinInc (2.10) Windows include files (headers and libs).


Copyright © 2025-2026 Yevhenii Ionenko (aka GreatCorn). All rights reserved.

Licensed under the terms of the MIT license (see LICENSE.txt).

https://greatcorn.github.io/me/

About

BP3D (short for BoilPlate3D) is a MASM-compatible framework providing boilerplate code for WinAPI form and 3D OpenGL applications.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages