親父PGがゲームを作り始めるスレッドat GAMEDEV親父PGがゲームを作り始めるスレッド - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト243:名前は開発中のものです。 04/04/21 01:50 cLgAiJmm.net つーかネックになる場所は大概描画方面だったりするので その辺はDirectX使ってるのなら問題になることはないでしょう インタプリタの旧VBでもネックになることもよほどのレベルじゃない限りまずありません むしろ中間言語系は同一バイナリでも最適化できるのもポイントです たとえばjavaの1.4.2は従来バージョンのアプリも大幅に高速化しています これはSSEを使っているためです 静的コンパイラの最適化はたしかにいいのですが動的に環境に適応する コンパイラ(hotspot技術)というのも使うかどうかはともかく遊び倒す テーマとして面白い物です ちとふるいですが http://www.geocities.jp/toshio16369/column/021108a.html もちろん、今の最適化はこのころからくらべてかなりよくなっています 244:親父PG 04/04/21 04:38 OH77B7oH.net >>242 おつかれさま。 >現在構文解析ツリーの設計と言語設計の矛盾を小一時間(いや、もっとか)問い詰めています。 ^^;復習してまでやってもらえて感謝です。 配列は会社で暇な時に紙に書いて構築しておりました。32Byteに収めたかったんですが、48byteになってしまいました。 あれだけではわけ解らないと思いますので補足説明しますね。 unsigned char MainCodeToken;//このテーブルの主な役割を示す これはズバリそのままで、「計算」とか「IF文」「Swith文」「価のセット」など仮想VMに命令を伝えます。 char Enable;//この値が-1の場合シナリオエディタを使ってコンパイルされていない 0:disenable 1:enable このー1というのはマップコンパイラ以外のツール(MAP(地形)にトリガーを埋め込むツール)などで 書き込まれたデータ-という意味です。 これを見つけたコンパイラは処理を追加義務が発生します。 命令コードは「地形MAPツールによって追加されたトリガ」になります。 unsigned char PAtype;//パラメーターAの指している場所、使われ方等をコードで示す 次のパラメータがFGのINDEX番号なのかMAPの座標なのか価なのかを表します またINTをつかうかShortを使うか両方つかうかを識別します。 INT ,Short , (Short+INT), Short:INT , Short,(HIWORD)Short,LOWORD(Short) unsigned char CalcToken;// 計算式 2つの価を同計算計算するか示します + - and or not > < >= <= ,INTかShortか両方か パラメーターが複数ある場合(PAtypeで指示)、もここのコードで判断します。 同じ[+]を表すコードでも両方を加算するトークン用、片方だけのトークン用があります パラメーターが複数ある場合、処理に引き渡す引数としても使えます。 char BoolToken;// トリガー条件 真の時 偽の時 =0 !=0 - + -1 +1 2の倍数 -64~+64までは価として(6ビット)最上位ビットが 真の時 偽の時を表します 7ビット目がONの場合ユニークな条件を設定します65~127 -65~-127 00000000 は計算結果が0の時 真なら 10000000 は計算結果が0の時 偽なら 00000001 は計算結果が1の時 真なら 01000000 ユニークな条件(いまは考えていないorz) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch