Skip to content
WLCharaPublic

About

把Gif文件转换为SHP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

GIF2SHP

简易 GIF → Westwood SHP(TS / RA2) 转换器。

本工具用于将 .gif 动图转换为《命令与征服:泰伯利亚之日 / 红色警戒2 / 尤里的复仇》可使用的 .shp 文件。

功能说明

  • 支持将 GIF 转换为 SHP(TS / RA2)。
  • 支持读取指定 .pal 调色板。
  • 支持交互式命令行。
  • 支持一次运行后连续转换多个 GIF。
  • 如果某一次转换失败,程序不会直接退出,可以继续输入下一条命令。
  • 如果输入路径没有包含目录,程序会默认从 exe 所在目录查找或输出文件。

依赖

需要将以下文件放在源码同目录:

stb_image.h

stb_image.h 可从 stb 项目获取。

编译要求

  • C++17
  • Windows
  • Visual Studio / MSVC

如果需要生成更方便分发的 exe,建议在 Release 配置中将运行库设置为:

/MT

文件结构示例

GIF2SHP/
├─ GIF2SHP.cpp
├─ stb_image.h
├─ test.gif
├─ cameo.pal
└─ GIF2SHP.exe

用法

用法 1:交互模式

直接运行程序:

.\GIF2SHP.exe

进入交互模式后输入:

makeshp test.gif test.shp cameo.pal

也可以连续转换多个文件:

makeshp test.gif test.shp cameo.pal
makeshp a.gif a.shp unittem.pal
makeshp b.gif b.shp cameo.pal
exit

用法 2:直接命令

.\GIF2SHP.exe makeshp test.gif test.shp cameo.pal

用法 3:兼容旧格式

.\GIF2SHP.exe test.gif test.shp cameo.pal

命令格式

makeshp <gif> <outshp> <palette>

参数说明:

<gif>      输入 GIF 文件
<outshp>   输出 SHP 文件
<palette>  转换时使用的 PAL 调色板

示例:

makeshp test.gif test.shp cameo.pal

路径规则

如果输入的是这种没有目录的文件名:

test.gif
test.shp
cameo.pal

程序会默认到 exe 所在目录 下查找或输出。

例如 exe 位于:

C:\Tools\GIF2SHP\

输入:

makeshp test.gif test.shp cameo.pal

实际会被解析为:

C:\Tools\GIF2SHP\test.gif
C:\Tools\GIF2SHP\test.shp
C:\Tools\GIF2SHP\cameo.pal

如果输入的是完整路径或带目录的路径,程序会按原路径处理。

例如:

makeshp C:\input\cat.gif C:\output\cat.shp C:\pal\cameo.pal

或者:

makeshp .\test.gif .\test.shp .\cameo.pal

或者:

makeshp folder\test.gif folder\test.shp folder\cameo.pal

路径带空格时的写法

如果路径中有空格,需要使用双引号:

makeshp "C:\input files\cat.gif" "C:\out files\cat.shp" "C:\pal files\cameo.pal"

常用 PAL 示例

根据实际用途选择合适的 .pal 文件:

cameo.pal    侧边栏图标 / cameo
unittem.pal  温带单位
unitsno.pal  雪地单位
isotem.pal   温带地形 / 建筑相关
isosno.pal   雪地地形 / 建筑相关

如果生成的 SHP 在编辑器中颜色不对,请确认:

  1. 转换时使用的 .pal 是否正确。
  2. 查看 SHP 时使用的 .pal 是否与转换时一致。
  3. 当前素材是否适合该调色板。

注意事项

本工具生成的是基础 SHP 文件,适合用于测试和简单素材转换。

需要注意:

  • SHP 本身只保存调色板索引,不直接保存 RGB 颜色。
  • 颜色是否正确取决于转换时和查看时使用的 .pal。
  • 照片类 GIF、复杂渐变、抗锯齿、阴影和压缩噪点可能会导致颜色变脏。
  • 如果要制作游戏内正式素材,建议尽量使用颜色简单、边缘清晰、背景透明的 GIF。
  • 本工具当前优先保证转换稳定性,不追求最小文件体积。

推荐测试素材

建议先使用简单 GIF 测试:

尺寸:32x32 / 48x48 / 64x64
背景:透明
颜色:尽量少
帧数:1~16 帧

不建议一开始就使用照片类 GIF 测试,因为照片类 GIF 对 SHP + PAL 来说颜色非常复杂。

示例

.\GIF2SHP.exe

然后输入:

makeshp test.gif test.shp cameo.pal

输出成功后,会生成:

test.shp

可以使用 OS SHP Builder 或 XCC Mixer 打开检查效果。

About

把Gif文件转换为SHP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages