• Stars
    star
    247
  • Rank 164,117 (Top 4 %)
  • Language CMake
  • License
    Other
  • Created about 13 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HGE 1.9 configured with CMake DirectX9 version, with shaders. The classic 1.8.1. version is in the `master` branch if you ever need that.

Change notes for 1.9

  • Multiple API calls changed some types from char* to const char*, also blending mode is now using hgeBlendMode enum - use type cast like so: spt->SetBlendMode((hgeBlendMode)(BLEND_COLORMUL | BLEND_ALPHAADD | BLEND_NOZWRITE));
  • uint32_t color argument in many functions and classes is now a simple wrapper class hgeColor32. To give default clear/draw color, you can use hgeColor32::WHITE() and BLACK() constexpr functions or create your colors.
  • Multiple improvements to memory safety (strings and vectors where char * has a risk of overflow), modernising the source (smart pointers, etc), and type safety (replacing generic pointers and ints with structs and enums).

Support & Questions

Documentation and more info http://kvakvs.github.io/hge

Example game can be found here https://github.com/kvakvs/hge_skel

For those times when you absolutely need help, there is the Discord channel: https://discord.gg/TdjamHt

ANNOUNCEMENT

DirectX8 support has ended. There will be no assistance with DirectX8 issues, DirectX8 code will be gradually removed. Please use DirectX9.

INSTALLING

This package is configured with CMakeLists.txt for use with CMake. Once ran, CMake generates project files for one of known IDE's for Windows (as well as Linux/Unix/MacOSX but this version of HGE only builds on Windows).

  1. Edit CMakeLists.txt in root folder, set "DIRECTX_SDK_DIR" to where you have DirectX 9 SDK (see that it comes from microsoft.com, tagged year ~2010, size ~550 MB).
  2. Run cmake_studioNNNN.bat (NOTE: you can create own bat file if CMake supports your IDE).
  3. Project directory will be created in _build, open project file (.SLN solution file) with your IDE and click "BUILD" in your IDE.
  4. Resulting library HGE.DLL and HGE.LIB will be placed in bin directory, all intermediate libraries will be placed in /linklib. There is also HGE-STATIC library which doesn't require DLL to run, it can be found in linklib.
  5. All temporary build files will stay inside _build/. To clean intermediate files one should delete linklib, bin and _build

IMPORTANT

  1. If you got a 64bit project by mistake, add "-A Win32" to CMake command line. See example in cmake_studio2019.bat
  2. If you are going to change any build options, please keep in mind, that this is CMake generated project, editing anything inside _build folder will be overwritten next time, when you compile HGE project. If you need to add any compiler options, please edit main or each CMakeLists.txt in HGE181 and src/* folders (depending how big your changes are).
  3. if you link against HGE library, you only need to mention HGE.LIB in project settings, and have HGE.DLL in your program folder. HGEHELPERS is not needed (its linked internally).
  4. if you link against HGE-STATIC flavour of library, you don't need HGE.DLL anymore, all functionality will be included in your application. You need to mention HGEHELPERS, ZLIB and HGELIBPNG in linker settings of your project for this to work (as well as D3D8.lib D3DX8.lib or 9 if you are using DirectX9 and WINMM.lib). Consult project settings of 'hge' project regarding Linker input.

More Repositories

1

ErlangRT

Erlang Replacement Therapy. Another attempt to make Erlang runtime (BEAM emulator) in Rust. Good news: I know what to do. Bad news: I have no clue how to Rust
Rust
576
star
2

beam-wisdoms

Wiki containing pieces of information and knowledge about BEAM Virtual machine (which runs Erlang/OTP and other BEAM-based languages).
526
star
3

E4VM

A small portable virtual machine that would run Erlang on embedded systems
Erlang
130
star
4

tx

Erlang term explorer. Pastebin type app which displays terms of any complexity straight from your erlang shell in web browser. No external deps (inets only).
CSS
80
star
5

gluonvm1

OUTDATED see https://github.com/kvakvs/ErlangRT, https://github.com/kvakvs/ErlangAoT and https://github.com/kvakvs/E4VM instead -- Gluon BEAM-compatible Erlang Abstract Machine (GLEAM) written in portable C++
C++
65
star
6

Ironclad

A RUSTy fusion of OTP lib/dialyzer and lib/compiler empowering regular Erlang with type inference
Rust
35
star
7

eia

Erlang in Anger (Russian)
TeX
25
star
8

hge_skel

Skeleton of a side-scroller 2D game for Windows, that uses HGE. Use this to create your very own Super Mario Bros clone. All code is well commented and split into smaller pieces for easier comprehension. Best start for HGE newbies to learn something about game making.
CMake
21
star
9

playable_alpha2

Terraria-like digging sandbox made with Unity3D/C#
C#
15
star
10

ErlangAoT

An ahead-of-time compiler from Erlang (intermediate language) to LLVM IR and a runtime library for linking against it
Erlang
14
star
11

learn_blockchain

A very basic implementation of blockchain in Erlang to demonstrate the main principles. Single simple module.
Erlang
8
star
12

Quokka

Native GUI visualisation tool for Erlang nodes and clusters, accepting streams of data from trace files and live nodes, written in Rust/Dear ImGUI (OpenGL).
Rust
8
star
13

vemdog

Erlang and Elixir VM trace collection and diagraming tool
Erlang
8
star
14

TypedErlang

Experimental stage for Erlang compiler which attempts to transpile Core Erlang AST to C++ source
Erlang
6
star
15

bearded_rs

Dwarf Fortress/Rimworld style world simulator written in Rust with physics, chemistry, body health simulation, mood, room beauty etc. This is a low priority project also expect this to eventually go private.
Rust
5
star
16

BuffomatClassic

Maintained Buffomat addon for Classic World of Warcraft and Classic TBC.
Lua
4
star
17

RazeAndPlunder

RnP (and Kittens) is Starcraft Broodwar BWAPI AI, based on Opprimo Bot by Johan HagelbΓ€ck
C++
4
star
18

sourcetrail-erlang

Python script for Sourcetrail which reads compiled Erlang BEAM files and writes debug info into Sourcetrail database
4
star
19

BeardedMen

"Bearded Men (and a Fortress)" is a simulation game in a 3D voxel world (renderer: OpenGL/Qt) based on PolyVox engine
C++
2
star
20

jsdefrag_evo

Modernized C++ source of JkDefrag, the opensource disk defragmenter for Windows
C++
1
star
21

WowLogScan

Scans a raw WoW Classic combatlog file for raid preparation (world buffs and consumables)
F#
1
star
22

Skylines-UXLibrary

Cities Skylines: User Experience library (for use by other mods). Provides On-screen help and keyboard hints panel (shared with all other mods using the panel), also keybinds options for use in mods
C#
1
star
23

grade

Tool extracts xref and trace data from Erlang applications to store in Neo4j database or in memory and displays in a nice way
JavaScript
1
star
24

grpc_demo

Minimal example of defining a gRPC proto API in Elixir and calling it in the interactive shell
Elixir
1
star
25

beam_bots

UnrealEngine4 (UE4) based game with robots controlled via API. Primarily intended as training exercise for students who learn programming.
C++
1
star