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.
@@ -18605,6 +18605,53 @@ function createClient(imports) {
18605
18605
  },
18606
18606
  description: "Music volume"
18607
18607
  });
18608
+ imports.host.cvars.register({
18609
+ name: "vid_gamma",
18610
+ defaultValue: "1.0",
18611
+ flags: CvarFlags2.Archive,
18612
+ onChange: (cvar) => {
18613
+ const val = cvar.number;
18614
+ if (!isNaN(val) && imports.engine.renderer) {
18615
+ imports.engine.renderer.setGamma(val);
18616
+ }
18617
+ },
18618
+ description: "Gamma correction"
18619
+ });
18620
+ imports.host.cvars.register({
18621
+ name: "r_brightness",
18622
+ defaultValue: "1.0",
18623
+ flags: CvarFlags2.Archive,
18624
+ onChange: (cvar) => {
18625
+ const val = cvar.number;
18626
+ if (!isNaN(val) && imports.engine.renderer) {
18627
+ imports.engine.renderer.setBrightness(val);
18628
+ }
18629
+ },
18630
+ description: "Brightness control"
18631
+ });
18632
+ imports.host.cvars.register({
18633
+ name: "r_bloom",
18634
+ defaultValue: "0",
18635
+ flags: CvarFlags2.Archive,
18636
+ onChange: (cvar) => {
18637
+ if (imports.engine.renderer) {
18638
+ imports.engine.renderer.setBloom(cvar.number !== 0);
18639
+ }
18640
+ },
18641
+ description: "Enable bloom effect"
18642
+ });
18643
+ imports.host.cvars.register({
18644
+ name: "r_bloom_intensity",
18645
+ defaultValue: "0.5",
18646
+ flags: CvarFlags2.Archive,
18647
+ onChange: (cvar) => {
18648
+ const val = cvar.number;
18649
+ if (!isNaN(val) && imports.engine.renderer) {
18650
+ imports.engine.renderer.setBloomIntensity(val);
18651
+ }
18652
+ },
18653
+ description: "Bloom intensity"
18654
+ });
18608
18655
  const initialFov = imports.host.cvars.get("fov");
18609
18656
  if (initialFov) {
18610
18657
  const f = initialFov.number;
@@ -18643,6 +18690,24 @@ function createClient(imports) {
18643
18690
  loadingScreen.finish();
18644
18691
  });
18645
18692
  }
18693
+ if (imports.engine.renderer && imports.host?.cvars) {
18694
+ const gamma = imports.host.cvars.get("vid_gamma");
18695
+ if (gamma && !isNaN(gamma.number)) {
18696
+ imports.engine.renderer.setGamma(gamma.number);
18697
+ }
18698
+ const brightness = imports.host.cvars.get("r_brightness");
18699
+ if (brightness && !isNaN(brightness.number)) {
18700
+ imports.engine.renderer.setBrightness(brightness.number);
18701
+ }
18702
+ const bloom = imports.host.cvars.get("r_bloom");
18703
+ if (bloom) {
18704
+ imports.engine.renderer.setBloom(bloom.number !== 0);
18705
+ }
18706
+ const bloomIntensity = imports.host.cvars.get("r_bloom_intensity");
18707
+ if (bloomIntensity && !isNaN(bloomIntensity.number)) {
18708
+ imports.engine.renderer.setBloomIntensity(bloomIntensity.number);
18709
+ }
18710
+ }
18646
18711
  void imports.engine.trace({ x: 0, y: 0, z: 0 }, { x: 1, y: 0, z: 0 });
18647
18712
  if (typeof document !== "undefined") {
18648
18713
  document.addEventListener("fullscreenchange", () => {
@@ -18961,13 +19026,18 @@ function createClient(imports) {
18961
19026
  }
18962
19027
  const cameraContents = pointContents({ x: camera.position[0], y: camera.position[1], z: camera.position[2] });
18963
19028
  let waterTint;
19029
+ let underwaterWarp = false;
18964
19030
  if ((cameraContents & CONTENTS_WATER2) !== 0) {
18965
19031
  waterTint = [0.5, 0.5, 0.6, 0.6];
19032
+ underwaterWarp = true;
18966
19033
  } else if ((cameraContents & CONTENTS_SLIME2) !== 0) {
18967
19034
  waterTint = [0, 0.1, 0.05, 0.6];
19035
+ underwaterWarp = true;
18968
19036
  } else if ((cameraContents & CONTENTS_LAVA2) !== 0) {
18969
19037
  waterTint = [1, 0.3, 0, 0.6];
19038
+ underwaterWarp = true;
18970
19039
  }
19040
+ imports.engine.renderer.setUnderwaterWarp(underwaterWarp);
18971
19041
  imports.engine.renderer.renderFrame({
18972
19042
  camera,
18973
19043
  world,