Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Maki

Pages: [1] 2 3 4 5 6 ... 25
1
Found this python script in my files:

Code: [Select]
#!/usr/bin/env python3
# Author: AnalogMan + Marcin 'Maki' Gomulak
# Modified Date: 2023-06-03
# Purpose: Compress/Decompress DDSZ files for Switch
# Requirements: LZ4 (pip install lz4)

import argparse
import lz4.block
import os
import sys
from pathlib import Path

args = None

def RecurseDecode(folder_path):
    if not args.ext:
        args.ext = 'ddsz'
    for path in Path(folder_path).rglob('*.' + args.ext):
        with open(path, 'rb') as f:
            data = f.read()
        decodedData = lz4.block.decompress(data[4:])

        with open(str(path).replace(args.ext, args.ext[:-1]), 'wb') as fd:
            bytesWritten = fd.write(decodedData)
        if args.verbose:
            print('Decoded ' + str(path) + ' (' + str(bytesWritten) + ' bytes)')


def main():
    global args
    print('\n======== DDSZ Archive Tool ========\n\n')

    if sys.version_info <= (3, 1, 0):
        print('Python version 3.1.x+ needed to run this script.\n\n')
        return 1

        # Arg parser for program options
    parser = argparse.ArgumentParser(description='Process DDSZ files with LZ4')

    parser.add_argument('--decompress', '-d', action='store', help='Decompress DDSZ file', dest='filename_decomp')
    parser.add_argument('--recurseFolder', '-r', action='store', help='Recursive mode path', dest='folder_path_recurse')
    parser.add_argument('--verbose', '-v', action='store_true', help='Verbose mode', dest='verbose')
    parser.add_argument('--extension', '-e', action='store', help='Override default DDSZ extension', dest='ext')

    # Check passed arguments
    args = parser.parse_args()

    # Check if required files exist
    if args.folder_path_recurse:
        RecurseDecode(args.folder_path_recurse)
        return 0

    filename = args.filename

    # If DDSZ, decompress RAW block
    if (filename[-4:].lower()) == 'ddsz':
        try:
            with open(filename, 'rb') as f:
                compressed = f.read()
            with open(filename[:-4] + 'dds', 'wb') as f:
                f.write(lz4.block.decompress(compressed[4:]))
            print('DDS file decompressed successfully.\n\n')
        except:
            print('Could not decompress file.\n\n')

    # If DDS, compress to DDSZ and include filesize.
    elif (filename[-3:].lower()) == 'dds':
        try:
            with open(filename, 'rb') as f:
                decompressed = f.read()
            with open(filename[:-3] + 'ddsz', 'wb') as f:
                compressed = lz4.block.compress(decompressed)
                f.write((len(compressed) + 4).to_bytes(4, byteorder='little', signed=True))
                f.write(compressed)
            print('DDS file compressed successfully.\n\n')
        except:
            print('Could not compress file.\n\n')
    else:
        print('Unsupported file.\n')
        return 1


if __name__ == "__main__":
    main()

2
ASTC is texture compression format that is almost native to handheld/console devices. Personal computers with x86 architecture and typical Nvidia/AMD graphics cards have ZERO support for ASTC. Instead, the typical compression is DXT. Graphic cards in Nintendo Switch console, iOS and Androids have native support for ASTC. Now that's where it gets tricky. The consoles and mobiles read the ASTC files as-is. On Windows you rely only on CPU.
Anyway... ASTCZ is as far as I remember LZ4 compressed raw ASTC.
You have to decompress it via LZ4 algorithm by adding the LZ4 header to the file, then... I have no idea. There was a tool AMD's "Compressor" or something which was capable of re-encoding the ASTC files but I have no idea.
ASTC work on pixel blocks, sometimes even completely outside the typical 2-4-8 bit layout (like 6x6 bit blocks which produces non power of two numbers which are problematic)


Tl;dr - add LZ4 header, decompress and then I have no idea. That AMDs compressor might help.

EDIT:
https://gpuopen.com/compressonator/

EDIT2:
Found something better from ARM directly:
https://github.com/ARM-software/astc-encoder

It let's you decode texture to TARGA with both SDR and HDR support + re-encode back to ASTC

4
WIP / Re: [FFVII] Snowboard Progress
« on: 2023-03-14 10:58:41 »
long story short-> the vertices count was limited by the engine with fixed amount of vertices to parse. Thankfully the code in assembler is easy enough for quick NOP'ing the limit.
Opcode:
Code: [Select]
0x007321D7
Code: [Select]
cmp dword ptr [ebp-0C],0x54Change it to NOPs

Quote from: L@Zar0
6 90s
Therefore 6 times 0x90 (NOP) works on opcode 0x007321D7

5
FF8 Tools / Re: [PC] Enemy editor - IFRIT (0.11C)
« on: 2023-02-19 13:15:45 »
The com144 to com199 are being used in the game? Is it possible to use them and make new enemies?
As far as I remember they are not even referenced in the internal game engine file path table, therefore without hooking the game engine function that parses enemy ID to corresponding c0m file it's impossible

6
FF8 Tools / Re: [PSX/PC] Field editor - Deling (0.12.0b)
« on: 2023-01-03 09:44:57 »
Hi, I have a few questions regarding the PSX version of the game and this software.
...

1. Check the source code for sector indexes or clone the source code, compile it in debug mode and make a breakpoint on addresses
2. No, that's totally not right. It works completely differently. PSX disc sector works on completely other structures than Windows NTFS/FAT32 file system. For LZSS-> it's possible to unpack LZSS manually. Check unLZS tool here in tools section. As for dumping sectors you have to go on your own with HEX editor. Putting everything back is doable as far as you don't exceed the sector count and make sure to NULLify all data up to next sector that is used for something else (so if you dump 5 sectors you have to reinput maximum 5 sectors. If smaller then fill remaining with 00). This is also the same as translating SNES games where everything you could do was to work with HEX editor and do everything manually
3. It can, but that's a huge amount of work with possibility of breaking everything easily. PSX and PC files are not the same. They don't have FL/FI/FS files.

However it's all possible-> for reference see balamb.pl -> they released tools for PSX translations, but as you might have guessed it's hard even to work with the tools and some don't even come up with pre-compiled binaries. Have fun!

7
this tools can unpack/repack OBB file from the android version of FF8 remastered. Just Rename the extension from .obb to .zzz and you've be able to mod the android version of FF8R

Depends:
https://forum.xentax.com/viewtopic.php?f=10&t=24842&p=180365#p180365

8
Oh it's totally fine. I was indeed 'sad' that I received zero submissions- not sure why aside the fact that someone is not an artist- it's cool. I lended the graphic design on some folks over Fiverr and the results are pretty nice

9
Closing the contest prematurely due to zero submissions for the whole week.

10
Going further - 20$ for second place for alternative logo design if needed

Also udpated information about font, as suggested by user on Discord (thanks!) - the font used in FF is copyrighed by Microsoft, so go on!
There were questions about usage of griever- as far as you create the new grieve/ alternative one that is not 1:1 to original one and also is not a mix of the original one (like vector trace) then it's totally fine. Also- nah, if you want to do the custom/own interpretation of Griever, then it doesn't really need to face left. Use imagination. It doesn't need to be Griever at all- user on Discord suggested Doomtrain as it's his favourite GF. This is the project that will be published to all of you, so if the design of any GF (including real look as in-game) is totally fine! ❤️

11
Award increased to 50$ from 20USD!

12
Update:
Uh... Got zero response. Closing contest prematurely.  :'(

Hello everyone!
To push forward the global start of heavy development on new, upgraded version 2 of the demaster mod I'm making a contest to prepare a logo for the mod. The logo that will be finally used will award 50USD on PayPal/bank transfer/PaySafeCard code/whatever to not charge me additonal fees.

It's simple, just prepare a logo with "Demaster reborn" or "Demaster Reborn" or "DEMASTER REBORN" or whatever suits best for you. Logo can be both rasterized (.png/.tga/.dds/.PSD/.whatever with RGBA) or vector (.ai/.svg/anything that I'll be able to open with Adobe).

Requirements:
1. If vector art- the filename should be available to be opened by any of the Adobe tools
2. if it's 3D Art- yes, it's fine - I accept .blender and Autodesk 3DS Max/Maya, FBX and OBJ, just make sure to apply materials)
3. If it's rasterized, please provide decent resolution. I don't want to have it to be put on ESRGAN to make it bigger
4. Please take a note that i should have transparency/alpha channel, or minimum white+black background versions

Notes:
1. Please DO NOT use copyrighted materials like original art- original Griever design or for example the official logo. SE will be able to sue the art (I think?)
2. Please DO NOT use the official font used in the logo- it's copyrighted as well to SE. If you want, you can use similar one, custom one, but never the official or trayced from original one - actually it looks like the font is Microsoft licensed, therefore go on 😁
3. Remember about the transparency or white/black pre-rendered versions
4. If your art is not going to end up as official logo, I still might be interested to buy it from you for special needs or something
5. The art is going to end up in mod that is licensed as GNU GPL 3.0- which means that the art after I choose and buy it from you will be available globally for remixes and even commercial usage

Endtime:
11.08.2022 20:00 CET (DD/MM/YYYY)

So... let's your fantasy go on! Remember, every art posted is full all rights reserved to you until I'll buy/make you a winner and the rights be transfered for Demaster Reborn usage.

If any questions- go on! Let the tournament begin!

PS> Once again! If you do something cool not sticking to requirements I might be still interested to award you!
PS2> The price can change... but only up!  ;D


Here's the example I prepared with stock art from Envato:

This art is currently all-rights-reserved, please do not copy

13
Updated JP working, updated EN repacked so no more download 1300 and then 1302

15
That is great to know.  :D

Your definitely legal software that allows extracting, modifying and re-releasing trademarked artwork (often behind a patreon paywall) does not support piracy…
The best way to promote the worst received game in a saga is definitely acting entitled with those willing to TRY it.

Dotemu troll detected

It's legal- yes- also I'm in European Union and it's totally legal to do the code reversing and EULA is just some weird long text with many difficult words- that's really sad because I speaking English bad very and I'm good no this language. The software is just some weird dinput8.dll related precompiled file, probably for controls for the launcher or something- not sure. It also have compression algorithms inside! You can open any LZ4 file with this, miracle. I didn't see any tiniest portion of the game in the code which is publicly available. I'm not sure what is happening with all the weird numbers but for sure it produces errors when pasted to Call of Duty 2 so don't try it. I though about the title and the vanilla version (1.0.0.0) - indeed it's not fair the game support 1.0.2.0 and 1.0.1.0 even with 1.0.2.0 Japanese but it doesn't have everything ready for vanilla and of course 1.0.3.0. I doubt it's fair.

Although, One thing is weird- you just registered to write this hate post, wrote that this is the worst from the series, BUT! You took the time to carefully see how does the modding work here, what is released and! Actually tried to download them so you eventually encountered patreon of the guy that manually paints and prepares NEW work. So- which company are you from?

I bet 20€ for his IP coming from France. Additional 10€ if the person wasn't behind VPN and another 10€ if this person IP has company name in host name / provider.

@mods? 😁
Actually- let's put that to charity of users choice - I'm just really curious where are you from.


16
Update the game to legal latest version- demaster doesn't support well known pirated version

17
this tool works for all languages, french etc?

Ale five main languages. Japanese version is in progress

18
There you are- should work now for 1.0.2.0 (latest)

**DEMASTER UPDATED FOR 1.0.2.0**
https://github.com/MaKiPL/FF8_demastered/releases/tag/1.3.0

19
I'm excited for that polygon feature- no normal maps, bilions of poly and no performance loss. Finally I would be able to create game based on photogrammetry without retopo

20
Releases / Re: [FF8:Remastered] Project Maximum FMV
« on: 2020-05-15 08:08:17 »
This is awesome! Wow, such quality

21
Does this work in the spanish version?
¿funciona esto en la version de españa?
I'm sorry but no- except you have a remaster, then keep reading

@Scathach
I understand this may be a little too difficult, so if you do have remaster then you can apply "Demaster" patch that have UV patch built-in. Here you can find more details:
http://forums.qhimm.com/index.php?topic=19432.0

22
Updated to 1.2.8a and repacked- there was probably an issue with debug build of the dll. It probably updated to that debug build. It's now compiled properly and packed with all the things needed:
https://github.com/MaKiPL/FF8_demastered/releases/tag/1.2.8a

23
@Yagami- could you please send me the texture you are trying to use? This kind of error is really weird ;-;
@CyberSnake - well, that's normal. This mod only unlocks the possibility of modding, it doesn't contain all new textures. I know that MCINDUS is preparing texture pack, you will be able to use it soon.

24
Please wait a bit, I know MCINDUS is preparing pre-set mods. The current release is 1.2.6 with various fixes including the one with crash. Just download the release in first post, open manager and update to 1.2.6

25
I'm not even going to read it. I don't give this kind of crap the time of day - and nor should anyone. 
This
/thread

Pages: [1] 2 3 4 5 6 ... 25