トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

CG画像 の変更点


#author("2017-06-20T19:56:21+09:00","","")
#author("2017-07-02T08:24:30+09:00","","")
**CG画像テーブル [#r85469e5]

GBAGE上では"1744~"~
Image - compressed~
TSA - raw~
Palette - raw~
~
CG画像テーブルは、AC0524 から12バイトごと に、0-9まで合計10個あります。(10*12=120バイト)~
~

***0:ED3人組 [#ac34ac16]
|~Address|AC0524|>|>|>|#ref(0.PNG)|
|~Table|AC0394|>|>|>|~|
|~TSA|B04F70|>|>|>|~|
|~Pal|B07E78|>|>|>|~|
|~row1|AD247C|>|>|>|~|
|~row2|AD2A4C|~row3|AD324C|~row4|AD3A70|
|~row5|AD42D4|~row6|AD4B2C|~row7|AD53AC|
|~row8|AD5C14|~row9|AD6484|~row10|AD6CE4|

***1:王女を抱えるエイリーク [#a1e05f63]
***1:女王を抱えるエイリーク [#a1e05f63]
|~Address|AC0530|>|>|>|#ref(1.PNG)|
|~Table|AC03BC|>|>|>|~|
|~TSA|B05424|>|>|>|~|
|~Pal|B07F38|>|>|>|~|
|~row1|AD74EC|>|>|>|~|
|~row2|AD7C78|~row3|AD8490|~row4|AD8CA4|
|~row5|AD94B0|~row6|AD9CC4|~row7|ADA508|
|~row8|ADACB0|~row9|ADB4A4|~row10|ADBCB8|

***2:魔石研究 [#saebddf9]
|~Address|AC053C|>|>|>|#ref(2.PNG)|
|~Table|AC03E4|>|>|>|~|
|~TSA|B058D8|>|>|>|~|
|~Pal|B07FF8|>|>|>|~|
|~row1|ADC494|>|>|>|~|
|~row2|ADCCC4|~row3|ADD51C|~row4|ADDD78|
|~row5|ADE5EC|~row6|ADEE6C|~row7|ADF6C8|
|~row8|ADFEC8|~row9|AE0624|~row10|AE0DE8|

***3:ドラゴンナイト [#b1fc7451]
|~Address|AC0548|>|>|>|#ref(3.PNG)|
|~Table|AC040C|>|>|>|~|
|~TSA|B05D8C|>|>|>|~|
|~Pal|B080B8|>|>|>|~|
|~row1|AE15E4|>|>|>|~|
|~row2|AE1DB4|~row3|AE258C|~row4|AE2D04|
|~row5|AE3510|~row6|AE3d30|~row7|AE4584|
|~row8|AE4DB4|~row9|AE5580|~row10|AE5DB8|

***4:ゼトとエイリーク [#mf42c46a]
|~Address|AC0554|>|>|>|#ref(4.PNG)|
|~Table|AC0434|>|>|>|~|
|~TSA|B06240|>|>|>|~|
|~Pal|B08178|>|>|>|~|
|~row1|AE661C|>|>|>|~|
|~row2|AE6E58|~row3|AE76BC|~row4|AE7F20|
|~row5|AE8780|~row6|AE8FF8|~row7|AE9864|
|~row8|AEA080|~row9|AEA8B0|~row10|AEB0C8|

***5:魔王と聖石 [#w6a058ac]
|~Address|AC0560|>|>|>|#ref(5.PNG)|
|~Table|AC045C|>|>|>|~|
|~TSA|B066F4|>|>|>|~|
|~Pal|B08238|>|>|>|~|
|~row1|AEB8C8|>|>|>|~|
|~row2|AEC078|~row3|AEC85C|~row4|AED054|
|~row5|AED890|~row6|AEE0CC|~row7|AEE928|
|~row8|AEF158|~row9|AEF960|~row10|AF0118|

***6:ゼト訓練 [#v6645270]
|~Address|AC056C|>|>|>|#ref(6.PNG)|
|~Table|AC0484|>|>|>|~|
|~TSA|B06BA8|>|>|>|~|
|~Pal|B082F8|>|>|>|~|
|~row1|AF0858|>|>|>|~|
|~row2|AF106C|~row3|AF18C0|~row4|AF2114|
|~row5|AF2970|~row6|AF31E4|~row7|AF3A60|
|~row8|AF42D4|~row9|AF4B28|~row10|AF5378|

***7:ペガサスナイト [#vfbee5b1]
|~Address|AC0578|>|>|>|#ref(7.PNG)|
|~Table|AC04AC|>|>|>|~|
|~TSA|B0705C|>|>|>|~|
|~Pal|B083B8|>|>|>|~|
|~row1|AF5B88|>|>|>|~|
|~row2|AF6198|~row3|AF6974|~row4|AF7178|
|~row5|AF79AC|~row6|AF81D8|~row7|AF8A34|
|~row8|AF9284|~row9|AF9AA0|~row10|AFA288|

***8:ラーチェル乗馬 [#xcebc176]
|~Address|AC0584|>|>|>|#ref(8.PNG)|
|~Table|AC04D4|>|>|>|~|
|~TSA|B07510|>|>|>|~|
|~Pal|B08478|>|>|>|~|
|~row1|AFAACC|>|>|>|~|
|~row2|AFB244|~row3|AFBA90|~row4|AFC304|
|~row5|AFCB6C|~row6|AFD380|~row7|AFDBC0|
|~row8|AFE41C|~row9|AFEC80|~row10|AFF4AC|

***9:踊り子と町の人 [#y33722fc]
|~Address|AC0590|>|>|>|#ref(9.PNG)|
|~Table|AC04FC|>|>|>|~|
|~TSA|B079C4|>|>|>|~|
|~Pal|B08538|>|>|>|~|
|~row1|AFFCA0|>|>|>|~|
|~row2|B00488|~row3|B00CC0|~row4|B01514|
|~row5|B01D64|~row6|B025B8|~row7|B02E04|
|~row8|B03674|~row9|B03ED0|~row10|B04728|

***構造体イメージ [#g636c67a]
 struct split10image_list{
  split10image* table;
  tsa*         tsa;
  pallet*      pallet;
 }; sizeof(Table) == 4*3 = 12バイト
 
 struct split10image{
  image*    row1; //圧縮画像10個
  image*    row2;
  image*    row3;
  image*    row4;
  image*    row5;
  image*    row6;
  image*    row7;
  image*    row8;
  image*    row9;
  image*    row10;
 };

***ソースコード [#t8967cfe]
ディフォルトでは、CGを表示させられないので、唯一表示できる0:ED3人組を表示する命令を拡張して、表示できるようにします。~
関数080bb17cが、3人組を表示する専用命令とかしているので、これを拡張します。~
~


show_10split_image_hook.asm
 ;3人組みを表示する関数を拡張して、ED挿絵を表示できるようにする フック部
 ;
 ;3人組を描画する関数をフックする.
 ;
 
 @thumb
 
 ;ジャンプ.
 @org	$080bb182
 ldr	r4, =$08E4FD50
 mov	pc, r4


show_10split_image.asm
 ;3人組みを表示する関数を拡張して、ED挿絵を表示できるようにする 本体
 ;
 ;ED3人組を表示するコード
 ;221A0000
 ;42210000 00000200
 ;221A0000
 ;↓↓Nで切り替えられるようにする↓↓
 ;221A0000
 ;42210[N]00 00000200
 ;221A0000
 ;
 ;画像表示後、マップがおかしくなる時がある。
 ;その時は、適当に背景を描画して背景消去してください。背景付き会話でも可。
 ;画像表示時間を延ばしたいときは、 後ろの221A0000の前にウェイト命令を。
 ;
 ;N=
 ;[0]->0x08ac0524 ED3人組
 ;[1]->0x08AC0530 王女を抱えるエイリーク
 ;[2]->0x08ac053c 魔石研究
 ;[3]->0x08AC0548 ドラゴンナイト
 ;[4]->0x08AC0554 ゼトとエイリーク
 ;[5]->0x08AC0560 魔王と聖石
 ;[6]->0x08AC056C ゼト訓練
 ;[7]->0x08AC0578 ペガサスナイト
 ;[8]->0x08AC0584 ラーチェル乗馬
 ;[9]->0x08AC0590 踊り子と町の人
 ;
 @thumb
 @org	$08E4FD50
  
 mov r4,r5           ;r5のメモリ位置がどうしても必要
  
 mov r5,r8           ;元の処理をする
 push	{r5, r6, r7}
 mov	r9, r0
 mov	r7, r1
 mov	r8, r2
 mov	r10, r3         ;ここまで元処理
  
 mov r0,r4           ;元r5のメモリ位置 + 0x38 = 現在のイベント命令 スクリプトコードへのポインタ
 add r0,#0x38
  
 ldr r0,[r0]         ; 現在のイベント命令 スクリプトコードへ
 ldrb r6,[r0,#0x2]   ; イベント命令 スクリプトコードへ 番号をとる.
  
 mov r0,#0x0C
 mul r6,r0           ; 1つ 12バイト区切り 番号*12バイト
 ldr r0,=$0x08ac0524
 add r6,r6,r0        ;$0x08ac0524 + (12バイト*個数)
                     ;
                     ;struct split10image_list{
                     ; split10image* table;
                     ; tsa*         tsa;
                     ; pallet*      pallet;
                     ;}; sizeof() == 4*3 = 12バイト
                     ;
                     ;struct split10image{
                     ; image*    row1; //圧縮画像10個
                     ; image*    row2;
                     ; image*    row3;
                     ; image*    row4;
                     ; image*    row5;
                     ; image*    row6;
                     ; image*    row7;
                     ; image*    row8;
                     ; image*    row9;
                     ; image*    row10;
                     ;};
                     ;
  
 ;元に戻す.
 ldr	r0, =$080bb196  ;080bb196 2500     	mov	r5, #0        //r5=0
 mov	pc, r0


***画像の変更方法 [#d4b592a1]

まだわかりません。~
専用ツールを作らないとダメかも。~