SLADE とは

SLADE とは Simon Judd 氏の手がけるレベルエディタです。最新版 3.0 ではレベルエディタと同氏の手がけた SLumpEd という lump マネージャを統合する予定で、完成すれば現状唯一の統合開発環境となるでしょう。
SLADE は、バージョン 1.0 リリース後、フルスクラッチの末の改良バージョン 2.0 beta 1 をリリースしましたが、その後長きにわたり開発が凍結状態でした。しかし 2010 年 3 月、バージョン 3.0 がめでたく開発再開されました。
現在、最新版 3.0 はレベルエディタとしての機能はありません。Lump マネージャの機能搭載に注力しており、今後のバージョンアップでレベルエディタを再び実装する事が予定されています。このため、現在 SLADE でレベルマップを作成する場合、2.0 を使う必要があります。
尚 2.0、3.0は GUI フレームワークに wxWidgets を採用しており、Makefile が提供されていますので Linux 環境などでもコンパイル可能です。
- SLADE - It's a Doom editor (公式サイト)
- SLADE3 beta (testing release, beta5 up) (ZDoom Forum 内の活発な SLADE 3 スレッド)
- SLADE Wiki
ページ項目
SLADE 3.0
主な機能
- WAD, PK3, DAT, LIB, RES といった多様な WAD 形式ファイルに対応
- 一般的 DOOM 形式の lump データに加え、30 種以上のデータ形式のインポート・エクスポートに対応
- Lump データの基本編集機能に加え、バッチ処理による一括リネームに対応
- グラフィック系 lump データの表示・編集に対応
- フォント系 lump データの表示に対応
- テクスチャ系 lump データの表示・編集に対応
- その他テキスト系 lump データの表示・編集に対応
- その他バイナリ系 lump データの HEX 表示に対応
ロードマップ
- 3.0.0
- SLumpEd 相当の lump マネージャ機能実装
- 3.1.0
- 3.1.1
- Lump マネージャ機能の拡張
- 3.2.0
- プロジェクトシステムの実装
3.0 のビルド
Subversion リポジトリからソースコードを取得する場合は下記より:
http://mancubus.net/svn/hosted/slade/trunk/
コンパイルには以下ライブラリが導入されている必要があります:
- GCC (GNU C++ compiler)
- MesaLib (UNIX 系環境の場合)
- wxWidgets 2.9.1 (Ubuntu 11.04 の場合は 2.9.2 以上)
- FreeImage
- SFML
- FluidSynth
wxWidgets のコンパイルは OpenGL ライブラリを有効にしてコンパイルして下さい。UNIX 系 OS の場合は --with-gtk で、Mac OS X の場合は --with-cocoa と環境に合わせて GUI フレームワークを選択します:
./configure --with-gtk --with-opengl make make install
CodeLite を使用したビルド
CodeLite はオープンソース・クロスプラットフォームな C++ 用 IDE です。Ubuntu でしたらリポジトリからインストールも可能です。
- CodeLite IDE を起動します。
- メニューバーより Workspace ⇒ Switch to Workspace... を選択します。
- SLADE ディレクトリ内の SLADE.workspace を選択し開きます (シムリンクだとコンパイルエラーになる場合があるので注意)。
- 画面左上の Release という項目を必要に応じて変更します (Mac OS X の場合は Release-osx に変更)。
- メニューバーより Build ⇒ Build Project を選択し、コンパイルを開始します。必要であれば事前に Clean Project を実行しておきます。
- コンパイル完了後 Build ⇒ Run で SLADE が起動できます。
Makefile を使用したビルド
現在、Makefile を使用したビルドのメンテナンスが止まっているようです。恐らく上手くいかないので、CodeLite を使用しましょう。
SLADE 3.0 のコンパイルはソースコード展開先のディレクトリで make を実行するだけです:
make ./dist/slade
3.0 は以上の作業で、Windows 環境と同じように使用可能になります。
SLADE 2.0
深刻なバグ
作業データを失う可能性のあるバグ、気づきにくく後から取り返しがつかなくなる可能性のあるバグなど、深刻なバグを掲載します。尚、全て不確定情報です。SLADE ユーザからの訂正・追記希望です。
- 3D モードで視点を垂直にすると SLADE がクラッシュする。
- Create Stairs を実行すると、無関係の sectors 情報がおかしくなる場合がある (不確定)。
- Light Gradient においても同上か (不確定)。
ショートカットキー一覧
SLADE 2.0 はショートカットキーのみしかアクセス手段がない機能が多い。
Controls | Binding(s) | 機能 | GUI |
file_save | Ctrl+S | ファイルの保存 | ○ |
file_run | Ctrl+R | テストプレイの実行 | ○ |
view_up | ↑ | エディタ画面の上方向スクロール | × |
view_down | ↓ | エディタ画面の下方向スクロール | × |
view_left | ← | エディタ画面の左方向スクロール | × |
view_right | → | エディタ画面の右方向スクロール | × |
view_zoomin | + | エディタ画面のズームイン | × |
view_zoomout | - | エディタ画面のズームアウト | × |
view_origin | O | エディタ画面のズームリセット | × |
view_increasegrid | [ | エディタ画面のグリッド拡大 | × |
view_decreasegrid | ] | エディタ画面のグリッド縮小 | × |
view_3dmode | Q | 3D モードの開始/終了 | △ |
view_contextmenu | Mouse3 | 3D モードでコンテキストメニュー表示 | × |
view_mousecenter | Ctrl+Mouse3 | × | |
view_panmap | Mouse2 | × | |
view_hidesidebar | F1 | × | |
view_drawsidebar | F2 | × | |
view_viewthemesidebar | F3 | × | |
mode_vertices | V | ||
mode_linedefs | L | ||
mode_sectors | S | ||
mode_things | T | ||
mode_change | Tab | ||
edit_lockhilight | H | ||
edit_clearselection | C | ||
edit_edititem | Return | ||
edit_createitem | Insert | ||
edit_createitem2 | Insert | ||
edit_deleteitem | Delete | ||
edit_moveitems | Mouse3 | ||
edit_selectitem | Mouse1 | ||
edit_selectbox | Mouse1 | ||
edit_undo | Z | ||
edit_gridsnap | G | ||
edit_createsector | X | ||
line_flip | F | ||
line_swapsides | F | ||
line_flipboth | F | ||
line_begindraw | Space | ||
line_begindraw_rect | Space | ||
line_correctrefs | R | ||
line_split | S | ||
ldraw_drawpoint | Mouse1 | ||
ldraw_cancelpoint | Mouse3 | ||
ldraw_nearestvert | Mouse2 | ||
sector_upfloor8 | . | ||
sector_downfloor8 | , | ||
sector_upceil8 | . | ||
sector_downceil8 | , | ||
sector_upfloor | . | ||
sector_downfloor | , | ||
sector_upceil | . | ||
sector_downceil | , | ||
sector_upboth8 | . | ||
sector_downboth8 | , | ||
sector_upboth | . | ||
sector_downboth | , | ||
sector_copyprops | C | ||
sector_pasteprops | V | ||
sector_uplight | ' | ||
sector_downlight | ; | ||
sector_merge | J | ||
sector_join | J | ||
thing_quickangle | Mouse2 | ||
copy | C | ||
paste | V | ||
cancel_paste | Escape | ||
3d_exit | Q | ||
3d_forward | W | ||
3d_back | S | ||
3d_strafeleft | A | ||
3d_straferight | D | ||
3d_left | Left | ||
3d_right | Right | ||
3d_moveup | Home | ||
3d_movedown | End | ||
3d_toggle_gravity | G | ||
3d_toggle_fullbright | B | ||
3d_toggle_fog | F | ||
3d_toggle_hilight | H | ||
3d_toggle_things | T | ||
3d_toggle_sky | S | ||
3d_upceil8 | Numpad Add 0 MWheel Up 0 | ||
3d_downceil8 | Numpad Subtract 0 MWheel Down 0 | ||
3d_upceil | Numpad Add 2 MWheel Up 2 | ||
3d_downceil | Numpad Subtract 2 MWheel Down 2 | ||
3d_upfloor8 | Numpad Add 1 MWheel Up 1 | ||
3d_downfloor8 | Numpad Subtract 1 MWheel Down 1 | ||
3d_upfloor | Numpad Add 3 MWheel Up 3 | ||
3d_downfloor | Numpad Subtract 3 MWheel Down 3 | ||
3d_upboth8 | Numpad Add 4 MWheel Up 4 | ||
3d_downboth8 | Numpad Subtract 4 MWheel Down 4 | ||
3d_upboth | Numpad Add 6 MWheel Up 6 | ||
3d_downboth | Numpad Subtract 6 MWheel Down 6 | ||
3d_upyoffset | Numpad 8 | ||
3d_downyoffset | Numpad 2 | ||
3d_upxoffset | Numpad 4 | ||
3d_downxoffset | Numpad 6 | ||
3d_upyoffset8 | Numpad 8 | ||
3d_downyoffset8 | Numpad 2 | ||
3d_upxoffset8 | Numpad 4 | ||
3d_downxoffset8 | Numpad 6 | ||
3d_lowerunpegged | L | ||
3d_upperunpegged | U | ||
3d_uplightlevel | + | ||
3d_downlightlevel | - | ||
3d_uplightlevel1 | + | ||
3d_downlightlevel1 | - | ||
3d_upthingangle | Numpad 4 | ||
3d_downthingangle | Numpad 6 | ||
3d_upthingz8 | Numpad 8 | ||
3d_downthingz8 | Numpad 2 | ||
3d_upthingz | Numpad 8 | ||
3d_downthingz | Numpad 2 | ||
3d_align_tex_x | A | ||
3d_reset_offsets | R | ||
3d_reset_xoffset | R | ||
3d_reset_yoffset | R | ||
3d_change_texture | Mouse1 | ||
3d_change_tex_paint | Mouse1 | ||
3d_copy_texture | Mouse2 | ||
3d_paste_texture | Mouse3 | ||
3d_paste_paint | Mouse3 | ||
3d_copy_side | C | ||
3d_paste_side | V | ||
3d_copy_offsets | C | ||
3d_paste_offsets | V | ||
3d_copy_xoffset | C | ||
3d_paste_xoffset | V | ||
3d_copy_yoffset | C | ||
3d_paste_yoffset | V | ||
open_console | ~ |
執筆中...
2.0 のビルド
2.0 beta のソースコードを入手します。Subversion から取得する際は、以下のアドレスになります:
http://mancubus.net/svn/hosted/slade/tags/slade_20_beta/
コンパイルには以下ライブラリが導入されている必要があります:
- GCC (GNU C++ compiler)
- MesaLib (libgl1-mesa-dev libglu1-mesa-dev)
- wxWidgets-2.8.11 (基本的に wx2.8 系なら OK ただし Ubuntu はこれ未満のバージョンだとコンパイルエラーになる模様)
wxWidgets は OpenGL ライブラリを有効にしてコンパイルして下さい:
./configure --with-gtk --with-opengl make make install
あとは SLADE 2.0 のソースコード解凍先のディレクトリでコンパイルすればバイナリが生成されます:
make cp ./slade /path/to/install/ cp ./data_files/ /path/to/install/
試してみたところ、amd64 アーキテクチャ環境下でコンパイルすると、起動は問題ないのですが WAD を読み込むか新規作成をしようとすると "Segmentation fault" とエラーログを残して強制終了してしまいます。i386 アーキテクチャ環境下では問題ないようなので、64 bit 環境下でコンパイルする場合は、32 bit アプリケーションとしてコンパイルした方が良さそうです。
添付ファイル