龍神録10章のpspへの移植
Posted: 2011年7月27日(水) 20:04
初めまして。ここで質問させていただくのはこれが最初となります。
龍神録の9章まではpspに表示させることができたのですが、10章を今まで通りにコンパイルしたらエラーがでてしまいました。
環境は
OS vista
IDE visualC++2008 Expless Edition
SDK Minimalist PSPSDK for Windows
です。
---Makefile---
TARGET = TEST
OBJS = ./src/main.o
OBJS += ./src/boss_shot.o
OBJS += ./src/boss_shotH.o
OBJS += ./src/char.o
OBJS += ./src/cshot.o
OBJS += ./src/enemy.o
OBJS += ./src/enemy_act_pattern.o
OBJS += ./src/fps.o
OBJS += ./src/graph.o
OBJS += ./src/graph_back.o
OBJS += ./src/ini.o
OBJS += ./src/key.o
OBJS += ./src/load.o
OBJS += ./src/music.o
OBJS += ./src/out.o
OBJS += ./src/shot.o
OBJS += ./src/shotH.o
INCDIR =
CFLAGS = -O2 -G0 -Wall -g
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
#PSP_FW_VERSION=
LDFLAGS =
LIBS = -lpspgum -lpspgu
LIBS =
LIBS += ./lib/dxlibp.a -lpspgu -lz -lm -lpsprtc -lpspaudio -lpspaudiocodec -lpsputility -lpspvalloc -lpsppower#DXライブラリPortable使用時に追加
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = ZAKI
PSP_EBOOT_ICON = NULL
PSP_EBOOT_ICON1 = NULL
PSP_EBOOT_UNKPNG= NULL
PSP_EBOOT_PIC1 = NULL
PSP_EBOOT_SND0 = NULL
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
後のファイルは#includeで指定する場所をかえたくらいです。
#include "../include/GV.h" → #include <include/GV.h> などです。
(これだとあまり変わりませんが)
で、肝心のエラー内容ですが、
src/ini.cpp: In function 'void ini()':
src/ini.cpp:19: error: 'memset' was not declared in this scope
make: *** [src/ini.o] Error 1
Project : error PRJ0019: ツールはエラー コードを返しました : "メイクファイル プロジェクト動作を実行しています。"
となっています。
どなたか知恵をかしてください。
龍神録の9章まではpspに表示させることができたのですが、10章を今まで通りにコンパイルしたらエラーがでてしまいました。
環境は
OS vista
IDE visualC++2008 Expless Edition
SDK Minimalist PSPSDK for Windows
です。
---main.cpp---
#define GLOBAL_INSTANCE
#include <include/GV.h>
#include <lib/dxlibp.h>
PSP_MODULE_INFO("ZAKI", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
//ループで必ず行う3大処理
int ProcessLoop(){
if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
GetHitKeyStateAll_2();//現在のキー入力処理を行う
GetHitPadStateAll(); //現在のパッド入力処理を行う
return 0;
}
int main()
{
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessLoop()==0){//メインループ
switch(func_state){
case 0://初回のみ入る処理
load(); //データロード
first_ini();//初回の初期化
func_state=99;
break;
case 99://STGを始める前に行う初期化
ini();
func_state=100;
break;
case 100://通常処理
calc_ch(); //キャラクタ計算
ch_move(); //キャラクタの移動制御
enemy_main();//敵処理メイン
graph_main();//描画メイン
stage_count++;
break;
default:
printfDx("不明なfunc_state\n");
break;
}
if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
}
DxLib_End();//DXライブラリ終了処理
return 0;
}
---ini.cpp---
#include <include/GV.h>
//一番最初の初期化
void first_ini(){
configpad.down=0;
configpad.left=1;
configpad.right=2;
configpad.up=3;
configpad.bom=4;
configpad.shot=5;
configpad.slow=11;
configpad.start=13;
configpad.change=6;
}
//ゲームの初期化
void ini(){
stage_count=0;
memset(&ch,0,sizeof(ch_t));//自機データの初期化
ch.x=FIELD_MAX_X/2;
ch.y=FIELD_MAX_Y*3/4;
memset(enemy,0,sizeof(enemy_t)*ENEMY_MAX);//敵データの初期化
}
TARGET = TEST
OBJS = ./src/main.o
OBJS += ./src/boss_shot.o
OBJS += ./src/boss_shotH.o
OBJS += ./src/char.o
OBJS += ./src/cshot.o
OBJS += ./src/enemy.o
OBJS += ./src/enemy_act_pattern.o
OBJS += ./src/fps.o
OBJS += ./src/graph.o
OBJS += ./src/graph_back.o
OBJS += ./src/ini.o
OBJS += ./src/key.o
OBJS += ./src/load.o
OBJS += ./src/music.o
OBJS += ./src/out.o
OBJS += ./src/shot.o
OBJS += ./src/shotH.o
INCDIR =
CFLAGS = -O2 -G0 -Wall -g
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
#PSP_FW_VERSION=
LDFLAGS =
LIBS = -lpspgum -lpspgu
LIBS =
LIBS += ./lib/dxlibp.a -lpspgu -lz -lm -lpsprtc -lpspaudio -lpspaudiocodec -lpsputility -lpspvalloc -lpsppower#DXライブラリPortable使用時に追加
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = ZAKI
PSP_EBOOT_ICON = NULL
PSP_EBOOT_ICON1 = NULL
PSP_EBOOT_UNKPNG= NULL
PSP_EBOOT_PIC1 = NULL
PSP_EBOOT_SND0 = NULL
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
後のファイルは#includeで指定する場所をかえたくらいです。
#include "../include/GV.h" → #include <include/GV.h> などです。
(これだとあまり変わりませんが)
で、肝心のエラー内容ですが、
src/ini.cpp: In function 'void ini()':
src/ini.cpp:19: error: 'memset' was not declared in this scope
make: *** [src/ini.o] Error 1
Project : error PRJ0019: ツールはエラー コードを返しました : "メイクファイル プロジェクト動作を実行しています。"
となっています。
どなたか知恵をかしてください。