Scaffold: deterministic 60Hz combat core, drop-in character format, MODELBEAST pipeline

- Godot 4.7 project; fixed-tick FSM fighter, facing-relative input buffer
  with numpad motion parsing, box collision, training-mode hitbox overlay
- characters/ = self-describing drop-in folders (spec in _spec/); two
  generated placeholder fighters (alpha, beta)
- pipeline/: pack_character.py + autohitbox.py (pose/silhouette hurtboxes)
- STUDY.md: reverse-engineering study of the BKB reference games

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
m3ultra 2026-07-28 18:45:44 +10:00
commit b067bf7f0b
597 changed files with 13327 additions and 0 deletions

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
# Godot cache
.godot/
# Python tooling env
.venv/
# macOS
.DS_Store
# Licensed reference material — study only, never ship, never commit
*.iso
Bikini-Karate-Babes-2-Warriors-of-Elysia_Win_EN/
# Local render output (MODELBEAST batches land here before packing)
renders/

Binary file not shown.

55
README.md Normal file
View File

@ -0,0 +1,55 @@
# FOITIN
Original digitized-style fighting game — the *Bikini Karate Babes* / *Mortal Kombat*
formula (frame-captured fighters, data-driven everything) rebuilt with a modern
engine and a generative 3D asset pipeline. All assets are our own.
- **[STUDY.md](STUDY.md)** — reverse-engineering study of the BKB games + the
assessment this project is built on. Start here.
- **[characters/_spec/CHARACTER_SPEC.md](characters/_spec/CHARACTER_SPEC.md)** —
the drop-in character folder format.
- **[pipeline/README.md](pipeline/README.md)** — MODELBEAST character pipeline.
## Run
Godot 4.7+. Open the project, hit play — or:
```bash
/Applications/Godot.app/Contents/MacOS/Godot --path .
```
P1: **WASD** + **J**/**K** (punch/kick, `→+J` straight, QCF+**J** special)
P2: **arrows** + **O**/**P** · **F1** hitbox viewer · **R** reset after KO
## Layout
```
engine/core/ fixed-tick combat core (FSM, input buffer, boxes, hit resolution)
engine/debug/ training-mode hitbox overlay
characters/ one folder per fighter — the engine scans this at boot
tools/ gen_placeholder_char.py (stick-figure stand-in fighters)
pipeline/ render→hitbox→pack scripts for MODELBEAST-made characters
```
## Design rules
1. **60Hz deterministic tick.** All gameplay advances in `tick(input_mask)` from
input only — keeps rollback netcode on the table. Rendering just reads state.
2. **Characters are data.** No fighter-specific code, ever. If a character needs
a new mechanic, the mechanic becomes a generic engine feature driven by JSON.
3. **Art frame-rate ≠ game timing.** Moves are timed in ticks; sprite sequences
stretch over them (BKB's `.bik`+`.zon`+`.geo` split, modernized).
## Adding a character
```bash
# placeholder (instant):
python3 tools/gen_placeholder_char.py gamma '#8855ee'
# production (MODELBEAST): render moves to renders/<id>/<move>/*.png, then
python3 pipeline/pack_character.py renders/<id> --name NAME --color '#hex'
python3 pipeline/autohitbox.py characters/<id>
# tune timings/damage in each move's data.json, bind moves in manifest.json
```
Restart the game — the roster is whatever's in `characters/`.

163
STUDY.md Normal file
View File

@ -0,0 +1,163 @@
# FOITIN — Digitized Fighting Game: Source Study & Assessment
*Study of Bikini Karate Babes 1 (4 ISOs) + BKB2: Warriors of Elysia (installed copy), cross-referenced
with the "Digitized Fighting Game Tech Report" PDF. Goal: build our own original digitized-style
fighter with MODELBEAST-generated assets, architected so new characters drop in as data.*
---
## 1. How the original games actually work (reverse-engineered from BKB2 data)
**Engine:** Custom C++ on Gamebryo/NetImmerse (`.nif` scene files), Bink video (`binkw32.dll`),
Miles Sound System (`mss32.dll`). 2011-era `game.exe` is only 1.4MB — the game is almost
entirely **data**, which is why it worked as a formula.
**The core architecture — one video clip per move:**
```
Data/<Character>/ ← one folder per fighter (12 in BKB2, ~75-83 moves each)
bik/<move>.bik ← 512×512 Bink video @ 30fps, actor pre-keyed onto white
zon/<move>.zon ← "BKB!ZONE": per-frame collision boxes (9 zones × 8 ints/frame)
geo/<move>.geo ← "BKB!GEOM": per-frame root-motion / ground-offset track
me2/<move>.me2 ← "BKB!DAT2": move properties (frame windows, damage, links)
csd/ fpd/ off/ ← cancel/sound/offset sidecar data
world.nif ← stage scene
```
Verified numbers (Venus):
- **81 moves**, each its own clip: idle `stand` (19f loop), jab `handa` (53f), punches `handa-e`,
kicks `kicka-…`, specials `spec1/2`, blocks, ducks, hit reactions (`bhit`, `lhit`, `bfall`,
`bkfal`…), throws, wins. ~202MB/character.
- `handa.zon`: magic `BKB!ZONE`, 53 frames, **9 collision zones per frame**, each zone
8 big-endian ints (type, shape, …, x, y, w, h, flag). Hitboxes AND hurtboxes are hand-placed
**per frame** — this was the labor bomb of the 90s pipeline.
- `handa.geo`: magic `BKB!GEOM`, 53 ints — per-frame X root position (~413px scale), i.e. baked
root motion so the character slides correctly during lunging moves.
- The full-roster inventory: **3,461 .bik clips** across the game (fights, UI slices, VS screens —
even menu elements are positioned video slices named `name-x360-y90-w256-h128.bik`).
**BKB1 discs:** Discs 13 are InstallShield cabs (extractable with `unshield` if we ever want
BKB1's 19-character data), Disc 4 carries the v1.08 patched `BKB.exe`. Not needed — BKB2's
installed data is the better, complete reference.
**What the formula gets right (why it's worth cloning):**
1. Character = folder of clips + frame-indexed metadata. Adding a fighter = adding data, zero code.
2. Frame-indexed everything: collision, root motion, damage windows all keyed to video frame N.
3. Uniform base mechanics (the Mortal Kombat doctrine): shared move vocabulary across the roster
(`handa`…`hande`, `kicka`…, `bhit`, `bfall`…) means the engine treats every character identically.
**What it gets wrong (what we fix):**
- 30fps and a 53-frame jab (1.77s!) — floaty, non-competitive feel. Modern standard: 60fps ticks,
jab = 4-8f startup.
- White-keyed 512×512 video → halo edges, no lighting interaction, fixed camera scale.
- Hand-drawn hitboxes per frame — thousands of hours of labor we can automate.
---
## 2. Level of detail needed (the real answer)
### Per-character clip budget — the minimum viable move set is ~30 clips, not 80
| Category | Clips | Notes |
|---|---|---|
| Locomotion | 6 | idle loop, walk fwd/back, jump (up/fwd/back can share), duck |
| Defense | 3 | stand block, crouch block, block-stun |
| Normals | 8 | 4 punches + 4 kicks (standing/crouching mix) |
| Specials | 34 | the character's identity moves |
| Reactions | 6 | head hit, body hit, low hit, knockdown fall, ground, get-up |
| Throw | 2 | throw + being-thrown |
| Ceremony | 3 | intro, win, dizzy |
| **Total** | **~3032** | BKB's ~75 includes redundant variants + mirrored versions |
At 60fps with modern pacing, average clip ≈ 3060 frames → **~1,2001,800 unique frames per
character**. That's the asset bill per fighter.
### Per-move metadata (one JSON per move, replaces .zon/.geo/.me2)
```json
{
"name": "jab", "input": "LP", "damage": 30,
"startup": 5, "active": [5, 8], "recovery": 14,
"cancels": ["special", "super"], "onBlock": -2, "onHit": 3,
"rootMotion": [0, 0, 2, 4, 4, 2, 0],
"boxes": { "auto": true, "hitFrames": {"5-8": [{"bone": "handR", "r": 28}]} }
}
```
### The one big modernization: **auto-hitboxing**
Run DWPose/RTMPose skeleton estimation over every rendered frame → generate per-frame capsule
hurtboxes from joint positions automatically. Hand-author only the *hit* boxes (active frames of
attacks), which is ~4 frames per attack. This deletes 95% of the 90s labor. It's also the same
DWPose stack the MODELBEAST gen pipeline already uses for pose conditioning — one skeleton pass
serves both generation and collision.
---
## 3. Recommended architecture for FOITIN
### Asset strategy: 3D-first, rendered to digitized sprites ("3D digitized")
Instead of filming actors (BKB) or pure image-to-image chains (fragile identity), build each
fighter as a **textured 3D character** and *render* the digitized look:
```
MODELBEAST pipeline per character:
1. FLUX + character LoRA → master identity portrait(s)
2. Hunyuan3D-2.1 / TRELLIS → textured, rigged-ready 3D mesh (GLB)
3. Auto-rig + mocap clips → the SHARED move library (30 clips, retargeted per character)
4. Fixed orthographic camera → render 60fps PNG frames + normal-map pass + depth pass
5. DWPose over renders → auto hurtbox capsules per frame
6. Pack: WebP/basis atlas + JSON → drop-in character folder
```
Why this beats video capture *and* beats pure 2D generation:
- **One mocap library, every character.** Retarget the same 30 clips to each new rig —
a new fighter costs one mesh + one retarget + one render batch (hours on MODELBEAST, not weeks).
- Perfect frame consistency, perfect alpha (no chroma halo), free normal maps → dynamic stage
lighting on sprites (the 2.5D look the tech report describes).
- The 3D source stays in the vault: cinematic camera moves for supers, restyling, re-rendering at
any resolution later. Character-specific signature moves are just extra clips in that
character's folder.
### Engine: Godot 4.x
Matches the tech report's recommendation and our needs: deterministic fixed-tick
`_physics_process`, AnimatedSprite2D + normal maps + canvas shaders, exports to desktop AND
HTML5/WASM (partly.party-friendly). Combat core = finite state machine + input-buffer reading
numpad-notation motions, fixed 60Hz tick decoupled from render. Design it
deterministic-from-inputs on day one so rollback netcode stays possible.
### Character folder spec (the BKB idea, modernized)
```
characters/<name>/
manifest.json ← display name, stats, move list, palette variants
portrait.png select.webm
moves/<move>/
frames.atlas.webp ← packed sprite frames (+ normals.webp, optional)
data.json ← frame windows, damage, boxes, root motion
audio/ ← per-move whoosh/hit/voice
source/<name>/ ← (not shipped) GLB mesh, LoRA, mocap retargets, render scenes
```
Engine scans `characters/*` at boot → roster builds itself. **That is the "add characters as I
make them" requirement solved** — same as BKB's per-character folders, but self-describing.
---
## 4. Effort assessment
| Phase | Work | Scale |
|---|---|---|
| 1. Combat core | FSM, input buffer, fixed tick, box collision, training-mode hitbox viewer | the hard *code*; small but must be exact |
| 2. Shared move library | ~30 mocap/hand-keyed clips, named vocabulary (BKB-style) | one-time cost, reused forever |
| 3. Pipeline scripts | mesh→rig→retarget→render→pose→pack, one command per character | MODELBEAST jobs |
| 4. First 2 fighters + 1 stage | proves the loop end-to-end | the real milestone |
| 5. Roster growth | new character = new mesh through the pipeline | marginal cost ≈ hours |
**Verdict: very buildable.** The genre's whole trick is that the engine is small and dumb while
the data is rich — a 1.4MB exe ran BKB2. Our advantages over 2002: free auto-hitboxing via pose
estimation, free asset generation via MODELBEAST, 60fps with no ROM limits, and a 3D source of
truth the originals never had. The two things that will make or break it are **feel** (frame
data tuning — steal MK's uniform-mechanics doctrine and modern startup timings, not BKB's) and
**identity consistency** (solved by going through 3D rather than per-frame image generation).
*Original assets only — BKB data stays as reference for formats/mechanics study, nothing ships.*

View File

@ -0,0 +1,97 @@
# FOITIN character folder spec (v1)
A character is a **self-describing folder** under `characters/`. The engine scans
`characters/*` at boot (folders starting with `_` or `.` are skipped) — dropping a
valid folder in IS shipping a character. This is the BKB per-character-folder idea
(`Data/Venus/{bik,zon,geo,me2}`) modernized: PNG/WebP frames instead of Bink video,
one JSON per move instead of the binary `BKB!ZONE/GEOM/DAT2` sidecars.
```
characters/<id>/
manifest.json identity, stats, move bindings
portrait.png select-screen / HUD portrait
moves/<move>/
data.json frame data (timing, boxes, damage, root motion)
frames/0000.png ... sprite sequence, alphabetical order
```
## Conventions
- **Timing is in 60Hz ticks.** Sprite frames are spread evenly across a move's
`total` ticks, so art frame-rate is decoupled from game logic (render at 15, 20,
30 or 60fps — the engine doesn't care).
- **Boxes are fighter-local, right-facing**: origin at the ground pivot (feet
centre), +x forward, y up. Rects are `[x, y, w, h]` (y usually negative).
The engine mirrors everything when facing left.
- Frames must share one canvas size with the ground pivot at bottom-centre
(the BKB `.geo` lesson: bake a consistent pivot or sprites jitter).
## manifest.json
```json
{
"id": "alpha",
"name": "ALPHA",
"health": 1000,
"walk_speed": 3.2,
"back_speed": 2.6,
"jump_velocity": -13.5,
"color": "#3ec6a8",
"normals": { "P": "jab", "6P": "straight", "K": "kick" },
"command_moves": [
{ "motion": [2, 3, 6], "button": "P", "move": "rush_palm" }
]
}
```
- `normals`: button → move. Optional numpad-direction prefix (`6P` = forward+P,
`2K` = crouching K). Plain button is the fallback.
- `command_moves`: checked before normals; `motion` is numpad notation
(`[2,3,6]` = quarter-circle-forward), completed within 14 ticks.
## moves/<move>/data.json
```json
{
"name": "jab",
"total": 22,
"loop": false,
"startup": 5,
"active": [6, 8],
"damage": 30,
"hitstun": 14,
"blockstun": 8,
"pushback": 7,
"knockdown": false,
"cancels": [],
"root_motion": [0, 0, 1.5, 3, 3, 1.5],
"hurtboxes": {
"default": [[-22, -305, 44, 50], [-30, -255, 60, 105], [-26, -150, 52, 150]],
"frames": { "6-8": [[-22, -305, 44, 50], [-30, -255, 90, 105], [-26, -150, 52, 150]] }
},
"hitboxes": { "6-8": [[30, -272, 78, 34]] }
}
```
- `active`: `[first, last]` tick (inclusive) the move can hit. One hit per move
execution (no multi-hit yet).
- `hitboxes` / `hurtboxes.frames`: keys are a tick or tick-range string
(`"6"`, `"6-8"`) → list of rects. `hurtboxes.default` covers unlisted ticks.
- `root_motion`: per-tick forward displacement in px, optional, truncates to 0.
- `cancels`: reserved for the cancel system (not enforced yet).
## Required move names
The FSM binds these animation names — every character must provide them:
`idle` `walk_f` `walk_b` `crouch` `jump` `block` `hit` `knockdown` `getup`
plus whatever attack moves the manifest binds. Recommended full set and budget:
see STUDY.md §2 (~30 clips).
## Where assets come from
Placeholder: `tools/gen_placeholder_char.py`. Production: the MODELBEAST
pipeline (`pipeline/README.md`) renders a rigged 3D character to frames, then
`pipeline/autohitbox.py` generates hurtboxes from pose estimation and
`pipeline/pack_character.py` assembles this folder.

View File

@ -0,0 +1,25 @@
{
"id": "alpha",
"name": "ALPHA",
"health": 1000,
"walk_speed": 3.2,
"back_speed": 2.6,
"jump_velocity": -13.5,
"color": "#3ec6a8",
"normals": {
"P": "jab",
"6P": "straight",
"K": "kick"
},
"command_moves": [
{
"motion": [
2,
3,
6
],
"button": "P",
"move": "rush_palm"
}
]
}

View File

@ -0,0 +1,26 @@
{
"name": "block",
"total": 12,
"hurtboxes": {
"default": [
[
-22,
-308,
44,
52
],
[
-30,
-256,
60,
106
],
[
-26,
-150,
52,
150
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbw5f4e0syrkx"
path="res://.godot/imported/0000.png-5c397f0c7bf006cc873ea1e3d914da75.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/block/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-5c397f0c7bf006cc873ea1e3d914da75.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cf2kaqkm8kmbi"
path="res://.godot/imported/0001.png-eb1d37493622684d7f8dcd000f0b2c14.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/block/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-eb1d37493622684d7f8dcd000f0b2c14.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfnteyla4bo84"
path="res://.godot/imported/0002.png-aca0c913d9b3495e05907d56e14abbe5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/block/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-aca0c913d9b3495e05907d56e14abbe5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6cyab5b0r0uc"
path="res://.godot/imported/0003.png-34c8afed837e8cae2827b3e1efbc4939.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/block/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-34c8afed837e8cae2827b3e1efbc4939.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -0,0 +1,14 @@
{
"name": "crouch",
"total": 12,
"hurtboxes": {
"default": [
[
-28,
-215,
56,
215
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://go36nvj4y63m"
path="res://.godot/imported/0000.png-b30942e1b7df8b722a78f1ccfefc0cb5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/crouch/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-b30942e1b7df8b722a78f1ccfefc0cb5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.2 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c86q61kqdi3ue"
path="res://.godot/imported/0001.png-1df6e19d8bd18f46be49277ff4ebce59.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/crouch/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-1df6e19d8bd18f46be49277ff4ebce59.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.1 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0qrbeevapsv5"
path="res://.godot/imported/0002.png-be9921b754fbc460f712f7dd743bce08.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/crouch/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-be9921b754fbc460f712f7dd743bce08.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.1 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bynijiqr8u58w"
path="res://.godot/imported/0003.png-fbf0a7ad884ee9f6dbabe01f404fef7c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/crouch/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-fbf0a7ad884ee9f6dbabe01f404fef7c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -0,0 +1,14 @@
{
"name": "getup",
"total": 26,
"hurtboxes": {
"default": [
[
-60,
-60,
130,
60
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cb4ldgywi16sb"
path="res://.godot/imported/0000.png-2310c1106b4e5170d312834b70d67d6e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-2310c1106b4e5170d312834b70d67d6e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.3 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1ae6rhhn4jbg"
path="res://.godot/imported/0001.png-a3b036a0afb2e222f98bbeae762ede43.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-a3b036a0afb2e222f98bbeae762ede43.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.5 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4yrng46ah1f2"
path="res://.godot/imported/0002.png-80e90e928f0ebba4e60aca43e9d0701c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-80e90e928f0ebba4e60aca43e9d0701c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.1 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b25y880ncberr"
path="res://.godot/imported/0003.png-7728ede1f49599db9508ca33057ab98f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-7728ede1f49599db9508ca33057ab98f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.4 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0tdssi1jmqg"
path="res://.godot/imported/0004.png-41941254364ff02f94ba7350405ceb17.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0004.png"
dest_files=["res://.godot/imported/0004.png-41941254364ff02f94ba7350405ceb17.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.4 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0s6gr62etct3"
path="res://.godot/imported/0005.png-dd69c9b8ce51f90ece1780c5679bd958.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0005.png"
dest_files=["res://.godot/imported/0005.png-dd69c9b8ce51f90ece1780c5679bd958.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.3 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://gpdneughpj0y"
path="res://.godot/imported/0006.png-d0c6e0bf5097d284cc92959bb6e17f7a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0006.png"
dest_files=["res://.godot/imported/0006.png-d0c6e0bf5097d284cc92959bb6e17f7a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.1 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3or88ufwqqjf"
path="res://.godot/imported/0007.png-712ee19ed1f973abe2768649f0bcfd1d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0007.png"
dest_files=["res://.godot/imported/0007.png-712ee19ed1f973abe2768649f0bcfd1d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crefgidjinpry"
path="res://.godot/imported/0008.png-424ea9c5b9a0434d904c3720b8c87b75.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/getup/frames/0008.png"
dest_files=["res://.godot/imported/0008.png-424ea9c5b9a0434d904c3720b8c87b75.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -0,0 +1,26 @@
{
"name": "hit",
"total": 16,
"hurtboxes": {
"default": [
[
-22,
-308,
44,
52
],
[
-30,
-256,
60,
106
],
[
-26,
-150,
52,
150
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcgyys5gch306"
path="res://.godot/imported/0000.png-b8b9807052e98a8ab7ab4db1629a5c11.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/hit/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-b8b9807052e98a8ab7ab4db1629a5c11.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.0 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xywp8748a0d"
path="res://.godot/imported/0001.png-7787e936b2acc54a5c4d7c252042257a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/hit/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-7787e936b2acc54a5c4d7c252042257a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.0 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://diteixq25d0nd"
path="res://.godot/imported/0002.png-1c12bf1e543d4f2b3c63cfba84cb1063.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/hit/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-1c12bf1e543d4f2b3c63cfba84cb1063.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.0 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2ny0f6c3tipd"
path="res://.godot/imported/0003.png-1cb3c14f5b1e60c977b74e2404226507.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/hit/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-1cb3c14f5b1e60c977b74e2404226507.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0me3lbhrahth"
path="res://.godot/imported/0004.png-e4eba6deee5dc8b82cd8099d901821b6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/hit/frames/0004.png"
dest_files=["res://.godot/imported/0004.png-e4eba6deee5dc8b82cd8099d901821b6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -0,0 +1,27 @@
{
"name": "idle",
"total": 48,
"loop": true,
"hurtboxes": {
"default": [
[
-22,
-308,
44,
52
],
[
-30,
-256,
60,
106
],
[
-26,
-150,
52,
150
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbg5foprm2l1w"
path="res://.godot/imported/0000.png-4dc921e5317d85779179cda800917990.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-4dc921e5317d85779179cda800917990.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djtdu4mamnyvr"
path="res://.godot/imported/0001.png-160e2c61ae1b405116f21d3b7414d6f6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-160e2c61ae1b405116f21d3b7414d6f6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dg6php61ajqmp"
path="res://.godot/imported/0002.png-76279663cf3a42bc4f0ef9af6b2a1170.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-76279663cf3a42bc4f0ef9af6b2a1170.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjbomnalquwla"
path="res://.godot/imported/0003.png-75c4af305c06ef57bcfa683d41c61402.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-75c4af305c06ef57bcfa683d41c61402.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c58j3f4ocx4bt"
path="res://.godot/imported/0004.png-2e72715b4f7722f401deeeaf5f5022d0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0004.png"
dest_files=["res://.godot/imported/0004.png-2e72715b4f7722f401deeeaf5f5022d0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjt1xdfnhmoti"
path="res://.godot/imported/0005.png-3004cd78eec8bf57412645a92fe4127a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0005.png"
dest_files=["res://.godot/imported/0005.png-3004cd78eec8bf57412645a92fe4127a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://rojhccr1cavg"
path="res://.godot/imported/0006.png-2fdba44e9621925fab604bbf831f9314.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0006.png"
dest_files=["res://.godot/imported/0006.png-2fdba44e9621925fab604bbf831f9314.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpwrx4sroei6o"
path="res://.godot/imported/0007.png-3bd7545cdef5dfa2c71c7ac097e5a565.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0007.png"
dest_files=["res://.godot/imported/0007.png-3bd7545cdef5dfa2c71c7ac097e5a565.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cn2jp8e5454vy"
path="res://.godot/imported/0008.png-3c36c1e3c612bd97f0090cb7b33c3214.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0008.png"
dest_files=["res://.godot/imported/0008.png-3c36c1e3c612bd97f0090cb7b33c3214.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://byishjulnspjt"
path="res://.godot/imported/0009.png-734df2a95c6e1d36e1dc9977ce770845.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0009.png"
dest_files=["res://.godot/imported/0009.png-734df2a95c6e1d36e1dc9977ce770845.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://blqtbj0vlw5dq"
path="res://.godot/imported/0010.png-8269a46fa6c1623703982577790c562d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0010.png"
dest_files=["res://.godot/imported/0010.png-8269a46fa6c1623703982577790c562d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ct8mv0ybd078e"
path="res://.godot/imported/0011.png-e910b421c382bc90051289f41ba2966e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0011.png"
dest_files=["res://.godot/imported/0011.png-e910b421c382bc90051289f41ba2966e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcj28n0xvudf7"
path="res://.godot/imported/0012.png-81ca844b080f2a2a32f1cd527949f03c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0012.png"
dest_files=["res://.godot/imported/0012.png-81ca844b080f2a2a32f1cd527949f03c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dlda0ng17djli"
path="res://.godot/imported/0013.png-f1ca55173e310134cd0737dd329bd824.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0013.png"
dest_files=["res://.godot/imported/0013.png-f1ca55173e310134cd0737dd329bd824.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cc123s2wo5xkd"
path="res://.godot/imported/0014.png-5aa794816bb178113fda0bf6d3575f2f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0014.png"
dest_files=["res://.godot/imported/0014.png-5aa794816bb178113fda0bf6d3575f2f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2p338h5h85kb"
path="res://.godot/imported/0015.png-bf7a2973cc003456daa882744a53e56e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/idle/frames/0015.png"
dest_files=["res://.godot/imported/0015.png-bf7a2973cc003456daa882744a53e56e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -0,0 +1,45 @@
{
"name": "jab",
"total": 22,
"startup": 5,
"active": [
6,
8
],
"damage": 30,
"hitstun": 14,
"blockstun": 8,
"pushback": 7,
"hitboxes": {
"6-8": [
[
34,
-276,
76,
32
]
]
},
"hurtboxes": {
"default": [
[
-22,
-308,
44,
52
],
[
-30,
-256,
60,
106
],
[
-26,
-150,
52,
150
]
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d12hhum6ifmcb"
path="res://.godot/imported/0000.png-19646290b8f0b67a5f4d382ebf853d32.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0000.png"
dest_files=["res://.godot/imported/0000.png-19646290b8f0b67a5f4d382ebf853d32.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.9 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgnvlf3y0gr7j"
path="res://.godot/imported/0001.png-55cd0691e19aa02dff84ed08e5cff80f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0001.png"
dest_files=["res://.godot/imported/0001.png-55cd0691e19aa02dff84ed08e5cff80f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dlw8mptba8lhi"
path="res://.godot/imported/0002.png-fb0d0a120028935cdffa5d8575afb02f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0002.png"
dest_files=["res://.godot/imported/0002.png-fb0d0a120028935cdffa5d8575afb02f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 1.8 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1iuev73kb54n"
path="res://.godot/imported/0003.png-3accd8c0fd5c20da6d0668c2cdc0d864.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0003.png"
dest_files=["res://.godot/imported/0003.png-3accd8c0fd5c20da6d0668c2cdc0d864.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.0 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctc78y06some0"
path="res://.godot/imported/0004.png-6c67651c65d654ab5d34889a6877b211.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0004.png"
dest_files=["res://.godot/imported/0004.png-6c67651c65d654ab5d34889a6877b211.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 2.0 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tcs7bf0xendc"
path="res://.godot/imported/0005.png-5c4a38811315a06d4e0dd8e33d078612.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/alpha/moves/jab/frames/0005.png"
dest_files=["res://.godot/imported/0005.png-5c4a38811315a06d4e0dd8e33d078612.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Some files were not shown because too many files have changed in this diff Show More