C言語

フェードイン/フェードアウト。

NDS は GBA と同様にブレンドという機能がハードウェアに備わってるので 半透明処理やフェードイン/アウトなんかはソフトウェア処理を行う手間がないんです。 手を抜けるところは手を抜いてこうってことで。 fade in, fade out akkera102 さんところの「GBA…

ハートに16連射。(30)

BMPファイルの展開ルーチンを試し書きしてみた。 フェイスプレートをユーザが用意した任意の画像に差し替えれるという機能を持たすため。 …フェイスプレート画像を作ること自体が実は面倒と分かって…誰も使わないかも知れない機能w 24 ビット、 256x192 ピ…

リアルタイムクロック。

以前のエントリで NDS の内蔵時計を再現してるエミュレータが無いとぼやいたことがあったが ideas が対応してることを見過ごしていた。 日時を扱ったコードのデバッグにおいて実機転送による確認というフローは不要なわけだな。

ハートに16連射。(28)

サウンドトラックモードの作成。 所謂サウンドテストってやつ。 サウンドモジュール、BGM, SE が未着手なので再生のタイミングを printf() 辺りと想定して記述。 基本的な動作は下記コードの通り。 printf() で表示してるタイトルやメニューは 本ちゃんでは…

ハートに16連射。(29)

スプライト画像のインクルードと設定を定義。 昨日起こした画像を再加工して違和感も出なくなった。 絵が乗っかるに連れ、段々とそれっぽく見えて来たぞ。 shtwatch 20100215

ハートに16連射。(25)

オートセーブ/オートロードを実装。 DLDI パッチを当ててなくても遊べるというのがミソ。 パッチ未適用時には、ハイスコア、シークレットモードフラグが記録されず 次回電源投入時リセットされるだけ(ソフトウェアリセット中なら記録は保持)。 初回起動時…

ハートに16連射。(26)

デモプレイを実装。 タイトル画面で一定時間なにもしないでいるとデモプレイに遷移する。 CPU 操作で行われるような一般的なデモプレイではなくタイムアタックのようなモード。 45秒間のデモ動作中に何連射できるか測定が可能。 但しスコアは保持されない。…

ハートに16連射。(24)

ラベルリソースのフィックス。 リソース周りのコード書き。 単体作成してたタイトルモジュール、連射計測ゲームモジュールの取り込み。 SHOT WATCH - NDS EDITION - ROM INFO SHOT WATCH - NDS EDITION - 20100211 ダラダラしてたらスプライト画像用意できな…

ハートに16連射。(22)

カウントダウンモードを実装。 既に作ってあったストップウォッチモード(カウントアップ)をリファイン。 なのでサクっと出来上がり。 本来のシュウォッチとしての機能はこれで全て実装終了。 次はスプライトと BG を本ちゃんに差し替えようかと。 RandMode…

ハートに16連射。(21)

基本状態遷移の作成といいかげん時計1、2の実装まで。 タイトル画面からの項目選択によって次に実行するシーンが変更されるような実装をしたこと無かったんで akkera102 さんとこの GBA develop Wiki にあった「にもつくん」の遷移を参考にして組んでみた…

ハートに16連射。(20)

進捗。 リソース作成を主に。 時計モードのコードをシンプルなものに書き直し。 シューティングモードのシークレット出現条件を 160 以上に直し。 シュウォッチプロを切替サポートするとなると、もう一つ上に状態遷移が必要なところ。 スーパーシュウォッチ…

ハートに16連射。(18)

サイコロゲームモード(シークレット 1)です。 サイコロを止めてく毎に残りのサイコロの回転速度が上昇してく以外は スロットゲームと殆ど同じです。 ビルドには下記ソース以外に、 「ハートに16連射。(12)」に記した全てのモジュールが必要だったり…。 …

ハートに16連射。(16)

スロットゲームモード(シークレット 2)です。 実機ではリール回転速度が1/100秒で回ってる(?)ようなのですが こちらは1/60秒で1コマを0〜9の順に表示させてます。 見比べでもしない限りそれっぽく動いてるのでこれで良しとします(笑)。 ビルドには下記…

ハートに16連射。(17)

進捗。 以下モードの実装を一先ず完了。 ・シューティングモード ・ウォッチモード ・ストップウォッチモード ・スロットゲームモード(シークレット2) 復刻版を参考に「サイコロゲームモード(シークレット1)」以外のモードを実装した。 サイコロゲームはスロ…

ハートに16連射。(14)

シューティングモードです。 以前にも近いものをいくつか書いてたので ストップウォッチモードよりかは簡単と踏んでたのですが多少悩んでしまったり。 デバッグプリントが printf なのはエスケープシーケンスを利用する為です。 ビルドには下記ソース以外に…

ハートに16連射。(15)

ストップウォッチモードです。 実機では 1/100 秒まで計れるのですが僕の書くコードは VSYNC 周期を基準としてるので 実際に10ミリ秒は刻んでおらず、 1/60 秒中、その時の10ミリ秒値に近い値を表示してそれらしく振舞ってます。 ビルドには下記ソース以外に…

ハートに16連射。(12)

ショットウォッチの基本モジュールです。 このモジュールを用いて連打計測や時計表示なんかが出来たりなんかして。 フォントは過去に公開してるアタリ風フォントリソースも使ってます。 NDS Homebrew 用に利用可能なフォントリソース。(2) http://d.haten…

ハートに16連射。(13)

ウォッチモードです。 スプライト描画サンプルを焼き直しして楽をしてます。 ビルドには下記ソース以外に、 「ハートに16連射。(12)」に記した全てのモジュールが必要だったり…。 ハートに16連射。(12) http://d.hatena.ne.jp/dumbo001/20100201/p1 …

ハートに16連射。(10)

MapEd(GBA マップエディタ) を使ってみて分かったこと。 ・16パレットx16の割付が出来ない(1画面全てを16パレット在るうちのどれかという風にしか選択できない)。 ・未使用のマップチップをタイルデータにしてくれない。 ・配置したマップ順にマップ番号…

ハートに16連射。(11)

このプロジェクトですが、全て含めた状態で言うとそれなりの規模を予定してます。 ですので急に何か別のものを作ってるわけじゃないです。最終的に統合・収束するつもりで作ってます。 出来るところからコツコツと切り崩していきます。 全体の連携までを頭と…

内蔵時計の取得と表示とか。2

去年書いたやつをちょっとだけ手直し。アーカイブして公開しました。 付属のやつは 3D のポリゴン時計とか、個人的には余計な演出が含まれてると感じたので こっちのはもっとシンプルに。 Nitro Developer Style http://page.freett.com/ntr/ サンプルなので…

ハートに16連射。(9)

スプライト描画モジュールの暫定版を作ってたり。 復刻版の挙動を参考にしてるのでスーパーやプロとは若しかしたら違うかも。 時計、ストップウォッチ、連打計測、サイコロゲーム、スロットゲーム、 それから「いい加減時計」の”コロ”表示まで考えるとセグを…

ハートに16連射。(8)

タイニーシュウォッチです。思いつきで書き殴ってみました。 1本ソースはわざとで、敢えて初心者入門本でありがちなサンプルソースっぽく仕立ててます。 流石に状態遷移無しでは作れませんが。酷い有様になるのが見えてるし。 C言語知ってるけどゲームは作っ…

PAlib。

フェードアウトしたのかと思いきやサイトが引越ししてた模様。 現在最新の PAlib0912XX を導入することにより devkitPro 最新版での利用が可能とのこと。 PALib-dev.com http://palib-dev.com/ libnds の恩恵にあやかりまくりなくせに敢えて PALib を使わな…

ジャンケンゲームを作ろう。10

進捗報告。 メインの状態遷移組んでます。 GMC4NDS やそれ以外に今までアップしてきたプログラムに見られるような、いきなりメイン処理が始まるのではなく、 メーカーロゴ→ゲームタイトル→メーカーロゴ… というループが存在し、 ゲームタイトルからゲームを…

ジャンケンゲームを作ろう。11

ファイル読み書きモジュールを作成してみました。 プロジェクトが現在テスト段階なので構造体をベタにセーブロードしてます。 最終的な公開版は簡単な暗号化を行う予定でいます。 ってもバイナリエディタでササッと見て弄られない程度の簡単なのしか用意しな…

ジャンケンゲームを作ろう。9

ゲームサウンド部。といっても発声のみですが。 初音ミクさんにも参加して頂く予定です。 voice module test main.c /*-------------------------------------------------------------------- voice module test version 0.01 Jan 21, 2010 By. REGEKATSU -…

ジャンケンゲームを作ろう。8

コイン入出力周りと内部のゲーム設定などを。 データ構造丸々取り出せる関数はテストコードであるような 一気にデータ丸々欲しい場合なんかを想定して用意してます。 coinmng module test main.c /*-------------------------------------------------------…

ジャンケンゲームを作ろう。7

ディスプレイモジュールがゲーム盤面として NDS 上画面にあり、 コントロールモジュールがコンパネとして NDS 下画面にあるものと想定してます。 コントロールとは言ってもボタン入力は担わせてません。 ctrl module test main.c /*------------------------…

ジャンケンゲームを作ろう。6

ジャンケンの処理部分。 あいこでの繰り返し処理や手を出したときの判定はこれよりも上層で行うので このモジュールでは単純な判定しか行わないのです。 janken module test main.c /*--------------------------------------------------------------------…