Author Topic: FF7 redraw font texture  (Read 4734 times)

red_evilspirit

  • *
  • Posts: 41
    • View Profile
FF7 redraw font texture
« on: 2017-09-16 07:24:51 »
Does it have anyway to add more alphabet to display in game?
I dump .png in .tim file, i see it only have basic english alphabet. I draw new symbol and put back window.bin but ff7 doesn't recogize it

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: FF7 redraw font texture
« Reply #1 on: 2017-09-16 07:40:53 »
window.bin requires manual hex editing to make it work after alterations

http://forums.qhimm.com/index.php?topic=7152.msg248133#msg248133

red_evilspirit

  • *
  • Posts: 41
    • View Profile
Re: FF7 redraw font texture
« Reply #2 on: 2017-09-16 09:32:47 »
could you tell me more, actually i don't know about hex edit.
link of FF7 BinExplorer not working anymore.
--
My problem: I use Hack7 insert edited font to window.bin, FF7 run but not show new symbol i draw, original charater sill work.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: FF7 redraw font texture
« Reply #3 on: 2017-09-16 09:48:17 »
I am way too busy to help with that.  And I think the main game font is in Menu.lgp NOT window.bin (for PC)

red_evilspirit

  • *
  • Posts: 41
    • View Profile
Re: FF7 redraw font texture
« Reply #4 on: 2017-09-16 13:50:00 »
In window.bin i redraw 'ä => ạ', i draw new 'o'.

When i type in MakouReactor, it can display but not

-----------------
And font in Menu.lgp, i think it used to display text on game menu not for dialog when character talk.
I use Vincent-Tim dump tex file in Menu.lgp, i see alphabet table not much as window.bin

--------
i don't know the way that ff7 system recognize symbol we input and find it in font texture file. Somehow changing it in hex maybe i can input full alphabet
« Last Edit: 2017-09-16 14:02:09 by red_evilspirit »

red_evilspirit

  • *
  • Posts: 41
    • View Profile
Re: FF7 redraw font texture
« Reply #5 on: 2017-09-17 18:23:38 »
i see this table in Hack7 tool
Spoiler: show
<FIELD>
    <code id="00" value=" " size="03" />
    <code id="01" value="!" size="03" />
    <code id="02" value="&quot;" size="0A" />
    <code id="03" value="#" size="0A" />
    <code id="04" value="$" size="07" />
    <code id="05" value="%" size="0A" />
    <code id="06" value="&amp;" size="09" />
    <code id="07" value="'" size="03" />
    <code id="08" value="(" size="0A" />
    <code id="09" value=")" size="0A" />
    <code id="0A" value="*" size="07" />
    <code id="0B" value="+" size="07" />
    <code id="0C" value="," size="08" />
    <code id="0D" value="-" size="05" />
    <code id="0E" value="." size="07" />
    <code id="0F" value="/" size="06" />
    <code id="10" value="0" size="08" />
    <code id="11" value="1" size="09" />
    <code id="12" value="2" size="08" />
    <code id="13" value="3" size="08" />
    <code id="14" value="4" size="08" />
    <code id="15" value="5" size="08" />
    <code id="16" value="6" size="08" />
    <code id="17" value="7" size="08" />
    <code id="18" value="8" size="08" />
    <code id="19" value="9" size="08" />
    <code id="1A" value=":" size="07" />
    <code id="1B" value=";" size="04" />
    <code id="1C" value="&lt;" size="07" />
    <code id="1D" value="=" size="08" />
    <code id="1E" value=">" size="07" />
    <code id="1F" value="?" size="06" />
    <code id="20" value="@" size="0A" />
    <code id="21" value="A" size="09" />
    <code id="22" value="B" size="07" />
    <code id="23" value="C" size="08" />
    <code id="24" value="D" size="08" />
    <code id="25" value="E" size="07" />
    <code id="26" value="F" size="07" />
    <code id="27" value="G" size="08" />
    <code id="28" value="H" size="08" />
    <code id="29" value="I" size="03" />
    <code id="2A" value="J" size="06" />
    <code id="2B" value="K" size="07" />
    <code id="2C" value="L" size="07" />
    <code id="2D" value="M" size="0B" />
    <code id="2E" value="N" size="08" />
    <code id="2F" value="O" size="09" />
    <code id="30" value="P" size="07" />
    <code id="31" value="Q" size="09" />
    <code id="32" value="R" size="07" />
    <code id="33" value="S" size="07" />
    <code id="34" value="T" size="07" />
    <code id="35" value="U" size="08" />
    <code id="36" value="V" size="09" />
    <code id="37" value="W" size="0B" />
    <code id="38" value="X" size="08" />
    <code id="39" value="Y" size="09" />
    <code id="3A" value="Z" size="07" />
    <code id="3B" value="[" size="04" />
    <code id="3C" value="\" size="06" />
    <code id="3D" value="]" size="04" />
    <code id="3E" value="^" size="07" />
    <code id="3F" value="_" size="08" />
    <code id="40" value="`" size="04" />
    <code id="41" value="a" size="07" />
    <code id="42" value="b" size="07" />
    <code id="43" value="c" size="06" />
    <code id="44" value="d" size="07" />
    <code id="45" value="e" size="07" />
    <code id="46" value="f" size="06" />
    <code id="47" value="g" size="07" />
    <code id="48" value="h" size="07" />
    <code id="49" value="i" size="03" />
    <code id="4A" value="j" size="04" />
    <code id="4B" value="k" size="06" />
    <code id="4C" value="l" size="03" />
    <code id="4D" value="m" size="0B" />
    <code id="4E" value="n" size="07" />
    <code id="4F" value="o" size="07" />
    <code id="50" value="p" size="07" />
    <code id="51" value="q" size="07" />
    <code id="52" value="r" size="05" />
    <code id="53" value="s" size="06" />
    <code id="54" value="t" size="06" />
    <code id="55" value="u" size="07" />
    <code id="56" value="v" size="07" />
    <code id="57" value="w" size="0B" />
    <code id="58" value="x" size="07" />
    <code id="59" value="y" size="07" />
    <code id="5A" value="z" size="06" />
    <code id="5B" value="{" size="05" />
    <code id="5C" value="|" size="03" />
    <code id="5D" value="}" size="05" />
    <code id="5E" value="~" size="08" />

    <code id="60" value="Ä" size="0B" />
    <code id="61" value="Á" size="0E" />
    <code id="62" value="Ç" size="0A" />
    <code id="63" value="É" size="0B" />
    <code id="64" value="Ñ" size="0B" />
    <code id="65" value="Ö" size="09" />
    <code id="66" value="Ü" size="08" />
    <code id="67" value="á" size="07" />
    <code id="68" value="à" size="07" />
    <code id="69" value="â" size="07" />
    <code id="6A" value="ä" size="07" />
    <code id="6B" value="ã" size="07" />
    <code id="6C" value="å" size="07" />
    <code id="6D" value="ç" size="07" />
    <code id="6E" value="é" size="07" />
    <code id="6F" value="è" size="07" />
    <code id="70" value="ê" size="07" />
    <code id="71" value="ë" size="07" />
    <code id="72" value="í" size="04" />
    <code id="73" value="ì" size="04" />
    <code id="74" value="î" size="04" />
    <code id="75" value="ï" size="04" />
    <code id="76" value="ñ" size="07" />
    <code id="77" value="ó" size="07" />
    <code id="78" value="ò" size="07" />
    <code id="79" value="ô" size="07" />
    <code id="7A" value="ö" size="07" />
    <code id="7B" value="õ" size="07" />
    <code id="7C" value="ú" size="07" />
    <code id="7D" value="ù" size="07" />
    <code id="7E" value="û" size="07" />
    <code id="7F" value="ü" size="07" />

    <code id="81" value="°" size="06" />
    <code id="82" value="¢" size="07" />
    <code id="83" value="£" size="08" />

    <code id="87" value="ß" size="07" />

    <code id="8B" value="´" size="04" />
    <code id="8C" value="¨" size="05" />
    <code id="8D" value="≠" size="08" />
    <code id="8E" value="Æ" size="0C" />
    <code id="8F" value="Ø" size="09" />
    <code id="90" value="∞" size="0B" />
    <code id="91" value="±" size="07" />
    <code id="92" value="≤" size="07" />
    <code id="93" value="≥" size="07" />
    <code id="94" value="¥" size="09" />
    <code id="95" value="µ" size="07" />
    <code id="96" value="∂" size="07" />
    <code id="97" value="Σ" size="07" />
    <code id="98" value="Π" size="09" />
    <code id="99" value="π" size="08" />
    <code id="9A" value="⌡" size="04" />
    <code id="9B" value="ª" size="06" />
    <code id="9C" value="º" size="06" />
    <code id="9D" value="Ω" size="09" />
    <code id="9E" value="æ" size="0B" />
    <code id="9F" value="ø" size="07" />
    <code id="A0" value="¿" size="06" />
    <code id="A1" value="¡" size="03" />
    <code id="A2" value="¬" size="08" />
    <code id="A3" value="√" size="07" />
    <code id="A4" value="ƒ" size="03" />
    <code id="A5" value="≈" size="08" />
    <code id="A6" value="∆" size="09" />
    <code id="A7" value="«" size="07" />
    <code id="A8" value="»" size="07" />
    <code id="A9" value="..." size="09" />

    <code id="AE" value="Œ" size="0C" />
    <code id="AF" value="œ" size="0B" />
    <code id="B0" value="–" size="05" />
    <code id="B1" value="—" size="05" />
    <code id="B2" value="“" size="06" />
    <code id="B3" value="”" size="06" />
    <code id="B4" value="‘" size="06" />
    <code id="B5" value="’" size="06" />
    <code id="B6" value="÷" size="07" />
    <code id="B7" value="◊" size="07" />
    <code id="B8" value="ÿ" size="07" />
    <code id="B9" value="Ÿ" size="09" />
    <code id="BA" value="⁄" size="07" />

    <code id="BC" value="‹" size="05" />
    <code id="BD" value="›" size="05" />
    <code id="BE" value="fi" size="07" />
    <code id="BF" value="fl" size="07" />
    <code id="C0" value="■" size="08" />
    <code id="C1" value="▪" size="03" />
    <code id="C2" value="‚" size="04" />
    <code id="C3" value="„" size="06" />
    <code id="C4" value="‰" size="0D" />
    <code id="C5" value="Â" size="09" />
    <code id="C6" value="Ê" size="07" />

    <code id="E0" value="{CHOICE}" size="1E" />
    <code id="E1" value="{TAB}" size="0C" />
    <code id="E2" value=", " size="0B" />
    <code id="E3" value=".&quot;" size="11" />
    <code id="E4" value="...&quot;" size="13" />

    <code id="E7" value="\r\n"  />
    <code id="E8" value="{NEW_PAGE}\r\n"  />

    <code id="EA" value="{Clad}" size="40" />
    <code id="EB" value="{Barret}" size="40" />
    <code id="EC" value="{Tifa}" size="40" />
    <code id="ED" value="{Aeris}" size="40" />
    <code id="EE" value="{Nanaki}" size="40" />
    <code id="EF" value="{Youfie}" size="40" />
    <code id="F0" value="{Cait Sith}" size="40" />
    <code id="F1" value="{Vincent}" size="40" />
    <code id="F2" value="{Cid}" size="40" />
    <code id="F3" value="{Party 1}" size="40" />
    <code id="F4" value="{Party 2}" size="40" />
    <code id="F5" value="{Party 3}" size="40" />
    <code id="F6" value="{O}" size="11" />
    <code id="F7" value="{T}" size="11" />
    <code id="F8" value="{S}" size="11" />
    <code id="F9" value="{X}" size="11" />

    <code id="FED2" value="{GRAY}"  />
    <code id="FED3" value="{BLUE}"  />
    <code id="FED4" value="{RED}"  />
    <code id="FED5" value="{PURPLE}"  />
    <code id="FED6" value="{GREEN}"  />
    <code id="FED7" value="{CYAN}"  />
    <code id="FED8" value="{YELLOW}"  />
    <code id="FED9" value="{WHITE}"  />
    <code id="FEDA" value="{BLINK_GRAY}"  />
    <code id="FEDB" value="{MULTICOLOR}"  />
    <code id="FEDC" value="{PAUSE}" />
    <code id="FEDD" value="{TIMER=" />
    <code id="FEDE" value="{VAR1}" size="30" />
    <code id="FEDF" value="{VAR2}" size="20" />
    <code id="FEE0" value="{SCROLLING}" />
    <code id="FEE1" value="{VAR3}" size="20" />
    <code id="FEE2" value="{CHOCOBO}" />
    <code id="FEE9" value="{SPACED}" />
    <code id="FF" value=""  />
  </FIELD>

how to use it in hex editing?