feat: add GFF type schema definitions for visual editors

This commit is contained in:
plenarius
2026-04-20 20:07:48 -04:00
parent 3b91c0312d
commit c7f5646e62
8 changed files with 720 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
import { GffFieldType, type GffTypeSchema } from "./schema.js";
export const schema: GffTypeSchema = {
fileType: "are",
displayName: "Area",
categories: ["Identity", "Dimensions", "Lighting"],
fields: [
{
label: "Tag",
displayName: "Tag",
type: GffFieldType.CExoString,
category: "Identity",
},
{
label: "ResRef",
displayName: "ResRef",
type: GffFieldType.ResRef,
category: "Identity",
},
{
label: "Name",
displayName: "Name",
type: GffFieldType.CExoLocString,
category: "Identity",
},
{
label: "Flags",
displayName: "Area Flags",
type: GffFieldType.Dword,
category: "Identity",
description: "Bitmask: bit 0 = Interior, bit 1 = Underground, bit 2 = Natural",
},
{
label: "Width",
displayName: "Width",
type: GffFieldType.Int,
category: "Dimensions",
description: "Area width in tiles",
},
{
label: "Height",
displayName: "Height",
type: GffFieldType.Int,
category: "Dimensions",
description: "Area height in tiles",
},
{
label: "Tileset",
displayName: "Tileset",
type: GffFieldType.ResRef,
category: "Dimensions",
description: "Tileset resref from tilesets.2da",
},
{
label: "SunAmbientColor",
displayName: "Sun Ambient Color",
type: GffFieldType.Dword,
category: "Lighting",
description: "Ambient light color during daytime (BGR integer)",
},
{
label: "SunDiffuseColor",
displayName: "Sun Diffuse Color",
type: GffFieldType.Dword,
category: "Lighting",
description: "Directional light color during daytime (BGR integer)",
},
{
label: "SunFogColor",
displayName: "Sun Fog Color",
type: GffFieldType.Dword,
category: "Lighting",
},
{
label: "MoonAmbientColor",
displayName: "Moon Ambient Color",
type: GffFieldType.Dword,
category: "Lighting",
},
{
label: "MoonDiffuseColor",
displayName: "Moon Diffuse Color",
type: GffFieldType.Dword,
category: "Lighting",
},
{
label: "MoonFogColor",
displayName: "Moon Fog Color",
type: GffFieldType.Dword,
category: "Lighting",
},
{
label: "IsNight",
displayName: "Is Night",
type: GffFieldType.Byte,
category: "Lighting",
},
{
label: "SkyBox",
displayName: "Sky Box",
type: GffFieldType.Byte,
category: "Lighting",
description: "Skybox index from skyboxes.2da",
},
],
};