DotnetSnes: Library allowing to use C# to create SNES ROMs
a year ago
- #.NET
- #Game Development
- #SNES
- 允许通过抽象SNES游戏功能的.NET库(DotnetSnes.Core)使用.NET语言创建SNES ROM
- 编译后的DLL通过Dotnet转C编译器(dntc)转换为C代码,再通过PvSnesLib SDK编译生成ROM
- 存在以下限制:仅支持少量System类型、禁止动态内存分配、需尽量减少栈变量
- PVSnesLib SDK在Linux环境下运行最佳,Windows用户最终编译时应使用WSL
- 由于包含子模块依赖,克隆代码库需SSH凭证
- 环境配置包括安装依赖项(cmake/g++/dotnet-sdk-8.0)、克隆仓库及递归初始化子模块
- Hello World示例演示了在SNES上显示基础文本
- LikeMario示例展示了用C#实现的对象管理、瓦片地图、音频处理和手柄输入
- 新建项目需引用DotnetSnes.Core和Dntc.Attributes,定义带[CustomFunctionName("main")]特性的Main函数,并配置Makefile
- 游戏资源需置于项目目录并在Makefile中引用
- 需配置manifest.json文件指导转译器,指定程序集、输出目录及待转译方法
- 引用游戏内容的代码需使用[AssemblyLabel("标签名")]特性标记程序集标签