quake2ts 0.0.557 → 0.0.561

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18639,6 +18639,53 @@ function createClient(imports) {
18639
18639
  },
18640
18640
  description: "Music volume"
18641
18641
  });
18642
+ imports.host.cvars.register({
18643
+ name: "vid_gamma",
18644
+ defaultValue: "1.0",
18645
+ flags: CvarFlags2.Archive,
18646
+ onChange: (cvar) => {
18647
+ const val = cvar.number;
18648
+ if (!isNaN(val) && imports.engine.renderer) {
18649
+ imports.engine.renderer.setGamma(val);
18650
+ }
18651
+ },
18652
+ description: "Gamma correction"
18653
+ });
18654
+ imports.host.cvars.register({
18655
+ name: "r_brightness",
18656
+ defaultValue: "1.0",
18657
+ flags: CvarFlags2.Archive,
18658
+ onChange: (cvar) => {
18659
+ const val = cvar.number;
18660
+ if (!isNaN(val) && imports.engine.renderer) {
18661
+ imports.engine.renderer.setBrightness(val);
18662
+ }
18663
+ },
18664
+ description: "Brightness control"
18665
+ });
18666
+ imports.host.cvars.register({
18667
+ name: "r_bloom",
18668
+ defaultValue: "0",
18669
+ flags: CvarFlags2.Archive,
18670
+ onChange: (cvar) => {
18671
+ if (imports.engine.renderer) {
18672
+ imports.engine.renderer.setBloom(cvar.number !== 0);
18673
+ }
18674
+ },
18675
+ description: "Enable bloom effect"
18676
+ });
18677
+ imports.host.cvars.register({
18678
+ name: "r_bloom_intensity",
18679
+ defaultValue: "0.5",
18680
+ flags: CvarFlags2.Archive,
18681
+ onChange: (cvar) => {
18682
+ const val = cvar.number;
18683
+ if (!isNaN(val) && imports.engine.renderer) {
18684
+ imports.engine.renderer.setBloomIntensity(val);
18685
+ }
18686
+ },
18687
+ description: "Bloom intensity"
18688
+ });
18642
18689
  const initialFov = imports.host.cvars.get("fov");
18643
18690
  if (initialFov) {
18644
18691
  const f = initialFov.number;
@@ -18677,6 +18724,24 @@ function createClient(imports) {
18677
18724
  loadingScreen.finish();
18678
18725
  });
18679
18726
  }
18727
+ if (imports.engine.renderer && imports.host?.cvars) {
18728
+ const gamma = imports.host.cvars.get("vid_gamma");
18729
+ if (gamma && !isNaN(gamma.number)) {
18730
+ imports.engine.renderer.setGamma(gamma.number);
18731
+ }
18732
+ const brightness = imports.host.cvars.get("r_brightness");
18733
+ if (brightness && !isNaN(brightness.number)) {
18734
+ imports.engine.renderer.setBrightness(brightness.number);
18735
+ }
18736
+ const bloom = imports.host.cvars.get("r_bloom");
18737
+ if (bloom) {
18738
+ imports.engine.renderer.setBloom(bloom.number !== 0);
18739
+ }
18740
+ const bloomIntensity = imports.host.cvars.get("r_bloom_intensity");
18741
+ if (bloomIntensity && !isNaN(bloomIntensity.number)) {
18742
+ imports.engine.renderer.setBloomIntensity(bloomIntensity.number);
18743
+ }
18744
+ }
18680
18745
  void imports.engine.trace({ x: 0, y: 0, z: 0 }, { x: 1, y: 0, z: 0 });
18681
18746
  if (typeof document !== "undefined") {
18682
18747
  document.addEventListener("fullscreenchange", () => {
@@ -18995,13 +19060,18 @@ function createClient(imports) {
18995
19060
  }
18996
19061
  const cameraContents = pointContents({ x: camera.position[0], y: camera.position[1], z: camera.position[2] });
18997
19062
  let waterTint;
19063
+ let underwaterWarp = false;
18998
19064
  if ((cameraContents & CONTENTS_WATER2) !== 0) {
18999
19065
  waterTint = [0.5, 0.5, 0.6, 0.6];
19066
+ underwaterWarp = true;
19000
19067
  } else if ((cameraContents & CONTENTS_SLIME2) !== 0) {
19001
19068
  waterTint = [0, 0.1, 0.05, 0.6];
19069
+ underwaterWarp = true;
19002
19070
  } else if ((cameraContents & CONTENTS_LAVA2) !== 0) {
19003
19071
  waterTint = [1, 0.3, 0, 0.6];
19072
+ underwaterWarp = true;
19004
19073
  }
19074
+ imports.engine.renderer.setUnderwaterWarp(underwaterWarp);
19005
19075
  imports.engine.renderer.renderFrame({
19006
19076
  camera,
19007
19077
  world,