Hasty Briefsbeta

双语

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("标签名")]特性标记程序集标签