PSPに移植した際に画像が出ません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
とく

PSPに移植した際に画像が出ません

#1

投稿記事 by とく » 15年前

コンパイルしてうまくいったのでキャラクターの画像を表示させようとしたのですが、表示されません。
教えてください。

main.cpp
include <GV.h>
#include <pspkernel.h>
#include <psppower.h>
#include <pspdebug.h>
#define GLOBAL_INSTANCE

PSP_MODULE_INFO("TEST", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);

//現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);

//データのロード
extern void load();

//描画メイン
extern void graph_main();

int img_ch[2][12];      //キャラクタ画像9枚分 X2(変身用)
ch_t ch;                        //キャラクタデータ宣言

//ループで必ず行う3大処理
int ProcessLoop(){
    if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
    if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
    GetHitKeyStateAll_2();//現在のキー入力処理を行う
    return 0;
}

int main(void)
{
    if(DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK)!=0)
        return -1;//初期化と裏画面化

    load();//データロード

    while(ProcessLoop()==0){//メインループ

        graph_main();//描画メイン

        if(CheckStateKey(DXP_INPUT_START)==1)

            break;//SELECTが入力されたらブレイク
       
        ScreenFlip();//裏画面反映
    }

    DxLib_End();//DXライブラリ終了処理

    sceKernelExitGame();

    return 0;
}
load.cpp
include <GV.h>


extern int img_ch[2][12];

void load(){
        LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 41 , 41 , img_ch[0] ) ;
                                                 //PSP用に41ずつのサイズにしました。

}
key.cppとgraph.cppは龍神録のソースと同じものです。
PSPには、
EBOOT.PBP
dat
   img
      char
         0.png

という感じに入れています。
原因を終えてください。
お願いします。

kazuoni

Re:PSPに移植した際に画像が出ません

#2

投稿記事 by kazuoni » 15年前

"../dat/img/char/0.png"→"dat/img/char/0.png"

でもだめですか?

とく

Re:PSPに移植した際に画像が出ません

#3

投稿記事 by とく » 15年前

上のように直しましたが、逆にフリーズして電源が切れてしまいます。
これは、画像を読みに行ったけど失敗したということでしょうか?

たびたびすいません。

kazuoni

Re:PSPに移植した際に画像が出ません

#4

投稿記事 by kazuoni » 15年前

たぶん読み込めなかった場合の処理はDXPで処理してくれているとおもので、
ファイルパスは通ったように思います。

その他でまずい事をしているかもしれないので、
メインループで、まず初期化関数Loadだけで実行したらエラーが起きない

graph_main復帰

graph_mainの中の関数~復帰

・・・

の様に順番に見ていってください。

yu

Re:PSPに移植した際に画像が出ません

#5

投稿記事 by yu » 15年前

直るかどうか分かりませんが
DXP の最新バージョンは VFPU を使っていたはずなので

PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);



PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);

に直してみてください

とく

Re:PSPに移植した際に画像が出ません

#6

投稿記事 by とく » 15年前

PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);


上のように直したら、画像が出ました。


が、終了のSERECTボタンを押しても終了しません。(いまは、SERECTにしています。)
なので、HOMEボタンから戻ろうとしたら、

ブチンッ

という、なんとも恐ろしい音を立てて切れてしまいました。
すいませんが、何とかなりませんかね。
たびたびすいません。

kazuoni

Re:PSPに移植した際に画像が出ません

#7

投稿記事 by kazuoni » 15年前

うーん。ソースコードパッと見大丈夫の様に思いますが。
強いてあげるなら画像の解放とか・・・。

他のキーを終了に割り当てると正常に終了しますか?

とく

Re:PSPに移植した際に画像が出ません

#8

投稿記事 by とく » 15年前

他のボタンに変えましたが、結果は同じでした。

原因がどこなのか探るために、printf(sceDebugScreenPrintf)で、デバッグを行ってたのですが、
なぜか、if文に
if(CheckStateKey(DXP_INPUT_SELECT)==1){
            sceDebugScreenPrintf("test 1:");
            break;//SELECTが入力されたらブレイク
のように入れたら、なぜかうまく動きました。
他のところはいじっていません。
どういうことでしょうかね・・・。

kazuoni

Re:PSPに移植した際に画像が出ません

#9

投稿記事 by kazuoni » 15年前

自分はDXPをほとんど触った事がなので、適切な回答ができません。。
すみません。

本家で質問するのが一番良い気がしますが、
たしか制作者様は現在大学入試真っ最中だった気がするので、
気長に待つことが前提ですが。

閉鎖

“C言語何でも質問掲示板” へ戻る