精易论坛

标题: 【开源】【2016.05.21】Contra Director/魂斗罗编辑器 地图编辑版 [打印本页]

作者: SalHe    时间: 2016-5-21 17:40
标题: 【开源】【2016.05.21】Contra Director/魂斗罗编辑器 地图编辑版
本帖最后由 SalHe 于 2016-5-22 11:37 编辑

本次主要增加了 直接从魂斗罗中提取图形 的功能,只是此功能目前对图形的解析还不够完善
在很多论坛发的帖子都已经很冷门了,可能是我Out了,哈哈。魂斗罗是小时候玩的游戏,作为蛋蛋后的楼楼确实情有独钟的爱上这个游戏了,就花了时间去搞这个了,估计对这个有感情的多数就是80,90后的前辈们咯


第一版本已经发布很久了,是2月发布的,很垃圾,代码乱得不忍直视,到了后面更新时我都觉得难以下手了,第一个版本主要是参考零晨星光前辈的源码,
他是用VB写的,好吧,不得不说,我翻译的很累 = =,前辈的代码写的也乱。。。这也是到了后期更新存在难点的原因之一
我编写时发现敌人解析问题时向CZXInc探讨,后来前辈也是很耐心的为我讲解了缘由,还做了图纸
再者就是对CXZInc前辈表示抱歉,把他的名字打成了CZXIn,一直没发现,到后来给他截图时他自个儿发现的。抱歉抱歉了

后来偶然去了 Romhacking,发现了一篇由 Trax 大神编写的魂斗罗Hack文档,通过阅读后重新编写了Contra Director
于3.29号发布第二代编辑器,重写了编辑器解析的存储机制,比如一切数据都对象化,这些更方便第三方开发(好吧,我很难相信会有人来搞这个)
还重写地图浏览的机制,改用将地图绘制成图,放在一个用于浏览图片的组件里,这个组件是我写的 ImageViewer_Ex
又新写了一个 SRect_Ex 组件,为了适配整个 UI 的风格(尽管它还是这么丑),至少证明我用心了嘛

嗯,别以为我就只看了Trax大神的那份文档,对于一些FC/NES编程知识的无知,又参考了Steven Monaco关于FC/NES图形硬件类介绍的文章
好吧,其实我看了之后照着写了一个图形绘制的源码,但是结果和预想的有出入,于是冒昧给Steven前辈发了邮件请教,前辈很友好的回了我,并详细的为我说明了,无比感激啊
有了这些基础后我又自己上网查阅了一些资料,比如关于FC/NES调色板什么的。。。


现在的剩下的问题就是关于关卡扩展、图形解压的问题,因为NES的ROM文件是有一定大小的,大的也就256KB把
扩展涉及到很多问题的,也不得不感慨当时写个游戏真心不容易,大小限制很大


说那么多,我都觉得自己有点在炫自己查了多少多少资料,请教了多少多少前辈了
其实我在写这篇帖子的时候,几乎是编写边更新附件的,因为我发现很多东西没写在附件里,这是不行滴!

上几张图(上个版本的截图):




关于介绍什么的,我直接扒 ReadMe.txt 了。。。
  1. To read ReadMe.txt normally, please open it with Sublime Text.
  2. 为正常阅读 ReadMe.txt,请使用 Sublime Text 打开。

  3. --------------------------------------------------------------------
  4. # Contra Director
  5. Coded by SalHe
  6. [email protected]
  7. Copyright(C) SalHe, All Rights Resvered

  8. --------------------------------------------------------------------
  9. # Functions/功能
  10. V20160329:
  11. Preview level mapping/预览地图
  12. Preview enemy’s position/预览敌人位置

  13. V20160507:
  14. Edit level mapping/编辑地图

  15. V20160521
  16. Parsing graphics data/解析图形数据

  17. --------------------------------------------------------------------
  18. # Thanks/感谢
  19. Trax & CZXIn & 凌晨星光 & Ex_DirectUI & Steven Monaco

  20. --------------------------------------------------------------------
  21. # Reference/参考
  22. Trax: Contra Hacking Guide & Enemy Attributes
  23. http://www.bwass.org/romhack/contra/
  24. Steven Monaco: Console Graphics Document
  25. http://mrclick.zophar.net/TilEd/download/consolegfx.txt

  26. --------------------------------------------------------------------
  27. # QAF/问题
  28. Q: How to set language the software use?
  29. 如何设置该软件所使用语言?
  30. A: Open .\config\Appliction.ini, set value of item Location.Language to name of language.And the language file is in .\language\%LanguageName%.txt.You youself can write a language. Normally, there are two language files, are for Chinese and English.
  31. 打开 .\config\Appliction.ini, 设置 Location.Language 项的值为语言名字。语言文件位于 .\language\%LanguageName%.txt。你可以自己编写语言文件。一般软件会自带两种语言文件,中文和英文。
  32. -----------------------------------
  33. Q: I found some question and I have some advice!
  34. 我发现了些问题还有点建议!
  35. A: I'm very gald to hear it! If you've found some question or you have some advice, please let me know.
  36. 我很高兴你发现了!如果你有任何问题或者建议,请告诉我。

  37. --------------------------------------------------------------------
  38. # Using guide/使用技巧
  39. * Some basic using methods neeedn't to be mentioned. Such as open file, save file... everybody can do them. I want to tell you some skill.
  40. 一些基本的操作就没有说的必要了把,什么打开文件了,保存文件了。。。大家都会的。我想说的是一些小技巧。

  41. 1.How to fill many places with a same block fast: Keep Shift downed and move you mouse.
  42. 如何快速用一个 Block 填充多处:按住 Shift 移动鼠标。

  43. 2.How to lock mapping, because I don't want to move it: Make Lock checked, it's on the left of block selected and under Edit mode.
  44. 怎么锁定地图,因为我不想让它移来移去的:选中 锁定,它位于 选中Block 的左边,编辑模式 的下面。

  45. --------------------------------------------------------------------
  46. # History/历史

  47. -----------------------------------
  48. 2016/04/02

  49. Contra Director Preview version is completely, or nearly.
  50. It can display level's layout and enemy's position, but can't edit.
  51. Now Contra Director can adapt Contra of US version perfectly, other version may not, specially hacked rom.
  52. Japanese Contra can be adapted by Contra Director, but some trouble with graphics. And I don't know whether it's caused by problem of Contra Director-self because it's not clear to be seen.
  53. And I want to take graphics from Contra to display, but I have never learned programming about FC/NES. Although I take it, I won't how to display it correctly.
  54. So if you know how to do, could you please tell that? :)
  55. Contra Director For Editing version will came out soon, or much later, because I'm getting for my ZhongKao.
  56. Thanks for waitting! :D

  57. Contra Director 预览版本基本完成。
  58. 现在可以显示地图布局以及敌人位置,但是不可以编辑。
  59. 现在 Contra Director 可以完美适应美版魂斗罗,其他版本可能不行,特别是修改过的。
  60. 日版魂斗罗可以被 Contra Director 适应,但是在图形上有些问题。我不知道是不是 Contra Director 自身读取的问题。
  61. 我想从魂斗罗中提取图形,但是我没学习过FC/NES编程。所以即使我提取到了,我也不知道如何正确显示。
  62. 所以,如果你了解的话可以指点一下吗? :)
  63. Contra Director 编辑版将会不久发布,也可能很久,因为我在准备中考。
  64. 谢谢期待!:D

  65. --------------------------------------------------------------------
  66. 2016/05/07

  67. Contra Director Edition for Level layout is completely, or nearly.
  68. It hasn't been updated for mostly a month since last time because of my study....:D
  69. To update this function(edit level's layout) took some times yesterday, and I solved some bugs.
  70. Now it can display&edit level's layout and display enemy's position.
  71. If you want to expand Contra, I think you should use "Contra Expansion.NES". It's patched with "Contra Expansion.ips" by WinIPS. And before expanding it, you should do some works. You yourself must add section address for the level you want to expand. The function isn't implemented by me. Eh, I have too little time to do this now. So if you are interested in this, and you have ability to do it, you can ask me for source code of Contra Director(It's programmed with Easy-Language/易语言, or I will pack source code into attachment).
  72. And my troubles about taking graphics from Contra, some of them are solved. Rest of them are definition of color of cell. I don't how to connect cell with palette. I hope you can help me:)

  73. Contra Director 地图编辑版基本完成。
  74. 几乎一个月没写了,主要因为学习....:D
  75. 昨天花了些时间来更新这个功能(编辑地图布局),我还解决了一些bug。
  76. 现在可以显示&编辑地图布局,显示敌人位置。
  77. 如果你想扩展魂斗罗,我觉得你应该使用“Contra Expansion.NES”。这是用WinIPS打的补丁,补丁文件是“Contra Expansion.ips”。在扩展以前,你还要干点事儿。你必须手动为你想扩展的关卡添加关卡页(Section)地址。这个功能我没去实现。额,我时间不够,暂时就没法去做了。如果你对这个感兴趣,并且有能力完成的话,可以找我要源码的(是用 Easy-Language/易语言 写的,可能我会把源码放在附件里的)。
  78. 关于我从魂斗罗提取图形的问题,其中一些已经解决了。剩下的问题是Cell的颜色的定义。我不晓得怎么把调色板和cell联系起来。希望你能帮助我:)

  79. --------------------------------------------------------------------
  80. 2016/05/13

  81. The function updated this time is directly parsing graphics from Contra ROM file.
  82. But it's not enough perfect. The main problem is on uncompressing graphics data for PPU.
  83. And I will try to solve it. But in short time, I can't do it.
  84. Maybe some months later I can complete it, because of something...
  85. For using this function, open Contra firstly, and click my head.
  86. Eh, it's like a rabbit, isn't it?
  87. Maybe you still don't konw what it is, and now, I say it in a piece of words.
  88. It's on left-up corner of Contra Director, And there is a word "SalHe" written on the head.
  89. I think you must know where it is. If not, you are really foolish :D
  90. Hah, that is a joke, don't think more.
  91. And the result parsed is saved in .\Results.

  92. 本次更新功能是直接从魂斗罗的ROM文件中提取图形。
  93. 但是这个功能还不够完善,主要问题出在解压图形数据到PPU上。
  94. 我会去解决的,但是短时间内是不行的了。
  95. 估计数月后我可以完成,因为一些事情要忙...
  96. 使用方法是,先打开魂斗罗,然后点击我的头像。
  97. 额,看起来像只兔子,不是么?
  98. 也许你还是不晓得它是什么鬼,我就用一句话说好了。
  99. 它在 Contra Director 的左上角,有个单词“SalHe”被写在上面。
  100. 我想你肯定知道它在哪了。如果还不知道,那你真够笨的 :D
  101. 哈,开个玩笑了,别当真哈。
  102. 解析的结果存放在 .\Results 里。
复制代码







我知道你们有文字恐惧症 ==。。。

貌似很多同学都喜欢这个配色文件,嗯,这是WonderWall的配色文件
没错,就是Syser的Baby发布的哦,很赞!
WonderWall.zip (294 Bytes, 下载次数: 88)

源码+编译后文件: ContraDirector.zip (1.36 MB, 下载次数: 270)
作者: 亚子    时间: 2016-5-21 18:45
内个... 魂斗罗是什么......
作者: SalHe    时间: 2016-5-21 19:21
三咲亚子 发表于 2016-5-21 18:45
内个... 魂斗罗是什么......

听说很好吃的、
作者: 牵羊逛街的狼    时间: 2016-5-21 19:25
这个需要学习一下了。。
作者: 衰而不爱    时间: 2016-5-21 19:34
大神。。。十二分的感谢你
作者: 亚子    时间: 2016-5-21 19:41
SalHe 发表于 2016-5-21 19:21
听说很好吃的、

真哒? 没骗俺? 俺可是没上过小学哒... 你做给俺吃好不好
作者: SalHe    时间: 2016-5-21 19:44
三咲亚子 发表于 2016-5-21 19:41
真哒? 没骗俺? 俺可是没上过小学哒... 你做给俺吃好不好

这可不行。。除非,你给我找个女朋友。。
作者: 亚子    时间: 2016-5-21 19:46
SalHe 发表于 2016-5-21 19:44
这可不行。。除非,你给我找个女朋友。。

好咩 驴朋友似叭... 俺这里有辣么多.. 辣么多... 辣么多.....
作者: SalHe    时间: 2016-5-21 19:50
三咲亚子 发表于 2016-5-21 19:46
好咩 驴朋友似叭... 俺这里有辣么多.. 辣么多... 辣么多.....

是捏是捏、找个贵州的哈,好约,o(∩_∩)o 哈哈
作者: 亚子    时间: 2016-5-21 20:19
SalHe 发表于 2016-5-21 19:50
是捏是捏、找个贵州的哈,好约,o(∩_∩)o 哈哈

俺帮你找好啦 加ta果聊下叭



肿样 俺找了很久哒 还行叭~~


快点做给俺吃叭

作者: qwqw    时间: 2016-5-21 20:43
头像真是卖萌
作者: SalHe    时间: 2016-5-21 21:02
三咲亚子 发表于 2016-5-21 20:19
俺帮你找好啦 加ta果聊下叭

我要妹纸  不要大妈
作者: 唐老湿    时间: 2016-5-21 21:49
请收下我的膝盖
作者: E丶JavaScript    时间: 2016-5-21 23:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 491363060    时间: 2016-5-22 16:39
请收下我的膝盖
作者: 彦若安    时间: 2016-5-22 17:22
666666  这个也好6   易语言就是需要你们这样的高手才能发展呀
作者: caozhigang    时间: 2016-5-22 20:08
http://salhe.ys168.com/
作者: iceboy009    时间: 2016-5-23 09:19
三目童子,冒险岛3,松鼠大战,忍者龙剑传,还有好多
作者: zfsy1224    时间: 2016-5-23 22:21
这个必须支持  下载了         
作者: newit    时间: 2016-5-24 09:49
水平有限看不大明白,也要支持楼主
作者: qq123456aa    时间: 2016-5-26 16:04
这个必须支持  下载了
作者: 我是苍狼    时间: 2016-5-26 16:25
谢谢楼主分享
作者: 流氓凡    时间: 2016-5-28 11:03
感谢分享!!!
作者: xshun825    时间: 2016-5-28 19:19
很不错,谢谢楼主分享
作者: Jy小多    时间: 2016-5-29 11:37
我就想问问 大侠们的源码怎么都写英文的?不写中文?
中文不是更加易懂?   难道写英文会提高效率 速度?  
不会是装X吧~~
作者: xiaoyao01    时间: 2016-5-29 21:14
显然 看不懂 不过还是下载学习
作者: huyao520    时间: 2016-5-31 13:07
看不懂 不过还是下载学习
作者: zkzqzzz    时间: 2016-6-5 07:51
楼主很赞    学习谢谢感谢
作者: 小生怕怕啊    时间: 2016-6-13 10:06
感觉没任何技术含量,纯苦力活!



作者: 天蝎浪花    时间: 2016-6-16 17:56
哇噻,易语言还能写魂斗罗?!
作者: Meself    时间: 2016-6-17 05:04
我曹没分了。必须要恢复了。
作者: 忧郁之子    时间: 2016-6-19 10:49
谢谢分享,支持了。
作者: 小生怕怕啊    时间: 2016-6-20 11:52
置顶是啥意思啊?我说错了?
作者: eyyyiqi    时间: 2016-6-21 16:01
支持源码,虽然看不懂........
作者: 一曲肝肠断    时间: 2016-6-22 18:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: tjsu    时间: 2016-6-29 08:11
支持开源 谢谢分享
作者: tyuttyu    时间: 2016-7-21 10:15
只是来拿配色而已
作者: 星云散落    时间: 2016-8-2 21:14
感谢分享 发布辛苦
作者: 二月De思念    时间: 2016-8-28 16:06

感谢分享 发布辛苦
作者: By名扬    时间: 2016-9-10 12:25
太厉害了啊
作者: InstallTest    时间: 2016-9-22 08:41
预览版本基本完成
作者: 笑拥孤独    时间: 2016-10-8 17:09
支持源码,虽然看不懂........
作者: 绣工坊墙布    时间: 2016-10-26 23:28
牛逼的人,膜拜
作者: a1501671226    时间: 2016-11-3 11:17
支持                   6666
作者: 易语言血洗    时间: 2017-4-20 22:29
是真的麻烦得很
作者: 9876543210    时间: 2017-5-12 22:23
表示把别的游戏载入进去直接乱了。
作者: twsdc    时间: 2017-11-26 20:58
们有文字恐惧症 ==。。。们有文字恐惧症 ==。。。
作者: gg867594531    时间: 2022-5-9 01:27
支持源码,虽然看不懂.......
作者: 仇血    时间: 2022-8-19 09:18
支持
作者: wangzhuan35    时间: 2024-2-18 18:58
支持源码,虽然看不懂.......




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4