Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Hi!

This is it. Pretty much a history of Farbrausch tools 2001-2011. We've been meaning to release all this for ages, in various forms, and always ended up not doing it because "we'd just have to clean it up a bit first...".

No more. This is not cleaned up. This is the raw deal, some from old hard drives, some fresh from various SVN repositories. This is code written for a bunch of different versions of Visual Studio. Some of it is really tricky to compile, some really easy. There's some nice clean stuff there, other parts are just a complete mess.

The original unmodified code (with a few bug fixes) is archived under the "original" tag, in case there's historical interest, but as of April 16, 2012 the master branch of this repository contains code that builds with Visual Studio 2010 (which is presumably more useful to people). We originally anticipated that getting everything to work with a recent compiler would prove difficult, but it turned out to be fairly easy and required only small changes to the code base, so there's little value in keeping the two branches separate.

All of this is released either under a BSD license or put in the public domain (stated per project). Not that you're likely to want to use most of this code, but if you want to, we see no reason to keep you.

So what do we have in here? Here's the basic directory structure:

 altona_wz4/ - Altona and Werkkzeug4. Our most recent code foundation and tool.
altona/ - The framework libraries (includes base Werkkzeug4 GUI).
wz4/ - Wz4FRlib (demo ops) and Wz4Player.
altona2/ - successor of altona
altona2/ - The framework libraries (Werkkzeug5 is not yet released)
genthree/ - GenThree. Used for Candytron and nothing else.
data/ - Candytron data files.
kkrunchy/ - kkrunchy 0.23alpha code (latest we could find)
kkrunchy_k7/ - kkrunchy_k7 0.23a4/asm07 (most recent version)
ktg/ - OpenKTG texture generator. See below.
lekktor/ - May summon Eldritch Abominations. Handle with care.
RG2/ - RauschGenerator 2. Used for several 64k intros.
dopplerdefekt/ - data files for fr-029: dopplerdefekt
einschlag/ - data files for fr-022: ein.schlag
flybye/ - data files for fr-013: flybye
welcome_to/ - data files for fr-024: welcome to...
v2/ - V2 synthesizer system. Used for all our intros, kkrieger and debris.
werkkzeug3/ - Werkkzeug3. Used for tons of demos and intros.
data/ - Source data for kkrieger and some test projects.
debris/ - Source data for fr-041: debris.
theta/ - Source data for fr-038: theta.
w3texlib/ - Werkkzeug 3 texture lib. Used for fr-033.
wz_mobile/ - Werkkzeug Mobile. Never got used for anything.
werkkzeug3_kkrieger/ - kkrieger branch. Game mode in here might work. :)

So, here's the sightseeing tips:

  • "ktg" is OpenKTG, a proposal for a simple but relatively powerful and orthogonal subset of texture generation functions - designed around 2007. This is really nice, clean code. If you want to generate textures for WebGL or something like that, turning this into pixel shaders+JS code should work quite well. (There's no nice editor for it, though)
  • GenThree contains a bunch of text files in German with various ideas, from the Candytron timeframe - mostly written by Chaos. Interesting bit of history :)
  • werkkzeug3 is a mess, but come on, debris - you know you want to... :)
  • werkkzeug3_kkrieger is from a branch called "kkrieger" in our SVN repository. It's not the actual kkrieger code, and incorporates changes that were done more than one year after the original kkrieger release. It was, however, branched off before we started not caring about breaking kkrieger compatibility when making changes. You have a better chance of building the game from there than you do from the "regular" werkkzeug3 tree - though both are unlikely to work. If someone really wants a close-to-original werkkzeug3 kkrieger tree, it should be possible to dig up something from 2004 :)
  • altona_wz4 should actually be fully functional. It has been tested and there are binaries which should function as fully-featured demomaker without the need to touch any code. Also it's a good foundation to write your own engine or game or tool or whatever. This stuff has seen heavy duty use in several companies and went through several actual QA departments. It works.

Contributors (in alphabetical order):

  • Fabian "ryg" Giesen: GenThree, kkrunchy, kkrunchy_k7, ktg, lekktor, RG2, werkkzeug3, werkkzeug3_kkrieger, altona, werkkzeug4
  • Sebastian "Wayfinder" Grillmaier: RG2, dopplerdefekt, ein.schlag, debris, kkrieger
  • Tammo "kb" Hinrichs: V2, RG2, altona, werkkzeug4, flybye, "welcome to", easterparty
  • Thomas "fiver2" / "theunitedstatesofamerica" Mahlke: werkkzeug3, werkkzeug4, debris, kkrieger.
  • Christoph "giZMo" Muetze: genthree, Candytron, RG2, flybye, "welcome to", werkkzeug3, wz_mobile, debris, kkrieger.
  • Dierk "Chaos" Ohlerich: GenThree, lekktor, werkkzeug3, werkkzeug3_kkrieger,
    wz_mobile, altona, werkkzeug4
  • Kai "cp" Poethkow: dopplerdefekt, ein.schlag, theta.
  • Ronny Pries: debris.
  • Dennis "Exoticorn" Ranke: RG2, flybye, werkkzeug3_kkrieger.
  • Leonard "paniq" Ritter: V2, theta.
  • Bastian "Tron" Zuehlke: werkkzeug3, werkkzeug4

Both altona_wz5 and altona2 contain various of the stb_??? libraries from Sean Barret, nothings.org.

Have fun! (released April 2012) (updated October 2014 for Altona2)

For Windows 11 + Visual Studio 2026 setup/build automation, see WINDOWS11_VS2026.md.

About

Farbrausch demo tools 2001-2011

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages