• Stars
    star
    239
  • Rank 168,763 (Top 4 %)
  • Language Haxe
  • License
    MIT License
  • Created about 5 years ago
  • Updated about 1 month ago

Reviews

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

Repository Details

The general personal libs I use in my Haxe projects.

About

The general purpose libs I use in all my Haxe projects. If you want to build one of my project, you will need them.

Unit tests

Install

Stable

Use this version if you plan to use the libs for your own projects.

haxelib install deepnightLibs

Latest Git version (mostly stable)

This is the version I use and update very frequently.

Pick this version if you're building one of my GitHub projects, such as LDtk or one of my gamejam entry.

haxelib git deepnightLibs https://github.com/deepnight/deepnightLibs

Usage

In your HXML file, add:

-lib deepnightLibs

All the libs are in the dn.* package.

class MyProject {
	public function new() {
		trace( dn.Color.intToHex(0) ); // "#000000"
	}
}

Tips

Use global imports! To import libs in every HX files, just add a import.hx (this exact name & caps) file to the root of your src folder:

dn.*;
dn.Color as C;
  • The first line imports all classes in dn package,

  • The second one imports Color as an alias "C",

  • Feel free to add your own convenient imports there.

Noteworthy classes

dn.M

My re-implementation of the Math class, with high-performances in mind:

M.fmin(0.5, 0.9); // 0.5
M.frandRange(0, 2); // random Float number between 0 -> 2
M.randRange(0, 2); // either 0, 1 or 2
M.pow(val, 2); // turns into val*val at compilation time

dn.Color

The color management lib.

It mostly works using UInt colors (0xRRGGBB, like 0xffcc00), but contains many useful methods to convert color to various formats (HSL, ARGB, String).

dn.Color.intToHex(0); // #000000
dn.Color.toWhite(0xff0000, 0.5); // Interpolates color to white at 50%
dn.Color.getPerceivedLuminosityInt(0x7799ff); // return perceived luminosity (0 to 1.0)

dn.DecisionHelper

A nice tool to easily pick a value among many others using any custom criterion.

var arr = [ "a", "foo", "bar", "food", "hello" ];

var dh = new dn.DecisionHelper(arr);

/* Iterates all values in arr and increase their internal score by 1 if they contain the letter "o". */
dh.score( v -> StringTools.contains(v,"o") ? 1 : 0 );

/* Increase score of each values using 10% of their length (ie. longer strings get slightly higher score) */
dh.score( v -> v.length*0.1 );

/* Discard any value containing the letter "h" */
dh.remove( v -> StringTools.contains(v,"h") );

/* Only keep values with length>1 */
dh.keepOnly( v -> v.length>1 );

trace( dh.getBest() ); // -> food
/* Internal scores: a (discarded), foo (1.3), bar (0.3), food (1.4), hello (discarded). */

More Repositories

1

ldtk

Modern, lightweight and efficient 2D level editor
Haxe
3,404
star
2

gameBase

Base structure for my games, using Heaps framework and Haxe language.
Haxe
611
star
3

gamefeel

This prototype was first developed to serve as a demo for a “Game feel” talk in 2019 at the ENJMIN school. It was updated and modernized in 2024.
Haxe
130
star
4

ld48-NuclearBlaze-48h

Nuclear Blaze, a 48h game for Ludum Dare 48
JavaScript
117
star
5

ldtk-haxe-api

LDtk level editor Haxe API (available on HaxeLib)
Haxe
93
star
6

ld40-catsAreAssholes

A shelter simulation game made in 3 days for Ludum Dare 40. Even if the game was submitted to Jam instead of Compo, I still made everything all by myself.
Haxe
66
star
7

ld39-zeroVoltX

Zero Volt X (a shoot'em up game created in 48h for Ludum Dare 39)
JavaScript
57
star
8

ld51-tenjutsu-48h

Tenjutsu (48h version) - Ludum Dare 51
JavaScript
38
star
9

anamap

Original ANA Map (aka RPG Map 1). It requires Haxe compiler and a Flash Player.
Haxe
37
star
10

redistHelper

A small Windows script to quickly create redistribuable of an existing simple HL/JS/SWF haxe project.
Haxe
36
star
11

ld47-fortLoop

Fort Loop: a 48h puzzle game for Ludum Dare 47
Haxe
34
star
12

ld41-nightclubShowdown

My entry for Ludum Dare 41, the theme was "Combine 2 incompatible genres"
Haxe
31
star
13

ld45-Sabotage

"You are Colonel Jean-François Hubert from the French army. As the most badass colonel ever, you take on your missions naked, without any weapon."
JavaScript
27
star
14

heapsTiled

Import Tiled generated maps to Heaps based projects
Haxe
20
star
15

ld37-lostInPandation

A survival game with an iPanda, lots of snow, horrible creatures and a cable car. Made using HeapsIO and Haxe language.
Haxe
20
star
16

electronBase

A base project for Electron based Haxe applications
Haxe
19
star
17

heapsOgmo

Import Ogmo generated maps to Heaps based projects
Haxe
17
star
18

ld43-saveAndSacrifices

Save & Sacrifice (Ludum Dare 43 entry)
Haxe
15
star
19

gmtk20-dumberDwarves

Dumber Dwarves is a 48h game entry for the GMTK 2020 game jam.
Haxe
14
star
20

ld34-fullMetalDemocracy

JavaScript
13
star
21

ld35-subDragon

JavaScript
13
star
22

ld42-blossom

My entry for Ludum Dare 42, the theme was "Running out of space"
Haxe
12
star
23

internBase

A base game to be used for interns study
Haxe
12
star
24

petitTracteurBleu

A game created for my two young kids
Haxe
11
star
25

ld33-deliciousCortex

Haxe
9
star
26

ld39-dirigible

Canceled entry for Ludum Dare 39 (some kind of strange dirigible simulator)
Haxe
9
star
27

ld23-MementoXII

Memento XII (Ludum Dare 23) WebGL port
JavaScript
8
star
28

ld22-lastBreath

Haxe
7
star
29

daddyPaint

A basic painting app for very young kids
JavaScript
7
star
30

ld29-beneathTheCity

Beneath the city
Haxe
6
star
31

ld28-purpose

Purpose
Haxe
6
star
32

presskit

Static press kit generator for Haxe
Haxe
6
star
33

minisiteBase

A lightweight code base to build single page web tools.
Haxe
5
star
34

ld30-chipsetZero

Chipset Zero (todo)
Haxe
5
star
35

ld31-lawBreaker

Law Breaker (todo)
Haxe
5
star
36

ld27-proletarianNinja

Haxe
4
star
37

fireworks

A tiny letter game for young kids
JavaScript
3
star
38

mini-randomizer

A simple tool to generate random content for Table RPG
Haxe
3
star
39

rpgmap-ce

RPG Map issue tracker
2
star
40

deepnight

1
star