龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4619|回复: 6

龙芯派上移植超级玛丽

[复制链接]

2

主题

6

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
发表于 2019-4-11 22:30:59 | 显示全部楼层 |阅读模式
本帖最后由 tankweight 于 2019-5-30 00:36 编辑

https://gitee.com/tankweight/Game     用到了boost库的any库,只需要包含头文件即可,不用引入boost库。
  
首先介绍一下超级玛丽游戏,这是一个叫Jens Wellmann的老外写的游戏,用C++写的,用的是SDL 1.0,发布时间是2005/年9月18号,这天有点巧哦,既是抗战胜利和反法西斯战争胜利60周年,又是九一八。这个游戏是跨Windows和Linux的,我拿到这个游戏的源码后先在Windows上跑通了,然后改成了SDL2.0,移植到派上的工作不难,主要是相关的库难编译。 源码工程项目里面我把.PNG名称的图片都修改了rename .PNG .png *.PNG
原作者的makefile我也根据实际情况修改了。第二版的编译配置文档我总结一下makefile,迁移到SDL2.0的总结也会写好。
   需要SDL 2.0,lpng1636,jpeg-6b,freetype-2.10.0,SDL2_image-2.0.4,SDL2_mixer-2.0.4,SDL2_ttf-2.0.15,zlib-1.2.11这几个库。
jpegsr6.zip这个文件太小了,上传不了,得需要的朋友自己去找,还有这个zlib-1.2.11.tar.gz
   编译过程中如果碰到执行configure没有权限的错误,chmod +x configure
  再./configure 如果遇到因为configure文件在windows先编辑过的打开错误
执行sed -i 's/\r$//' configure
   先把cmake装了,下载cmake-3.12.1,解压后,终端进入,./configure make -j2 make install就行了。
   编译SDL2.0:cd 进入,用文本编辑器打开CmakeLists.txt文件,再第343行找到
set_option(SDL_TEST            "Build the test directory" OFF)  
把这个OFF改成ON,test也要编译。然后
mkdir build  
cd build
cmake ../.
然后make -j2 make install 这段时间干点别的事情。好了之后,进入test,随便找个可执行程序./执行,说明编译好了。
然后是lpng1636,新版的png编译出现的一些错误难得修改,暂时用1636版的。
派上编译png会出现config.guse的一些line command not found错误,得把libtool/config下的config.sub config.guess这两个文件拷贝到lpng1636目录下替换原有的两个对应的文件。先用yum安装libtool
  yum install libtool
  yum install libtool-ltdl
  yum install libtool-ltdl-devel
  pwd
  cd /usr/share/libtool/
  cd config/
  cp config.sub /root/workspace/lpng1636
  cd /root/workspace/lpng1636
  cp config.guess /root/workspace/lpng1636
或者cp /usr/share/libtool/config/config.guess .
   cp /usr/share/libtool/config/config.guess .   .符号表示当前目录
  cd /root/workspace/lpng1636
  ls
  ./configure
  make clean
  make -j2
  make install

  sed -i 's/\r$//' configure
  yum install zlib
  yum install zlib1g-dev
  yum install zlib-dev

然后是jpeg-6b
cd /usr/share/libtool/config/
cp config.guess config.sub /root/workspace/jpeg-6b/
./configure make make install


cd freetype-2.10.0
ls
mkdir build
cd build
cmake ../.
make -j2
make install

vi /etc/ld.so.conf
我的ld.so.cof内容如下:
include ld.so.conf.d/*.conf
/usr/local/lib
/opt/sdl2_image/lib
/opt/sdl2_mixer/lib
/opt/sdl2_ttf/lib
然后执行
ldconfig
ldconfig -p
mixer和ttf编译很容易
./configure --prefix=/opt/sdl2_mixer CFLAGS="-I/usr/local/include" SDL_LIBS="-L/usr/local/lib/libSDL2.so -lSDL"
./configure --prefix=/opt/sdl2_ttf CFLAGS="-I/usr/local/include" SDL_LIBS="-L/usr/local/lib/libSDL2.so -lSDL"

编译SDL2_image-2.0.4
先执行./autogen.sh 一定要执行这一步,不然配置过程中会有跟jpeg库相关的错误提示。
然后
./configure --prefix=/opt/sdl2_image CFLAGS="-I/usr/local/include" SDL_LIBS="-L/usr/local/lib/libSDL2.so -lSDL" LIBPNG_CFLAGS="-I/usr/local/include/libpng16" LIBPNG_LIBS="-L/usr/local/lib/libpng.a -lpng" --enable-static --enable-bmp --enable-gif --enable-jpg --enable-png --enable-tif --enable-pnm --enable-xpm
make -j2
make install

进入超级玛丽工程 make clean make -j2  ./megamario可以愉快的玩游戏了




2

主题

6

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
 楼主| 发表于 2019-4-11 22:42:41 | 显示全部楼层
这是源码和相关的库,有好几个库太大了,只能朋友们自己下载了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

6

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
 楼主| 发表于 2019-4-11 22:58:05 | 显示全部楼层
本帖最后由 tankweight 于 2019-4-12 22:58 编辑

源码,makefile在里面。图片资源和音乐资源我会放百度网盘共享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

79

主题

435

帖子

43万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
439695
发表于 2019-4-14 03:39:15 | 显示全部楼层
对龙芯派是不是大材小用了啊?

0

主题

28

帖子

5629

积分

论坛元老

Rank: 8Rank: 8

积分
5629
发表于 2019-4-14 10:53:26 | 显示全部楼层
有意思。感谢分享!

2

主题

6

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
 楼主| 发表于 2019-4-15 19:46:48 | 显示全部楼层
sn2015ol 发表于 2019-4-14 03:39
对龙芯派是不是大材小用了啊?

能玩游戏也很好啊

2

主题

6

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
 楼主| 发表于 2019-4-15 20:00:50 | 显示全部楼层
sn2015ol 发表于 2019-4-14 03:39
对龙芯派是不是大材小用了啊?

准备在派上跑强化学习来训练超级玛丽和怪物
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2023-1-30 10:38 , Processed in 0.210206 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表