Skip to content

Instantly share code, notes, and snippets.

I may be slow to respond.

Darryl Pogue dpogue

I may be slow to respond.
View GitHub Profile

Plasma Object Relationships

This is a simplified diagram showing the basic associations between class types in Plasma.

A lot of behaviour is handled by attaching various plModifier subclasses to plSceneObject instances (i.e., plPythonFileMod, plResponderModifier, plLogicModifier, etc.)

plSceneNode --> plSceneObject : scene objects
plSceneObject --> plAudioInterface : audio
plSceneObject --> plDrawInterface : mesh

H-uru/Plasma Changelog


Not yet complete

View libwebm-cmake_install.patch
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a83d23b..0f5ede3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@
cmake_minimum_required(VERSION 3.2)
project(LIBWEBM CXX)


  • plStatusLog for pnAcLog
    • Kill pnAcLog, used by some pnNetCli and plNetGameLib stuff


  • plLocalization stuff for translated keyboard key names
    • Move to plInputCore or replace


  • plSDL for enums, but not actually used! needed for a destructor :(
View plFogEnvironment

plFogEnvironment Transitions

Currently, there is a single default fog environment used for all rendering in all Ages, and its values are reset when loading an Age via console commands in the .fni files. There is also a Python API that can be used to change the values.

Support exists (but is not exposed or ever used) for per-object fog environments via plFogEnvironment objects and references in the DrawableSpans.

However, there is currently no way to animate fog changes or transitions between fog values without resorting to Python hacks.

dpogue / SoundDecompress.cpp
Last active Aug 20, 2020
A (hopefully) VS 2010 & CWE-ou compatible version of SoundDecompress.cpp
View SoundDecompress.cpp
/*==LICENSE==* Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
View waveset_runtime.txt
plDrawableSpans::Obj (The actual waveset mesh)
hsGMaterial::ObjMaterial (object's existing material)
plRenderTarget::Obj_CompRT (256×256) [Renders Obj_BumpDraw, see below]
plVShader::Obj_FixedVS (vs_WaveFixedFin7)
plPShader::Obj_FixedPS (ps_WaveFixed)
plRenderTarget::Obj_CompRT (256×256) [Renders Obj_BumpDraw, see below]
plVShader::Obj_FixedVS (vs_WaveFixedFin7)

How much do you need to know about machine learning?

VanJS 20200213 - Dina Berry

Works in the content org at Microsoft.

How many people consider themselves just JS devs? Not many. How many JS and at least other language? A lot more, mostly on the backend.

View export.diff
--- plasmamax.prc 2020-02-10 23:08:06.852981140 -0800
+++ korman.prc 2020-02-10 23:07:38.930444788 -0800
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
- <plKey Name="AvatarCloset_PersonalAgeCloset_00000000_0Spans" Type="plDrawableSpans" Location="17;1" LocFlag="0x0000" ObjID="1" />
+ <plKey Name="kortest_District_Page01_00000000_0Spans" Type="plDrawableSpans" Location="100;1" LocFlag="0x0000" ObjID="1" />
<Properties Flags="0x00000000" Criteria="0x00000000" RenderLevel="0x00000000" />