DAT (Ever17): Difference between revisions

From Game Research Wiki
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
!colspan="15"|Header
!colspan="15"|Header
|-
|-
! Size !! Content
! Size !! Content !! Description
|-
|-
| 4Bytes || Magic/ID
| 4Bytes || Magic/ID ||
|-
|-
| 4Bytes|| File Count
| 4Bytes|| File Count ||
|-
|-
| 8Bytes|| 0x00 Filler
| 8Bytes|| 0x00 Filler ||
|}
|-
{| class="wikitable"
| class="wikitable"
!colspan="15"|Index
!colspan="15"|Index
|-
|-
! Size !! Content
! Size !! Content !! Description
|-
|-
| 4Bytes || Offset
| 4Bytes || Offset ||
|-
|-
| 4Bytes|| File Size
| 4Bytes|| File Size ||
|-
|-
| 24Bytes|| File name
| 24Bytes|| File name ||
|}
|}


Line 33: Line 33:


Internal formats, specifically *.JPG's from the wallpaper.dat have a strange thing about them. While I have only tested a few files, it appears about 4,000 bytes into the file, there is a 256 byte chuck that differs which breaks the image. When using the in-game option to save wallpapers, the image is proper and correct. Will most likely require a disassembler to figure out what exactly is going on. Note: This is only about the *.JPG's inside wallpaper.dat. Other files don't show this pattern.
Internal formats, specifically *.JPG's from the wallpaper.dat have a strange thing about them. While I have only tested a few files, it appears about 4,000 bytes into the file, there is a 256 byte chuck that differs which breaks the image. When using the in-game option to save wallpapers, the image is proper and correct. Will most likely require a disassembler to figure out what exactly is going on. Note: This is only about the *.JPG's inside wallpaper.dat. Other files don't show this pattern.
2014/10/07 Research
Program only reads from 'wallpaper.dat' when saving files. In-engine view of picture uses the game asset version loaded from 'bg.dat'. Currently using dissembler/debugger to see what it does with the file after it has loaded it into memory. External monitor shows it first loads the first 16 bytes of the file (wallpaper.da), which is the header, and then loads 22,778 bytes which is probably the entire index since when it reads the JPG file, it seeks to position and reads size of JPG without checking index. Need to compare more than one jpg to see if part that is different is predictable. This may only apply to wallpaper.dat since no other files extracted show this issue. the JPGs could have been
processed before building the wallpaper archive and the engine, when saving, will reverse/repair the broken part when saving.
-Possible test:
Extract all data and replace a specific image and try to extract it and see what the results are.

Revision as of 21:15, 10 July 2014


Seen/used in the follow game(s):

  • Ever17

Structure

Header
Size Content Description
4Bytes Magic/ID
4Bytes File Count
8Bytes 0x00 Filler
class="wikitable" Index
Size Content Description
4Bytes Offset
4Bytes File Size
24Bytes File name

Stored offset starts at zero. Actual offset = (16+(file count * 32)).

Stored file size is doubled. Actual file size = (file size /2).

Internal formats, specifically *.JPG's from the wallpaper.dat have a strange thing about them. While I have only tested a few files, it appears about 4,000 bytes into the file, there is a 256 byte chuck that differs which breaks the image. When using the in-game option to save wallpapers, the image is proper and correct. Will most likely require a disassembler to figure out what exactly is going on. Note: This is only about the *.JPG's inside wallpaper.dat. Other files don't show this pattern.

2014/10/07 Research Program only reads from 'wallpaper.dat' when saving files. In-engine view of picture uses the game asset version loaded from 'bg.dat'. Currently using dissembler/debugger to see what it does with the file after it has loaded it into memory. External monitor shows it first loads the first 16 bytes of the file (wallpaper.da), which is the header, and then loads 22,778 bytes which is probably the entire index since when it reads the JPG file, it seeks to position and reads size of JPG without checking index. Need to compare more than one jpg to see if part that is different is predictable. This may only apply to wallpaper.dat since no other files extracted show this issue. the JPGs could have been processed before building the wallpaper archive and the engine, when saving, will reverse/repair the broken part when saving. -Possible test: Extract all data and replace a specific image and try to extract it and see what the results are.