投稿者 スレッド: AlephOneコンパイルスレ  (参照数 6267 回)

0 メンバーさんと、1 ゲストさんが、このスレッドを見ています。

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
AlephOneコンパイルスレ
« 投稿日:: 2006年09月30日 23時35分55秒 »
AlephOneをコンパイルできるまでがんばるスレ。

CVSブラウザ(最新のソースをダウンロードするのに必要):
TortoiseCVS
TortoiseCVS日本語化

SVN(Subversion)ブラウザ(CVSの亜種。SDLなどはこちらを使用している)
TortoiseSVN
TortoiseSVN日本語化

開発環境:
Visual C++ 2005 Express
Microsoft Platform SDK
« 最終編集: 2007年03月07日 02時13分42秒 by Logue »
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
Re:AlephOneコンパイルスレ
« 返信する #1 投稿日:: 2006年09月30日 23時36分17秒 »
SDK:
DirectX SDK - August 2006

OpenGL SDK
めんどいから、Nvidiaの統合SDK。こっちの方がバージョン新しいみたいだし。

ライブラリ:
SDL
svn://libsdl.org/branches/SDL-1.2

SDL_image
svn://libsdl.org/trunk/SDL_image

SDL_sound
svn://svn.icculus.org/SDL_sound/trunk/

smpeg
cvs -d:pserver:anonymous@cvs.icculus.org:/cvs/cvsroot login

boost
cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost login

STL_port

つっこみどころ、わかったことがあったら投稿よろしく。
« 最終編集: 2006年09月30日 23時45分13秒 by Logue »
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
Re:AlephOneコンパイルスレ
« 返信する #2 投稿日:: 2006年10月01日 00時26分37秒 »
素人目から見たソースのトラッキング:文字描画編
・ターミナルテキストの描画は、screen_drawing_sdl.cppのdraw_textのサブルーチンで行われているようだ。
これは、OpenGL、ソフトウェア描画関係ないようだ。

・Fontファイルの読み込みは、sdl_fonts.cppのinitialize_fontsでハードコーディングされている。
SDL_kanjiなどを噛ます場合は、この辺を改良すれば良いと思われ。
少なくとも、日本語を含むターミナルテキストを読み取った時点で、文字化けする以外の不具合は生じないため、単純にそちらのコードに誘導すればいいと思う。

saiten氏作成のAlephOne_jで、全てのフォントが変化したのはこれが原因だと思う。

なお、MacOSの場合SDLを使わずに描画している模様。このため影響を受けずに日本語表記が可能と思われる。

日本語表示 KanjiSampleが参考になる?

できればOsaka―等幅フォントにしたい今日この頃。いや、等幅明朝体の方が適切か。
« 最終編集: 2006年10月01日 00時29分21秒 by Logue »
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • プロフィールを見る
    • Durandal-Another
Re:AlephOneコンパイルスレ
« 返信する #3 投稿日:: 2006年10月08日 15時45分54秒 »
>エラー   2291   error C4716: 'XML_LSCommandParser::Start' : 値を返さなければいけません   alephone-20060701src\source_files\xml\xml_levelscript.cpp   544

return true;
などを入れる

>エラー   1861   error C2668: 'log' : オーバーロード関数の呼び出しを解決することができません。alephone-20060701src\source_files\rendermain\imageloader_shared.cpp   467

log2のdefineをlog((double)x)/log(2.0)とする

>エラー   1477   error C2589: '(' : スコープ解決演算子 (::) の右側にあるトークンは使えません。alephone-20060701src\source_files\network\network_star_hub.cpp   638

std::maxをmaxにする

>エラー   1415   fatal error C1083: include ファイルを開けません。'network_microphone_shared.h': No such file or directory alephone-20060701src\source_files\network\network_microphone_sdl_win32.cpp   45

CVSから取得

>エラー   1343   error C2065: 'NUMBER_OF_TEAM_COLORS' : 定義されていない識別子です。alephone-20060701src\source_files\network\network_games.h   33

#include "player.h"
を入れる

>エラー   1046   fatal error C1083: include ファイルを開けません。'pthread.h': No such file or directory   alephone-20060701src\source_files\misc\thread_priority_sdl_posix.cpp   18

意味不明

>エラー   585   error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません   alephone-20060701src\source_files\misc\preference_dialogs_nibs.cpp   81

原因はAutoNibReferenceなど。Nibs系統?Widgetsの一種のようですがわかんないです。

>alephone-20060701src\source_files\files\filehandler_sdl.cpp(390) : error C3861: 'strcasecmp': 識別子が見つかりませんでした

拾ってきた
 /*
  * Copyright (c) 1991-2006 Kawahara Lab., Kyoto University
  * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
  * Copyright (c) 2005-2006 Julius project team, Nagoya Institute of Technology, Nagoya Institute of Technology
  * All rights reserved
  */
int strcasecmp(const char *s1, const char *s2){
    return strcasecmp((char*)s1, (char*)s2);
}
 int
 strcasecmp(char *s1, char *s2)
 {
   int c1, c2;
 
   do {
     c1 = (*s1 >= 'a' && *s1 <= 'z') ? *s1 - 040 : *s1;
     c2 = (*s2 >= 'a' && *s2 <= 'z') ? *s2 - 040 : *s2;
     if (c1 != c2) break;
   }  while (*(s1++) && *(s2++));
   return(c1 - c2);
 }
 
 int
 strncasecmp(char *s1, char *s2, size_t n)
 {
   int c1, c2;
   do {
     c1 = (*s1 >= 'a' && *s1 <= 'z') ? *s1 - 040 : *s1;
     c2 = (*s2 >= 'a' && *s2 <= 'z') ? *s2 - 040 : *s2;
     if (c1 != c2) break;
   }  while (*(s1++) && *(s2++) && (--n));
   return(c1 - c2);
 }
これを__WIN32__で囲まれた部分に入れる

なんで一発でコンパイルできないのかなぁ…
ここまででエラーがまだ181は出てきました。winsockあたりのエラーとかも気になります。

引用
できればOsaka―等幅フォントにしたい今日この頃。いや、等幅明朝体の方が適切か。
OsakaがSDL_kanjiで使える形式だったかどうか疑問です。

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
Re:AlephOneコンパイルスレ
« 返信する #4 投稿日:: 2006年10月24日 18時40分29秒 »
MMLで使われているXMLパーサーのExpatは、これを使うことでShift_JISで使えそう。
http://yebisuya.dip.jp/Software/expatJP/

以前に、MMLで数値参照かけて日本語を表示できないかと試してみたが、ダメだった。ただ、ここでExpatでShift_JISを認識できるようにすれば、問題ないと思う。

あとはLua関連でどういう処理やってるかだなぁ・・・。
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • プロフィールを見る
    • Durandal-Another
Re:AlephOneコンパイルスレ
« 返信する #5 投稿日:: 2007年01月31日 15時30分02秒 »
to All

HogePiyoです。

素のAlephOneのビルドに成功しました。

詳細は開発環境のページに書きました
http://mjolnir.logue.tk/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E6%95%B4%E3%81%88%E3%82%8B.html

また、CVSにすぐビルドできる状態のファイル群をアップする予定です。

HogePiyoのPCには現在VisualStudio2005しか入っていないので、VC2003、VC6の人はプロジェクトファイルが使えないと思います。VC2003,VC6が入ったら別途作ろうと思ってます。

実行ファイルもあります。ただしVC2005を持っていないと動かないのと、起動ができても遊ぶことができないことに注意してください。何かメモリエラーか例外が出て落ちると思います。

原因がわからず調査中です。stlportを使ってないあたりが怪しいかも。

#ところでSDL_soundは無くてもビルドできちゃったりしました。

-------------
23:35 追記
CVSへのアップ完了しました。チェックアウト&ビルドはまだ確認してません
« 最終編集: 2007年01月31日 23時36分15秒 by HogePiyo »

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • プロフィールを見る
    • Durandal-Another
Re:AlephOneコンパイルスレ
« 返信する #6 投稿日:: 2007年02月01日 13時02分21秒 »
AlephOneですが、STLportを導入したことで一応シナリオをスタートさせることはできました。
しかしテクスチャなどShapes成分が全然描かれないという状態です。

原因を解析中です...

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • プロフィールを見る
    • Durandal-Another
Re:AlephOneコンパイルスレ
« 返信する #7 投稿日:: 2007年02月05日 22時14分49秒 »
STLportを導入する前に改変した場所を元に戻したところ、エラーはなくなり普通に遊べるようになりました。

ビルドに成功したと書きましたが、あれは20061228のソースの話でした。
CVSにはすでにaleph.slnというプロジェクトファイルがあるので、
そちらを利用できるようにしようと考えています。
« 最終編集: 2007年02月05日 22時28分22秒 by HogePiyo »

オフライン pfhore

  • 初心者
  • *
  • 投稿: 7
  • 性別: 男性
    • プロフィールを見る
Re:AlephOneコンパイルスレ
« 返信する #8 投稿日:: 2007年03月06日 15時18分08秒 »
2chで言われたのでこっちに投稿

自分の環境(OSX 10.4 @ iBookG4)でのAlephOne-JのSS

文字幅の計算がおかしい :-[

これさえ何とかできればいいのだが

(メモリーリークで長時間プレイしてるとメモリ不足で落ちてた、
今は修正済みのはず。

オフライン pfhore

  • 初心者
  • *
  • 投稿: 7
  • 性別: 男性
    • プロフィールを見る
Re:AlephOneコンパイルスレ
« 返信する #9 投稿日:: 2007年03月12日 14時40分51秒 »
Windows(VC2005 @Win2000)でも実行できるようになった

これはそのSS

ちなみにM1A1。hogepiyo氏のプロジェクトファイルがベース

置き換える.hファイルはあらかじめリネームしておく。そうしないと古いファイルが
使われてしまい正しく動作しない。

多分この五つ
FontHandler.h    
computer_interface_sdl.h    
screen_drawing.h    
screen_drawing_sdl.h 
sdl_fonts.h

それでソースツリーにこのファイルを入れるかインクルードディレクトリに
これらのファイルがあるディレクトリをセットしてビルド

MMLで日本語を使うときはそのファイルの先頭
コード: [選択]
<?xml version="1.0" encoding="shift_jis" ?>(Shift-Jisのとき)
を追加しておく


オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • プロフィールを見る
    • Durandal-Another
Re:AlephOneコンパイルスレ
« 返信する #10 投稿日:: 2007年03月14日 16時54分28秒 »
Windows(VC2005 @Win2000)でも実行できるようになった

ちなみにM1A1。hogepiyo氏のプロジェクトファイルがベース

置き換える.hファイルはあらかじめリネームしておく。そうしないと古いファイルが
使われてしまい正しく動作しない。

多分この五つ
FontHandler.h    
computer_interface_sdl.h    
screen_drawing.h    
screen_drawing_sdl.h 
sdl_fonts.h

おお、すばらしいです :D
上手くいくようなら本家のソースコードに適用したいですね。

ただ、現在のCVSから得たVC7用プロジェクトファイルだと問題があるようなので、修正する必要があると思います。

オフライン pfhore

  • 初心者
  • *
  • 投稿: 7
  • 性別: 男性
    • プロフィールを見る
Re:AlephOneコンパイルスレ
« 返信する #11 投稿日:: 2007年03月26日 17時57分41秒 »
現状のまとめ

  • ライブラリが足りない/ビルド時の設定で有効になっていない
    SDL_image,SDL_netが無効、SDL_soundもかなり怪しい
  • 2度目以降のプレイでのテクスチャの挙動がおかしい
    (一応修正してみたが再現性が微妙で直ったかがよくわからない)
  • 文字幅計算が間違ってる
    (ターミナルは無理矢理幅を狭くして切れないようにしてる。HUDははみ出る。)
  • ターミナル以外では日本語文字の途中で行送りできない
    (改行の処理がちょっと難しいのでいろいろいじってみたが放置中)
ほかにバグがあったら言ってくれ。次のビルドではSDL_net有効とテクスチャ問題の仮修正版になる予定だがテクスチャ問題は結構根が深い...

オフライン pfhore

  • 初心者
  • *
  • 投稿: 7
  • 性別: 男性
    • プロフィールを見る
Re:AlephOneコンパイルスレ
« 返信する #12 投稿日:: 2009年05月24日 14時42分13秒 »
2chがybbアク禁状態なのでここをAO-JPのバグ報告&要望受付場所として借ります。


オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
« 最終編集: 2009年05月27日 22時13分03秒 by Logue »
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 502
  • 性別: 男性
    • ICQメッセンジャー - 126801584
    • MSNメッセンジャー - logue@hotmail.co.jp
    • Yahooインスタントメッセンジャー - logue_256
    • プロフィールを見る
    • Epilogue/LogueWiki
Re:AlephOneコンパイルスレ
« 返信する #14 投稿日:: 2009年05月27日 22時15分46秒 »
2chがybbアク禁状態なのでここをAO-JPのバグ報告&要望受付場所として借ります。
コンパイル時に、ターミナルテキストのイタリックの代替え処理として使われている、前景色背景色入れ替えの部分以外のTTFフォントを使用する処理でアンチエイリアスが効いていません。

自分がWindows用にビルドした際に起きた現象なので、オリジナル版のMacOS版ではどうなるかわかりませんが・・・。
Logue◆grDYeooZwg a.k.a. 高山 ローグ