Skip to content

Latest commit

 

History

History
249 lines (157 loc) · 13.2 KB

README.md

File metadata and controls

249 lines (157 loc) · 13.2 KB

MetalMaxRe

这是一个基于java开发的FC游戏 MetalMax ROM编辑器

注意

未经修改版的作者同意,禁止通过本程序将数据公布到任何地方

关于游戏版本

不同版本数据地址有所不同,错误的加载ROM版本会导致数据加载错误
编辑器内置4种ROM版本:

  • Chinese(中文版)
  • Janpanse(日文原版)
  • SuperHackGeneral(SH通用版)
  • SuperHack(SH)

如果内置的4种版本都不能加载你的ROM,可以尝试自定义RomVersion 并修改相关编辑器

使用

  • 本项目使用 java 17 进行开发
  • 下载并构建 core模块,将其导入到你的项目里就行啦

*详细到core模块查看

编辑器

编辑器类名 名称 状态
IShopEditor 商店编辑器 未完成
IComputerEditor 计算机编辑器 完成
IDataValueEditor 数据值编辑器 完成
IItemEditor 物品编辑器 完成
IEventEditor 事件编辑器 完成
ITileSetEditor 图块编辑器 完成
IWorldMapEditor 世界地图编辑器 完成
IDogSystemEditor 犬系统编辑器 完成
IMapEditor 地图编辑器 完成,但储存方式有问题
IMapEntranceEditor 地图出入口编辑器 完成
IMapPropertiesEditor 地图属性编辑器 完成
IMonsterEditor 怪物编辑器 进行中
MonsterModelEditor 怪物模型编辑器 测试
IPaletteEditor 调色板编辑器 完成
IPlayerEditor 玩家编辑器 完成
IPlayerExpEditor 玩家经验值编辑器 完成
ISpriteEditor 精灵编辑器 完成
ITankEditor 坦克编辑器 完成
ITextEditor 文本编辑器 基础完成,不支持日文
ITreasureEditor 宝藏编辑器 完成
IElevatorEditor 电梯编辑器 完成

编辑器可编辑内容

IShopEditor(售货机商品编辑器)

实现类:ShopEditorImplImpl

不支持世界地图,世界地图也不支持使用售货机

  • 售货机的商品、商品数量和所在地图,修改商品价格请使用 IItemEditor

IComputerEditor(计算机编辑器)

实现类:ComputerEditorImpl

不支持世界地图,世界地图也不支持使用计算机
计算机包含:售货机、游戏机、计算机等

  • 计算机坐标、所在地图和类型

IDataValueEditor(数据值编辑器)

实现类:DataValueEditorImpl

IItemEditor(物品编辑器)

实现类:ItemEditorImpl

IEventEditor(事件编辑器)

实现类:EventEditorImpl

支持世界地图
地图的比例为:1:1tile
世界地图图块的比例为:1:4*4tile

ITileSetEditor(图块编辑器)

实现类:TileSetEditorImpl

  • 地图的图块和图块组合数据
  • 地图的图块属性

IWorldMapEditor(世界地图编辑器)

实现类:WorldMapEditorImpl

  • 编辑世界地图
  • 修改出航/归航的航线,出航/归航航线的路径点各最大16条

IDogSystemEditor(犬系统编辑器)

实现类:DogSystemEditorImpl

  • 将某个地图设置为城镇
  • 某个地图作为附属城镇(进入附属城镇相当于进入城镇)
  • 使用“传真”传送时的目的地坐标,目的地只能是世界地图
  • 使用机器传送时的目的地坐标,支持世界地图

IMapEditor(地图编辑器)

实现类:MapEditorImpl

不支持世界地图,世界地图请使用 WorldMapEditor

  • 通过 MapBuilder 可以构建或编辑所有地图

注:暂时未解决如何在有限的空间里提搞空间利用率

IMapEntranceEditor(地图出入口编辑器)

实现类:MapEntranceEditorImpl

支持世界地图

  • 移动到地图边界时传送的目的地:固定目的地、根据朝向不同而不同的目的地和回到上一个地图
  • 地图入口和出口坐标

IMapPropertiesEditor(地图属性编辑器)

实现类:MapPropertiesEditorImpl

支持编辑世界地图的部分属性 WorldMapProperties

  • 地图的宽高、玩家可移动区域、玩家可移动区域偏移量
  • 精灵调色板、精灵图像
  • 地图图块数据和地图图块数据的组合数据
  • 隐藏图块、填充图块、门后图块、背景音乐
  • 地图边界和出入口坐标
  • 特殊属性:动态图块、事件图块、地下地图

IMonsterEditor(怪物编辑器)

实现类:MonsterEditorImplImpl

未完成

  • 怪物的掉落物
  • 怪物的部分属性
  • 怪物的组合方式
  • 怪物组合在地图和世界地图上的分布

和其它未提及的小功能数据修改

MonsterModelImpl(怪物模型辑器(测试))

实现类:MonsterEditorImplImpl

测试中

  • 怪物的图像模型数据
  • 怪物的调色板
  • 怪物的模型格式

和其它未提及的小功能数据修改

IPaletteEditor(调色板编辑器)

实现类:PaletteEditorImpl

全局调色板、精灵调色板、战斗时和非战斗时的调色板

IPlayerEditor(玩家编辑器)

实现类:PlayerEditorImpl

  • 玩家的初始金钱
  • 玩家的初始属性
  • 玩家的初始装备
  • 玩家的初始道具

IPlayerExpEditor(玩家经验值编辑器)

实现类:PlayerExpEditorImpl

  • 玩家到达某一等级所需的经验(不是差值)

注:只能编辑2-99级,初始等级为1

ISpriteEditor(精灵编辑器)

实现类:SpriteEditorImpl

  • 精灵的类型、坐标、对话和行动方式
  • 特殊属性:可被推动、无视地形移动、锁定朝向、移动时不播放移动动画(平移)

ITankEditor(坦克编辑器)

实现类:TankEditorImpl

包含出租坦克

  • 坦克的初始装备
  • 坦克的初始属性
  • 坦克的初始装甲片
  • 坦克的初始位置(出租坦克只能修改初始地图,但这有什么用呢)

ITextEditor(文本编辑器)

实现类:TextEditorImpl

所有已知的文本

  • get/set 城镇名称
  • get/set 怪物名称
  • get/set 物品名称

注:所有的文本都使用该类修改
字库:WordBank

ITreasureEditor(宝藏编辑器)

实现类:TreasureEditorImpl

支持世界地图

  • 宝藏坐标、所在地图和物品
  • 地图的调查点
  • 随机调查获得的宝藏和获取宝藏概率

注:宝箱的图像因地图图块组成不同而不同,世界地图为隐藏显示

IElevatorEditor(电梯编辑器)

实现类:ElevatorEditorImpl

  • 设置每个电梯的楼层和数量
  • 设置触发每个电梯的地图id范围

注:宝箱的图像因地图图块组成不同而不同,世界地图为隐藏显示