Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Demon's Souls fonts and textures, .tpf archives

Featured Replies

  • Author
  • Localization

gerald007, posted Wed Apr 03, 2019 7:01 am (46411)


Acewell wrote:

Yeap. Not unpacked.
Code:
Unpacking TPF: dsfont24.tpf...
Unhandled exception: System.NotSupportedException: Yabber does not support console TPFs at the moment.
   location: Yabber.YTPF.Unpack(TPF tpf, String sourceName, String targetDir)
   location: Yabber.Program.UnpackFile(String sourceFile)
   location: Yabber.Program.Main(String[] args)

One or more errors were encountered and displayed above.
Press any key to exit.
  • Author
  • Localization

Acewell, posted Wed Apr 03, 2019 9:01 am (46416)


gerald007 wrote:
I need help unpack .... fonts, textures.

here is Noesis python script to get you halfway there, modding is not my area. :D

supports dxt1 and dxt5

tex_DemonsSouls_PS3_tpf.zip

  • Author
  • Localization

gerald007, posted Wed Apr 03, 2019 9:24 am (46417)


Acewell wrote:
gerald007 wrote:
I need help unpack .... fonts, textures.

here is Noesis python script to get you halfway there, modding is not my area. :D
tex_DemonsSouls_PS3_tpf.zip
supports dxt1 and dxt5

Yes, unpacked textures and fonts but not support import. :(
  • Author
  • Localization

gerald007, posted Sat Apr 06, 2019 1:07 pm (46526)


Can somebody help me?
  • Author
  • Localization

Acewell, posted Sat Apr 06, 2019 10:41 pm (46539)


here use this bms script for reimport only. :)
Code:
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm

endian big
idstring "TPF\x00"
get TOTAL_DATA_SZ long
get NUM_TEX long
goto 0x10
for i = 0     get OFFSET long
    get SIZE long
    get FORMAT byte
    goto 0x3 0 seek_cur
    get WIDTH short
    get HEIGHT short
    goto 0x8 0 seek_cur
    get STR_OFF long
    get UNK long
    savepos TMP
    goto STR_OFF
    get NAME string
    string NAME .dds
    log NAME OFFSET SIZE
    goto TMP
next i


save extracted files from Noesis as dds.
edit your image, but keep same dimensions, format and mips when saving.
create a new folder and throw all your edited images in there.
open your edited images and delete the 128 byte dds header.
reimport to tpf with the provided bms script and select the new folder as output folder when prompted.
  • Author
  • Localization

gerald007, posted Mon Apr 08, 2019 2:15 pm (46655)


Acewell wrote:
here use this bms script for reimport only. :)
Code:
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm

endian big
idstring "TPF\x00"
get TOTAL_DATA_SZ long
get NUM_TEX long
goto 0x10
for i = 0     get OFFSET long
    get SIZE long
    get FORMAT byte
    goto 0x3 0 seek_cur
    get WIDTH short
    get HEIGHT short
    goto 0x8 0 seek_cur
    get STR_OFF long
    get UNK long
    savepos TMP
    goto STR_OFF
    get NAME string
    string NAME .dds
    log NAME OFFSET SIZE
    goto TMP
next i


save extracted files from Noesis as dds.
edit your image, but keep same dimensions, format and mips when saving.
create a new folder and throw all your edited images in there.
open your edited images and delete the 128 byte dds header.
reimport to tpf with the provided bms script and select the new folder as output folder when prompted.


Thank you. Import successful. Can you show me delete the 128 byte dds header?
  • Author
  • Localization

Acewell, posted Mon Apr 08, 2019 6:34 pm (46662)


gerald007 wrote:
Can you show me delete the 128 byte dds header?

Code:
get EXT extension
if EXT == dds
    get NAME basename
    get SIZE asize
    math SIZE - 0x80
    log NAME 0x80 SIZE
else
    cleanexit
endif

:)
  • Author
  • Localization

gerald007, posted Tue Apr 09, 2019 8:11 am (46691)


Acewell wrote:
gerald007 wrote:
Can you show me delete the 128 byte dds header?

Code:
get EXT extension
if EXT == dds
    get NAME basename
    get SIZE asize
    math SIZE - 0x80
    log NAME 0x80 SIZE
else
    cleanexit
endif

:)

Thanks, fonts is worked but loading screen, menu, you died, you revived textrues not worked.
When i edit textrues, Demon's Souls stick on loading screen. How can i fix this problem?
  • Author
  • Localization

Acewell, posted Tue Apr 09, 2019 7:08 pm (46721)


gerald007 wrote:
Acewell wrote:
How can i fix this problem?

don't know, modding is not my area as i said, it sounds like you made
error in the steps, or you didn't keep with same format, size etc or the
game just doesn't want to be modded. :)
there is nothing more i can do here.
  • Author
  • Localization

gerald007, posted Sun Jun 30, 2019 10:31 am (49088)


Acewell wrote:
gerald007 wrote:
Acewell wrote:
How can i fix this problem?

don't know, modding is not my area as i said, it sounds like you made
error in the steps, or you didn't keep with same format, size etc or the
game just doesn't want to be modded. :)
there is nothing more i can do here.

Hi Acewell. I need your help again.
Can you edit the Ccm files? I want to enlarge the size of the characters and change them but the characters won't show at hex. Someone prepared a template for Dark Souls before. I send you both Dark Souls and Demons Souls CCM files now. Can you compare and adapt it to Demons Souls? If you can Convert them it will be much better. It will do the job greatly if the characters are unpacked and packed up as XML or TXT files.
Dark Souls template
Code:
//--------------------------------------
//--- 010 Editor v5.0 Binary Template
//
// File: Dark Souls .CCM (Font Definition)
// Author: Jed "Nyxojaele" Lang
// Revision: 1
//--------------------------------------
typedef struct
{
int FirstCode;
int LastCode;
int FirstGlyphIndex;
} CodeGroup ;
string ReadCodeGroup(CodeGroup &cg)
{
string ret;
SPrintf(ret, "%d-%d @ %d", cg.FirstCode, cg.LastCode, cg.FirstGlyphIndex);
return ret;
}

typedef struct
{
float U1;
float V1;
float U2;
float V2;
short PreSpace;
short Width;
short Advance;
short ImageIndex;
} GlyphStruct ;


byte Signature[4] ;
int FileSize ;
short HorizontalStretch; //Lower number = stretched more
short ImageWidth; //Not sure if width or height, since they all use 512x512
short ImageHeight; //Not sure if width or height, since they all use 512x512
short Unknown2 ;
short CodeGroupCount;
short GlyphCount;
int CodeGroupsOffset ;
int GlyphsOffset ;
short Unknown3 ;
byte ImageCount;
byte Unknown5 ;
CodeGroup CodeGroups[CodeGroupCount];
struct
{
GlyphStruct Glyph[GlyphCount];
} Glyphs;
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.