3ds汉化吧 关注:151,011贴子:1,634,268
  • 11回复贴,共1

问个关于伪典女神转生东京默示录汉化的问题

只看楼主收藏回复

我们正在尝试着汉化伪典女神转生
但是伪典女神转生对话语句是标准
shift-jis 而且是单双字节混用的那种
因为atlus加了密还需要解密所以只能
自己写文本导出工具。如果都是双
字节的话也好 关键是混着单字节 问
一下
data[0],data[1],data[2]
三个字节的数据 包含一个单字节sjis
字和一个双字节的sjis字
如何用if按顺序判断哪两个是一组
那一个是一个单蹦个的?
例如
if(data[0]??)....
if(data[0]??&&data[1]??)....
if(data[1]??)....
if(data[1]??&&data[2]??)....
这种的方式
我现在用的是
if(
(nnum>=0x81&&nnum<=0x9f)||
(nnum>=0xe0&&nnum<=0xfc)
).....
虽然也能导 但是太大老粗
单字和双字到底区别在哪?


IP属地:河北来自Android客户端1楼2023-10-23 22:32回复
    我不会编程,但有一个见解,不知道有没有用,
    S-jis编码,单字节主要是字母标点等内容,单字节是从20开始的,而80-,而双字节的字母标点等内容是从8140开始到889E结束的,而汉字部分是从889F开始的,
    看能否设置一个判断,跳过单字节对应的81-88段,看看导出结果如何,或者是判断如果导出的是空白数据,就选择双字节。
    你可以找找蓝山魔导和天诛熊的文本导出工具,他们都有单双字节控制的导出方式,从他们那里应该能得到一些灵感。


    IP属地:广东2楼2023-10-24 09:00
    收起回复
      20=
      21=!
      22="
      23=#
      24=$
      25=%
      26=&
      27='
      28=(
      29=)
      2A=*
      2B=+
      2C=,
      2D=-
      2E=.
      2F=/
      30=0
      31=1
      32=2
      33=3
      34=4
      35=5
      36=6
      37=7
      38=8
      39=9
      3A=:
      3B=;
      3C=<
      3D==
      3E=>
      3F=?
      40=@
      41=A
      42=B
      43=C
      44=D
      45=E
      46=F
      47=G
      48=H
      49=I
      4A=J
      4B=K
      4C=L
      4D=M
      4E=N
      4F=O
      50=P
      51=Q
      52=R
      53=S
      54=T
      55=U
      56=V
      57=W
      58=X
      59=Y
      5A=Z
      5B=[
      5C=\
      5D=]
      5E=^
      5F=_
      60=`
      61=a
      62=b
      63=c
      64=d
      65=e
      66=f
      67=g
      68=h
      69=i
      6A=j
      6B=k
      6C=l
      6D=m
      6E=n
      6F=o
      70=p
      71=q
      72=r
      73=s
      74=t
      75=u
      76=v
      77=w
      78=x
      79=y
      7A=z
      7B={
      7C=|
      7D=}
      7E=~
      A1=。
      A2=「
      A3=」
      A4=、
      A5=・
      A6=ヲ
      A7=ァ
      A8=ィ
      A9=ゥ
      AA=ェ
      AB=ォ
      AC=ャ
      AD=ュ
      AE=ョ
      AF=ッ
      B0=ー
      B1=ア
      B2=イ
      B3=ウ
      B4=エ
      B5=オ
      B6=カ
      B7=キ
      B8=ク
      B9=ケ
      BA=コ
      BB=サ
      BC=シ
      BD=ス
      BE=セ
      BF=ソ
      C0=タ
      C1=チ
      C2=ツ
      C3=テ
      C4=ト
      C5=ナ
      C6=ニ
      C7=ヌ
      C8=ネ
      C9=ノ
      CA=ハ
      CB=ヒ
      CC=フ
      CD=ヘ
      CE=ホ
      CF=マ
      D0=ミ
      D1=ム
      D2=メ
      D3=モ
      D4=ヤ
      D5=ユ
      D6=ヨ
      D7=ラ
      D8=リ
      D9=ル
      DA=レ
      DB=ロ
      DC=ワ
      DD=ン
      DE=゙
      DF=゚


      IP属地:广东3楼2023-10-24 13:46
      收起回复
        发一下方法
        int isChineseSiftJis(int nnum0,int nnum1)
        {
        if(nnum1==0)//2000-7E00
        {
        return 1;
        }
        if(
        (nnum0>=0x81&&nnum0<=0x84)||
        (nnum0>=0x87&&nnum0<=0x8F)||
        (nnum0>=0x90&&nnum0<=0x9F)||
        (nnum0>=0xE0&&nnum0<=0xEA)||
        (nnum0>=0xEd&&nnum0<=0xEE)
        )
        return 1;
        return 0;
        }


        IP属地:河北来自Android客户端4楼2023-10-24 19:52
        回复
          FYI:
          https://b23.tv/lqUgWpn


          IP属地:广东来自手机贴吧5楼2023-10-28 18:12
          收起回复
            卧槽 大佬云集 楼主NB 加油!!!!!!!!!!!!!!!!!!!


            IP属地:江苏6楼2023-10-31 17:07
            回复