Messing with the dungeon

This commit is contained in:
2024-08-27 20:05:18 -07:00
parent 2fb0c364ca
commit 699a333951
45 changed files with 1005 additions and 182 deletions

View File

@@ -1,8 +1,9 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using Chickensoft.SaveFileBuilder;
using GameJamDungeon;
using Godot;
using System;
namespace GameJamDungeon
{
@@ -22,20 +23,26 @@ namespace GameJamDungeon
PlayerLogic IProvide<PlayerLogic>.Value() => PlayerLogic;
[Dependency] public IAppRepo AppRepo => this.DependOn<IAppRepo>();
[Dependency] public IGameRepo GameRepo => this.DependOn<IGameRepo>();
[Dependency]
public IAppRepo AppRepo => this.DependOn<IAppRepo>();
[Dependency]
public IGameRepo GameRepo => this.DependOn<IGameRepo>();
[Dependency]
public ISaveChunk<GameData> GameChunk => this.DependOn<ISaveChunk<GameData>>();
/// <summary>Rotation speed (quaternions?/sec).</summary>
[Export(PropertyHint.Range, "0, 100, 0.1")]
public float RotationSpeed { get; set; } = 0.5f;
public float RotationSpeed { get; set; } = 12.0f;
/// <summary>Player speed (meters/sec).</summary>
[Export(PropertyHint.Range, "0, 100, 0.1")]
public float MoveSpeed { get; set; } = 2f;
public float MoveSpeed { get; set; } = 8f;
/// <summary>Player speed (meters^2/sec).</summary>
[Export(PropertyHint.Range, "0, 100, 0.1")]
public float Acceleration { get; set; } = 1f;
public float Acceleration { get; set; } = 4f;
public PlayerLogic.Settings Settings { get; set; } = default!;
@@ -45,9 +52,15 @@ namespace GameJamDungeon
public PlayerLogic.IBinding PlayerBinding { get; set; } = default!;
[Node]
public IAnimationPlayer AnimationPlayer { get; set; } = default!;
[Node]
public IAnimatedSprite2D SwordSlashAnimation { get; set; } = default!;
public void Initialize()
{
AnimationPlayer.AnimationFinished += OnAnimationFinished;
}
public void Setup()
@@ -75,24 +88,24 @@ namespace GameJamDungeon
{
PlayerBinding = PlayerLogic.Bind();
GameRepo.SetPlayerGlobalPosition(GlobalPosition);
PlayerBinding
.Handle((in PlayerLogic.Output.MovementComputed output) =>
{
Transform = Transform with { Basis = output.Rotation };
Velocity = output.Velocity;
})
{
Transform = Transform with { Basis = output.Rotation };
Velocity = output.Velocity;
})
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
{
AnimationPlayer.Play("attack");
});
this.Provide();
PlayerLogic.Start();
}
public void OnReady()
{
SetPhysicsProcess(true);
}
public void OnReady() => SetPhysicsProcess(true);
public void OnPhysicsProcess(double delta)
{
@@ -119,12 +132,17 @@ namespace GameJamDungeon
return input with { Y = 0f };
}
public void OnAnimationFinished(StringName animation)
{
GD.Print("Attack finished");
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
}
public void OnExitTree()
{
PlayerLogic.Stop();
AppRepo.Dispose();
GameRepo.Dispose();
PlayerBinding.Dispose();
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
}
}
}

View File

@@ -1,9 +1,111 @@
[gd_scene load_steps=3 format=3 uid="uid://cfecvvav8kkp6"]
[gd_scene load_steps=15 format=3 uid="uid://cfecvvav8kkp6"]
[ext_resource type="Script" path="res://src/player/Player.cs" id="1_xcol5"]
[ext_resource type="Texture2D" uid="uid://bokx3h8kfdo5i" path="res://src/player/slash_0000_Classic_30.png" id="2_la11l"]
[ext_resource type="Texture2D" uid="uid://byosr5gk51237" path="res://src/player/slash_0001_Classic_29.png" id="3_ux3f1"]
[ext_resource type="Texture2D" uid="uid://nh071o6ii03j" path="res://src/player/slash_0002_Classic_28.png" id="4_gqnq0"]
[ext_resource type="Texture2D" uid="uid://bodfblud4kea3" path="res://src/player/slash_0003_Classic_27.png" id="5_eebal"]
[ext_resource type="Texture2D" uid="uid://de55prolicl0u" path="res://src/player/slash_0004_Classic_26.png" id="6_ngag5"]
[ext_resource type="Texture2D" uid="uid://bp0msic3uk3kc" path="res://src/player/slash_0005_Layer-1.png" id="7_tp5uu"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
height = 1.2
[sub_resource type="CapsuleMesh" id="CapsuleMesh_dmans"]
[sub_resource type="Animation" id="Animation_0jjwv"]
resource_name = "attack"
length = 0.7
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SwordSlashAnimation:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0667, 0.1667, 0.2667, 0.366667, 0.433333, 0.5, 0.6333),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Area3D/Hitbox:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1667, 0.3333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_hcjph"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SwordSlashAnimation:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Area3D/Hitbox:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_w8l8m"]
_data = {
"RESET": SubResource("Animation_hcjph"),
"attack": SubResource("Animation_0jjwv")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_ywvvo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": null
}, {
"duration": 1.0,
"texture": ExtResource("2_la11l")
}, {
"duration": 1.0,
"texture": ExtResource("3_ux3f1")
}, {
"duration": 1.0,
"texture": ExtResource("4_gqnq0")
}, {
"duration": 1.0,
"texture": ExtResource("5_eebal")
}, {
"duration": 1.0,
"texture": ExtResource("6_ngag5")
}, {
"duration": 1.0,
"texture": ExtResource("7_tp5uu")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"attack",
"speed": 12.0
}]
[sub_resource type="BoxShape3D" id="BoxShape3D_wedu3"]
[node name="Player" type="CharacterBody3D"]
motion_mode = 1
@@ -14,11 +116,35 @@ RotationSpeed = 0.025
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.937567, 0)
shape = SubResource("CapsuleShape3D_dw45s")
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
mesh = SubResource("CapsuleMesh_dmans")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.19694, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.46709, -0.511194)
cull_mask = 1048573
[node name="OmniLight3D" type="OmniLight3D" parent="."]
omni_range = 73.156
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_w8l8m")
}
[node name="SwordSlashAnimation" type="AnimatedSprite2D" parent="."]
unique_name_in_owner = true
position = Vector2(911, 546)
scale = Vector2(9.03192, 6.39623)
sprite_frames = SubResource("SpriteFrames_ywvvo")
animation = &"attack"
[node name="Area3D" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -1)
collision_layer = 16
collision_mask = 16
[node name="Hitbox" type="CollisionShape3D" parent="Area3D"]
unique_name_in_owner = true
shape = SubResource("BoxShape3D_wedu3")
disabled = true

View File

@@ -1,6 +1,5 @@
using Chickensoft.Serialization;
using Godot;
using System.Collections;
using System.Collections.Generic;
namespace GameJamDungeon

View File

@@ -0,0 +1,40 @@
[gd_resource type="SpriteFrames" load_steps=7 format=3 uid="uid://nxdb75oa71hj"]
[ext_resource type="Texture2D" uid="uid://cd8gggy8mdm2e" path="res://src/vfx/Sword Slash/slash_0000_Classic_30.png" id="1_dmb5o"]
[ext_resource type="Texture2D" uid="uid://difp6a34ot1oq" path="res://src/vfx/Sword Slash/slash_0001_Classic_29.png" id="2_dme0j"]
[ext_resource type="Texture2D" uid="uid://brjqbpy3wsksb" path="res://src/vfx/Sword Slash/slash_0002_Classic_28.png" id="3_twn5o"]
[ext_resource type="Texture2D" uid="uid://brpnjc7aho55s" path="res://src/vfx/Sword Slash/slash_0003_Classic_27.png" id="4_3f3ea"]
[ext_resource type="Texture2D" uid="uid://mb7qoowmapaj" path="res://src/vfx/Sword Slash/slash_0004_Classic_26.png" id="5_fp65h"]
[ext_resource type="Texture2D" uid="uid://d2e5prh2tm73h" path="res://src/vfx/Sword Slash/slash_0005_Layer-1.png" id="6_6syma"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": null
}, {
"duration": 1.0,
"texture": ExtResource("1_dmb5o")
}, {
"duration": 1.0,
"texture": ExtResource("2_dme0j")
}, {
"duration": 1.0,
"texture": ExtResource("3_twn5o")
}, {
"duration": 1.0,
"texture": ExtResource("4_3f3ea")
}, {
"duration": 1.0,
"texture": ExtResource("5_fp65h")
}, {
"duration": 1.0,
"texture": ExtResource("6_6syma")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"slash",
"speed": 12.0
}]

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqpaiixbyo16v"
path="res://.godot/imported/slash_0000_Classic_30.png-2c428e005da5748673e1d7868aa6b18a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0000_Classic_30.png"
dest_files=["res://.godot/imported/slash_0000_Classic_30.png-2c428e005da5748673e1d7868aa6b18a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wm86fj4argv6"
path="res://.godot/imported/slash_0001_Classic_29.png-3673010723601f8b6d22db47032b50c1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0001_Classic_29.png"
dest_files=["res://.godot/imported/slash_0001_Classic_29.png-3673010723601f8b6d22db47032b50c1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://j4m8omoaui1x"
path="res://.godot/imported/slash_0002_Classic_28.png-597c35b28abcb81bd5ff794f73b0fdd0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0002_Classic_28.png"
dest_files=["res://.godot/imported/slash_0002_Classic_28.png-597c35b28abcb81bd5ff794f73b0fdd0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://caqgpeg6yfy04"
path="res://.godot/imported/slash_0003_Classic_27.png-a5584650bbab5644c4f68a72c7102891.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0003_Classic_27.png"
dest_files=["res://.godot/imported/slash_0003_Classic_27.png-a5584650bbab5644c4f68a72c7102891.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnasdkwdao7br"
path="res://.godot/imported/slash_0004_Classic_26.png-edc418ced5f957bf9acd48ba10300783.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0004_Classic_26.png"
dest_files=["res://.godot/imported/slash_0004_Classic_26.png-edc418ced5f957bf9acd48ba10300783.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dpulted24fmhb"
path="res://.godot/imported/slash_0005_Layer-1.png-1d7636cfc5c4b430e4a056383d58afa9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/animations/slash_0005_Layer-1.png"
dest_files=["res://.godot/imported/slash_0005_Layer-1.png-1d7636cfc5c4b430e4a056383d58afa9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bokx3h8kfdo5i"
path="res://.godot/imported/slash_0000_Classic_30.png-29bf4d1f49823b71f227d5df12819eb4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0000_Classic_30.png"
dest_files=["res://.godot/imported/slash_0000_Classic_30.png-29bf4d1f49823b71f227d5df12819eb4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://byosr5gk51237"
path="res://.godot/imported/slash_0001_Classic_29.png-8b6cb25db8f26faae8c794cbe9767b96.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0001_Classic_29.png"
dest_files=["res://.godot/imported/slash_0001_Classic_29.png-8b6cb25db8f26faae8c794cbe9767b96.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nh071o6ii03j"
path="res://.godot/imported/slash_0002_Classic_28.png-4e04a86162e517edc488454a4efd1ae0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0002_Classic_28.png"
dest_files=["res://.godot/imported/slash_0002_Classic_28.png-4e04a86162e517edc488454a4efd1ae0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bodfblud4kea3"
path="res://.godot/imported/slash_0003_Classic_27.png-e6e9f96a812c6c1dc9c174b34a127296.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0003_Classic_27.png"
dest_files=["res://.godot/imported/slash_0003_Classic_27.png-e6e9f96a812c6c1dc9c174b34a127296.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://de55prolicl0u"
path="res://.godot/imported/slash_0004_Classic_26.png-2ac987800cb2865f139b46d65ad72e26.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0004_Classic_26.png"
dest_files=["res://.godot/imported/slash_0004_Classic_26.png-2ac987800cb2865f139b46d65ad72e26.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bp0msic3uk3kc"
path="res://.godot/imported/slash_0005_Layer-1.png-e9a5a7f6279134cbc1e523399aaf9074.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/player/slash_0005_Layer-1.png"
dest_files=["res://.godot/imported/slash_0005_Layer-1.png-e9a5a7f6279134cbc1e523399aaf9074.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1