プチコン3号&BIGまとめWiki

投稿プログラム : ファイルをまとめて圧縮

2015年4月21日投稿 / 投稿者 : actorbug / タグ : 投稿プログラム 実用ツール actorstool

概要

プロジェクト内のファイルを、まとめて1つのファイルに圧縮します。

圧縮には、PCで一般的なZIPと同じアルゴリズム(Deflate)を使用しています。
公式のプロ生ちゃんキャラセット(約2MB)を圧縮すると、120KB(+展開用のプログラム6KB)程度になります。

用途としては以下のものを想定しています。

  1. 作品を公開する際のサイズを小さくしたい。(4MBを超えているなど)
  2. 普段使わないプロジェクトをまとめておいてプロジェクト数を減らしたい。

使い方

圧縮

  1. 圧縮したいプロジェクトで、それぞれのファイルの種類を確認しておく(確認方法は後述)
  2. 圧縮したいプロジェクトで「PACK」プログラムを実行
  3. 十字ボタン上下でカーソル移動、左右で種類を選択
  4. Aボタンで圧縮開始
  5. プロジェクト名+「.PKD」という名前のファイルが出来る

公開とダウンロード

公開

  1. 新たにプロジェクトを作って、「.PKD」ファイルと「UNPACK」プログラムをコピー
  2. この2つのファイルが入ったプロジェクトを公開

ダウンロード

  1. 公開されたプロジェクトをダウンロード
  2. 「UNPACK」プログラムを実行
  3. 書き込み確認が何度も出るので、ひたすら「はい」を押す
  4. 「.PKD」ファイルと「UNPACK」プログラムの削除確認が出るので、「はい」を押す

プロジェクトをまとめる

  1. 新たにプロジェクトを作って、「SELECT_PACK」「CLEAN_PACK」プログラムをコピー
  2. まとめたいプロジェクトを「PACK」プログラムで圧縮する。この時、ゲームの途中経過を保存するセーブファイルは圧縮しない。
  3. 「.PKD」ファイルとセーブファイルを1.のプロジェクトにコピー
  4. 使いたくなったら「SELECT_PACK」プログラムを実行し、使いたいプロジェクトを選択して展開する。
  5. 使い終わったら「CLEAN_PACK」プログラムを実行することで、展開で作成されたファイルが削除される。
    (セーブファイルは削除されないので、途中経過は消えない)

種類について

ここで言う「種類」とは、プチコンにおけるファイルの種類のことです。

種類説明アイコンリソース名
GRPグラフィックページを保存したもの山と家GRP0:~GRP5:
DAT数値配列を保存したもの四角が3x3に並んだものDAT:
PRGプログラムSLOTを保存したもの水平線が縦に並んだものなし or PRG0:~PRG3:
TXT文字列を保存したものABCTXT:
---圧縮したくない場合に選択

圧縮時にファイルの種類を正しく指定しないと、圧縮に失敗します。
最初に表示される種類は、拡張子から機械的に決められたものなので、必ず手動で正しい値を選択してください。

種類の確認方法

以下のいずれかの方法で確認できます。

  • 「作品を見る」で該当プロジェクトを開き、下中央の「DAT」ボタンを押すと表示されるアイコンで確認。
  • 保存時にファイル名の先頭に付けたリソース名で確認。
  • 「PACK」プログラムを実行してみて、Type mismatchエラーになるファイルはGRP、Illegal file formatエラーになるファイルはDAT。

公式のプロ生ちゃんキャラセット「PRONAMA」を圧縮する場合を例に説明します。

まず、「作品を見る」で「PRONAMA」プロジェクトを開き、下中央の「DAT」ボタンを押すと、下画面にこのように表示されます。

example1.jpg

左のアイコンから、CHR_PRONAMAがGRP、DEF_PRONAMAとANM_PRONAMAがDAT、PRONAMAがPRGであることがわかります。

次に「PACK」プログラムを「PRONAMA」プロジェクトにコピーして実行します。
初期状態だと、PRONAMA以外の種類がすべてGRPになっているので、
十字キーの上下左右でANM_PRONAMAとDEF_PRONAMAの種類をDATに変更します。

example2.jpg

この状態でAボタンを押せば、圧縮に成功するはずです。

注意

  • 遅いです。公式のプロ生ちゃんキャラセットの圧縮に1分強、展開に30秒強かかります(New3DS)。
  • 多次元配列を保存したDATファイルを圧縮することはできません。
  • データによっては圧縮できずに、かえってサイズが増える場合があります。
  • 「PACK」「UNPACK」という名前のプログラム、「PACKFILE」という名前のデータファイル、「@BACKUP.」で始まるファイル、「.PKD」で終わるデータファイルは圧縮できません。
  • まとめたプロジェクトで同じ名前のファイルが使われていると誤動作します。

修正履歴

  • 2015/04/23 (木) 22:02:22 圧縮側で圧縮率を下げて少し高速化。展開側を少し高速化。拡張子「.DAT」はDATを「.TXT」はTXTを初期値とする。
  • 2015/04/26 (日) 08:38:43 プロジェクトをまとめる機能の追加。圧縮ファイル名を「.PKD」に変更。バイナリファイルのデフォルトをDATに。圧縮前後の比率を表示。
  • 2015/05/10 (日) 06:21:38 日本語表記に変更。枠の高さ自動調整。バイナリファイルのデフォルトををGRPに。デフォルトをDATに戻す場合は、24行目の「PUSH T,3」を「PUSH T,4」に変更してください。

公開キー

プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。

プチコン3号/BIG 公開キー
74N3F3D4

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • 投稿者 : Deflateを実装しただけで満足してしまったので、もう圧縮アルゴリズムの開発はしない予定です。すみません。 (2015/04/23 (木) 21:29:26)
  • 天郷思音 : うわあさすがパソコンで使われる方法だけあって圧縮がよく効くなぁ自分のを開発する気が失せた(自分のは1/2-1/3くらい) (2015/04/26 (日) 11:20:13)
  • BLACK787 : 凄い有用できる (2015/04/26 (日) 16:22:42)
  • 投稿者 : >>天郷思音さん 概要の数字を見てそう思ったのならすみません。あれはたまたまうまく行った場合の話です。この圧縮形式が苦手としているテキストファイルが対象だと、1/2すら行かない場合もあります。 (2015/04/26 (日) 17:40:32)
  • iwasaki : 開発中のgrp-png変換プログラムに組み込んで公開したいのですがよろしいですか?deflateenc$などいくつかの関数をcommon defに修正すると思います。 (2015/04/27 (月) 13:56:57)
  • 天郷思音 : ほう、私の書いた結果もそれなり良好な場合で、いろいろ漢字とか使いまくると悪くなります。 (2015/04/27 (月) 14:43:06)
  • 投稿者 : >>iwasakiさん 好きに使っていただいてかまいません。 (2015/04/27 (月) 21:38:07)
  • iwasaki : ありがとうございます! (2015/04/27 (月) 22:31:33)
  • iwasaki : おかげさまでGRP画像変換ツール集にPNGサポートを追加できました。ありがとうございました。公開キー:RAV423C4 (2015/05/02 (土) 18:09:04)
  • iwasaki : ところでzip形式に対応する予定はありますか?PC間でzipファイルをやりとりできたら便利かなぁと。 (2015/05/02 (土) 18:30:41)
  • 投稿者 : 今のところ予定はありません。PCとデータをやりとりする環境を作っておらず、検証ができないためです。 (2015/05/02 (土) 19:02:27)
  • iwasaki : 了解です。GWの宿題として改造してみます!うまくいったら取り込んでもらえたら嬉しいです。 (2015/05/02 (土) 19:26:11)
  • BLACK787 : 使用させて頂きます。あと、このサイトに、リンクをはらせて頂きます。 (2015/05/03 (日) 19:02:10)
  • BLACK787 : ↑↑訂正 このサイトのリンクを張らせてもらいます。 (2015/05/03 (日) 19:11:08)
  • iwasaki : zipアーカイバですがBETA公開できるところまできました。RBKXNNAEです。これにpack/unpackのUIを追加するつもりです。 (2015/05/05 (火) 13:13:37)
  • iwasaki : PACKにPZIPを組み込みました。公開キーはPBN3EWQEです。PACK.PRGという名称です。よろしければ取り込んでください。UNPACKについては良い考えが浮かばなかったので、PUNZIPで解凍ということになります。 (2015/05/09 (土) 02:20:33)
  • 投稿者 : せっかく作っていただいたのに申し訳ないのですが、解凍プログラムが複数あると混乱を招くおそれがあるので、同梱は見送らせていただきます。こちらに組み込むよりは、PCとデータをやりとりするプログラムに直接組み込んだほうが、使い勝手は良さそうです。 (2015/05/09 (土) 04:20:37)
  • iwasaki : そうですよね、了解です。 (2015/05/09 (土) 11:32:14)
  • スムージー : すごい!つかわせていただきます( ̄^ ̄)ゞ (2015/08/01 (土) 10:23:32)
  • 名無し : Toukou/東方崩結録のほうにこれをつかわせていただきました ありがとうございます (2015/11/11 (水) 13:51:55)
  • hagetixyan719 : ↑自分も同じく使わさせて頂きました。もしかして3のを圧縮したのって… (2015/11/19 (木) 01:38:00)
  • 名無しさん : 2次元配列が圧縮できない… (2016/02/20 (土) 18:16:11)
  • Newきゃらくたぁ製作所 : 同じ名前のファイル(TXTとDAT)があった場合はどっちをどっちに指定してもエラー起きたりしませんか?あ、Toukou/MKsoft CHAOSで使わせていただこうと思っています。 (2016/05/23 (月) 20:12:56)
  • : 【PACK】というファイルで圧縮して、出来たとおもったら21行目でエラー。 (2016/07/05 (火) 17:00:37)
  • Knowledge : 参考にして宜しいでしょうか?高度なツールの制作を頑張ってみたいのです。 (2019/04/30 (火) 23:12:01)

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 1 人がこのサイトを見ています
  • このページはこれまでに 3087 回、本日は 1 回、昨日は 0 回閲覧されました

ページの先頭に戻る

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.162 秒 | このページの最終更新 : 2022/09/20 (火) 12:51:34 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30