crimsonland 0.1.0.dev14__py3-none-any.whl → 0.1.0.dev16__py3-none-any.whl
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.
- crimson/cli.py +63 -0
- crimson/creatures/damage.py +111 -36
- crimson/creatures/runtime.py +246 -156
- crimson/creatures/spawn.py +7 -3
- crimson/debug.py +9 -0
- crimson/demo.py +38 -45
- crimson/effects.py +7 -13
- crimson/frontend/high_scores_layout.py +81 -0
- crimson/frontend/panels/base.py +4 -1
- crimson/frontend/panels/controls.py +0 -15
- crimson/frontend/panels/databases.py +291 -3
- crimson/frontend/panels/mods.py +0 -15
- crimson/frontend/panels/play_game.py +0 -16
- crimson/game.py +689 -3
- crimson/gameplay.py +921 -569
- crimson/modes/base_gameplay_mode.py +33 -12
- crimson/modes/components/__init__.py +2 -0
- crimson/modes/components/highscore_record_builder.py +58 -0
- crimson/modes/components/perk_menu_controller.py +325 -0
- crimson/modes/quest_mode.py +94 -272
- crimson/modes/rush_mode.py +12 -43
- crimson/modes/survival_mode.py +109 -330
- crimson/modes/tutorial_mode.py +46 -247
- crimson/modes/typo_mode.py +11 -38
- crimson/oracle.py +396 -0
- crimson/perks.py +5 -2
- crimson/player_damage.py +95 -36
- crimson/projectiles.py +539 -320
- crimson/render/projectile_draw_registry.py +637 -0
- crimson/render/projectile_render_registry.py +110 -0
- crimson/render/secondary_projectile_draw_registry.py +206 -0
- crimson/render/world_renderer.py +58 -707
- crimson/sim/world_state.py +118 -61
- crimson/typo/spawns.py +5 -12
- crimson/ui/demo_trial_overlay.py +3 -11
- crimson/ui/formatting.py +24 -0
- crimson/ui/game_over.py +12 -58
- crimson/ui/hud.py +72 -39
- crimson/ui/layout.py +20 -0
- crimson/ui/perk_menu.py +9 -34
- crimson/ui/quest_results.py +28 -70
- crimson/ui/text_input.py +20 -0
- crimson/views/_ui_helpers.py +27 -0
- crimson/views/aim_debug.py +15 -32
- crimson/views/animations.py +18 -28
- crimson/views/arsenal_debug.py +22 -32
- crimson/views/bonuses.py +23 -36
- crimson/views/camera_debug.py +16 -29
- crimson/views/camera_shake.py +9 -33
- crimson/views/corpse_stamp_debug.py +13 -21
- crimson/views/decals_debug.py +36 -23
- crimson/views/fonts.py +8 -25
- crimson/views/ground.py +4 -21
- crimson/views/lighting_debug.py +42 -45
- crimson/views/particles.py +33 -42
- crimson/views/perk_menu_debug.py +3 -10
- crimson/views/player.py +50 -44
- crimson/views/player_sprite_debug.py +24 -31
- crimson/views/projectile_fx.py +57 -52
- crimson/views/projectile_render_debug.py +24 -33
- crimson/views/projectiles.py +24 -37
- crimson/views/spawn_plan.py +13 -29
- crimson/views/sprites.py +14 -29
- crimson/views/terrain.py +6 -23
- crimson/views/ui.py +7 -24
- crimson/views/wicons.py +28 -33
- {crimsonland-0.1.0.dev14.dist-info → crimsonland-0.1.0.dev16.dist-info}/METADATA +1 -1
- {crimsonland-0.1.0.dev14.dist-info → crimsonland-0.1.0.dev16.dist-info}/RECORD +73 -62
- {crimsonland-0.1.0.dev14.dist-info → crimsonland-0.1.0.dev16.dist-info}/WHEEL +1 -1
- grim/config.py +29 -1
- grim/console.py +7 -10
- grim/math.py +12 -0
- {crimsonland-0.1.0.dev14.dist-info → crimsonland-0.1.0.dev16.dist-info}/entry_points.txt +0 -0
grim/console.py
CHANGED
|
@@ -8,6 +8,7 @@ import math
|
|
|
8
8
|
import pyray as rl
|
|
9
9
|
|
|
10
10
|
from . import paq
|
|
11
|
+
from grim.math import clamp
|
|
11
12
|
from grim.fonts.grim_mono import (
|
|
12
13
|
GrimMonoFont,
|
|
13
14
|
draw_grim_mono_text,
|
|
@@ -121,16 +122,12 @@ def _load_script_from_paq(console: "ConsoleState", target: Path) -> str | None:
|
|
|
121
122
|
return None
|
|
122
123
|
|
|
123
124
|
|
|
124
|
-
def _clamp(value: float, low: float, high: float) -> float:
|
|
125
|
-
return max(low, min(high, value))
|
|
126
|
-
|
|
127
|
-
|
|
128
125
|
def _rgba(r: float, g: float, b: float, a: float) -> rl.Color:
|
|
129
126
|
return rl.Color(
|
|
130
|
-
int(
|
|
131
|
-
int(
|
|
132
|
-
int(
|
|
133
|
-
int(
|
|
127
|
+
int(clamp(r, 0.0, 1.0) * 255),
|
|
128
|
+
int(clamp(g, 0.0, 1.0) * 255),
|
|
129
|
+
int(clamp(b, 0.0, 1.0) * 255),
|
|
130
|
+
int(clamp(a, 0.0, 1.0) * 255),
|
|
134
131
|
)
|
|
135
132
|
|
|
136
133
|
|
|
@@ -518,12 +515,12 @@ class ConsoleState:
|
|
|
518
515
|
def _open_ratio(self, height: float) -> float:
|
|
519
516
|
if height <= 0.0:
|
|
520
517
|
return 0.0
|
|
521
|
-
return
|
|
518
|
+
return clamp((height + self._offset_y) / height, 0.0, 1.0)
|
|
522
519
|
|
|
523
520
|
def _caret_blink_alpha(self) -> float:
|
|
524
521
|
pulse = math.sin(self._blink_time * CONSOLE_BLINK_SPEED)
|
|
525
522
|
value = max(0.2, abs(pulse) ** 2)
|
|
526
|
-
return
|
|
523
|
+
return clamp(value, 0.0, 1.0)
|
|
527
524
|
|
|
528
525
|
def _use_mono_font(self) -> bool:
|
|
529
526
|
cvar = self.cvars.get("con_monoFont")
|
grim/math.py
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import math
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
def clamp(value: float, low: float, high: float) -> float:
|
|
5
7
|
if value < low:
|
|
@@ -15,3 +17,13 @@ def clamp01(value: float) -> float:
|
|
|
15
17
|
|
|
16
18
|
def lerp(a: float, b: float, t: float) -> float:
|
|
17
19
|
return a + (b - a) * t
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def distance_sq(x0: float, y0: float, x1: float, y1: float) -> float:
|
|
23
|
+
dx = float(x1) - float(x0)
|
|
24
|
+
dy = float(y1) - float(y0)
|
|
25
|
+
return dx * dx + dy * dy
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def distance(x0: float, y0: float, x1: float, y1: float) -> float:
|
|
29
|
+
return math.sqrt(distance_sq(x0, y0, x1, y1))
|
|
File without changes
|