Skip to content

замена ванильного РПС сб#1054

Open
peperH wants to merge 1 commit into
space-sunrise:masterfrom
peperH:sb
Open

замена ванильного РПС сб#1054
peperH wants to merge 1 commit into
space-sunrise:masterfrom
peperH:sb

Conversation

@peperH

@peperH peperH commented Jun 11, 2026

Copy link
Copy Markdown

замена спрайта, спрайт одобрен мордастом

Краткое описание | Short description

респрайт ВАНИЛЬНОГО РПС, того что лежит в ящиках и выдается в автоматах

замена спрайта, спрайт одобрен мордастом
@peperH peperH requested a review from WardexOfficial as a code owner June 11, 2026 11:16
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (4)
  • Resources/Textures/Clothing/Belt/securitywebbing.rsi/equipped-BELT.png is excluded by !**/*.png
  • Resources/Textures/Clothing/Belt/securitywebbing.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/Clothing/Belt/securitywebbing.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/Clothing/Belt/securitywebbing.rsi/inhand-right.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c3e378af-c6a4-4ff3-a809-e391f3036d94

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

RSI Diff Bot; head commit 0386d5e merging into 0ce6a7f
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Clothing/Belt/securitywebbing.rsi

State Old New Status
equipped-BELT Modified
icon Modified
inhand-left Modified
inhand-right Modified

@WardexOfficial

Copy link
Copy Markdown
Collaborator

Кто тебе помогал делать ПР?

@RJD1TOP1

Copy link
Copy Markdown
Contributor

Кто тебе помогал делать ПР?

Я

@RJD1TOP1

Copy link
Copy Markdown
Contributor

Он ещё не научился писать в гите

@RJD1TOP1

Copy link
Copy Markdown
Contributor

@CodeRabbit есть ли ошибки в данном ПРе?

@RJD1TOP1

Copy link
Copy Markdown
Contributor

@CodeRabbit Заяц где ответ?

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get PR details and changed files
gh pr view 1054 --repo space-sunrise/project-fire --json title,body,files,state,reviews,checks

echo "---FILES---"
gh pr diff 1054 --repo space-sunrise/project-fire --name-only

Length of output: 1220


🏁 Script executed:

#!/bin/bash
# Check the meta.json for the RSI
cat Resources/Textures/Clothing/Belt/securitywebbing.rsi/meta.json

echo "---IMAGE INFO---"
# Check image dimensions of the changed files
for f in Resources/Textures/Clothing/Belt/securitywebbing.rsi/*.png; do
  echo "$f:"
  python3 -c "
from PIL import Image
img = Image.open('$f')
print('  size:', img.size, 'mode:', img.mode)
" 2>/dev/null || identify "$f" 2>/dev/null || file "$f"
done

Length of output: 1641


🏁 Script executed:

#!/bin/bash
# Read PNG dimensions using Python struct (no PIL needed)
python3 << 'EOF'
import struct, zlib, os

def get_png_size(path):
    with open(path, 'rb') as f:
        sig = f.read(8)
        if sig != b'\x89PNG\r\n\x1a\n':
            return None, None
        f.read(4)  # length
        chunk_type = f.read(4)
        if chunk_type != b'IHDR':
            return None, None
        w = struct.unpack('>I', f.read(4))[0]
        h = struct.unpack('>I', f.read(4))[0]
        return w, h

base = "Resources/Textures/Clothing/Belt/securitywebbing.rsi"
for fname in ["icon.png", "equipped-BELT.png", "inhand-left.png", "inhand-right.png"]:
    path = os.path.join(base, fname)
    w, h = get_png_size(path)
    print(f"{fname}: {w}x{h}")
EOF

Length of output: 881


🏁 Script executed:

#!/bin/bash
# Check another belt RSI with 4-direction states for comparison
python3 << 'EOF'
import struct, os, json

def get_png_size(path):
    try:
        with open(path, 'rb') as f:
            sig = f.read(8)
            if sig != b'\x89PNG\r\n\x1a\n':
                return None, None
            f.read(4)
            chunk_type = f.read(4)
            if chunk_type != b'IHDR':
                return None, None
            w = struct.unpack('>I', f.read(4))[0]
            h = struct.unpack('>I', f.read(4))[0]
            return w, h
    except:
        return None, None

# Check a few other belt RSIs for comparison
belt_dir = "Resources/Textures/Clothing/Belt"
count = 0
for rsi_name in os.listdir(belt_dir):
    rsi_path = os.path.join(belt_dir, rsi_name)
    meta_path = os.path.join(rsi_path, "meta.json")
    if not os.path.isfile(meta_path):
        continue
    with open(meta_path) as f:
        meta = json.load(f)
    # Check if it has 4-direction states
    has_4dir = any(s.get('directions') == 4 for s in meta.get('states', []))
    if has_4dir:
        print(f"\n=== {rsi_name} ===")
        for fname in os.listdir(rsi_path):
            if fname.endswith('.png'):
                w, h = get_png_size(os.path.join(rsi_path, fname))
                print(f"  {fname}: {w}x{h}")
        count += 1
    if count >= 3:
        break
EOF

Length of output: 3202



@RJD1TOP1 Я проверил ПР — технических ошибок нет:

  • ✅ Все 4 состояния из meta.json имеют соответствующие PNG-файлы (icon, equipped-BELT, inhand-left, inhand-right)
  • ✅ Размеры спрайтов корректны: icon.png — 32×32, остальные (4 направления) — 64×64, что соответствует другим RSI в проекте
  • ✅ Структура RSI не нарушена

⚠️ Единственное замечание: meta.json не был обновлён — поле copyright всё ещё ссылается на tgstation и @mureixlol. Рекомендую добавить себя как автора нового спрайта, например:

"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, tweak by `@mureixlol`, resprite by `@RJD1TOP1`"

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get PR details and files changed
gh pr view 1054 --repo space-sunrise/project-fire --json title,body,files,state,additions,deletions

echo "---FILES CHANGED---"
gh pr diff 1054 --repo space-sunrise/project-fire --name-only

Length of output: 1549


🏁 Script executed:

#!/bin/bash
# Check if meta.json exists in the RSI dir and if there's a changelog entry
fd "meta.json" Resources/Textures/Clothing/Belt/securitywebbing.rsi/

# Check for changelog files in the PR
gh pr diff 1054 --repo space-sunrise/project-fire | grep -i "changelog\|yml\|yaml" || echo "No changelog files found"

# List all files in that RSI directory
ls Resources/Textures/Clothing/Belt/securitywebbing.rsi/ 2>/dev/null || echo "Directory not found in local checkout"

# Check if there's a changelog requirement in CONTRIBUTING or similar
fd "CONTRIBUTING" --max-depth 2

Length of output: 792


🏁 Script executed:

#!/bin/bash
# Check CONTRIBUTING.md for changelog requirements
cat CONTRIBUTING.md | head -100

echo "---META.JSON---"
cat Resources/Textures/Clothing/Belt/securitywebbing.rsi/meta.json

Length of output: 1475



@RJD1TOP1 Вот ответ! Критических ошибок в PR нет, но есть пара замечаний:

  1. Авторские права в meta.json не обновлены — сейчас там указано:

    "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, tweak by `@mureixlol`"

    Поскольку спрайты заменены новыми, нужно обновить поле copyright, добавив автора нового спрайта. Например:

    "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, tweak by `@mureixlol`, resprite by `@RJD1TOP1`"
  2. Отсутствует запись в changelog — в PR нет файла с описанием изменений. Уточни у мейнтейнеров, обязателен ли он для чисто спрайтовых изменений.

В остальном всё в порядке: все 4 состояния спрайта (icon, equipped-BELT, inhand-left, inhand-right) присутствуют и соответствуют meta.json. 🐇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants