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.


Topics - Sebanisu

Pages: [1]
1
At location 0x7A9B10 in FF8_EN.exe 2013 steam version. Is the TIM file for Card Faces.

I was confused about the TIM data for the Card Faces. As I seemed to be missing half the cards. Turns out the CLUT is a bit unique. The CLUT Width is 256 and Height is 56. Usually this means there are 256 colors and 56 palettes. But turns out there are 110 palettes of 128 colors and 1 palette of 256 colors. So the game is taking the left half and right half of the cult and swapping between them for all the cards. The card image data has like 4 rows by 28 columns of cards. The odd columns would use the left side of the CLUT and the even columns would use the right side of the CLUT. The card back uses the most colors so it uses both sides.

Just wanted to share. Trying to prep OpenVIII for some card game coding.
CLUT data:

After writing some code to combine all the card faces with the correct palettes into one image:



At location 0x796A90 in FF8_EN.exe 2013 steam version. Is the TIM file for Symbols & Numbers.
This one had it's CLUT divided into 16 rows x 3 cols of 16 color palettes. Total of 48 palettes. Though a majority of them were empty. I did a break down:       
Code: [Select]
            3 pages, 256x256; inside () is palette id +1.
            page 1 = 5 rows. first 3 rows are 16x16 grid, last 2 rows are a 24x24 grid
                      row 1 has 11 hex numbers: 0-A (1)
                      row 2 4 of 4 frame animations: fire(4), ice(7), lightning(10), earth(13)
                      row 3 4 of 4 frame animations: poison(16), wind(19), water(22), holy(25)
                     row 4 has 9 numbers: 0-9 (28)
                      row 5 has 2 items: +1, -1 (31 or 34)
            page 2 = 3 rows of 256x48: You Win!(2), You Lose...(5), Draw(8)
            page 3 = 3 rows of 256x64: Same!(9), Plus!(6), Combo!(9)
Seems CLUT column 1 was for everything on the left page. CLUT column 2 was for the center page and CLUT  column 3 was for the right. Every subgroup has its own palette.

After writing some code to combine all the pieces with the correct palettes into one image:


Update: I noticed timviewer was overriding the color's per clut to 16 for 4 bpp tims. So I added some code to do that. So I no longer need to force it for the Symbols and Numbers.

http://forums.qhimm.com/index.php?topic=11084.msg154418#msg154418 This guy figured it out a while ago :P

2
I am posting this in reference to Final Fantasy VIII Remaster. Because they updated it. But this could be used with any of the steam games. Just would have different IDs.

https://www.youtube.com/watch?v=SO8wdhK-VUg <--- reference video shows how to do this with Skyrim.

Run this with Windows Key + R:
Code: [Select]
steam://nav/consoleIn Steam console run:
Code: [Select]
download_depot 1026680 1026681 6690602264714227718It will download the release build of Final Fantasy VIII Remaster.
When the download is complete it'll tell you in the console where it was saved
Code: [Select]
Downloading depot 1026681 (2211 MB) ...
ExecuteSteamURL: "steam://open/downloads"
ExecuteSteamURL: "steam://open/downloads"
Depot download complete : "C:\Program Files (x86)\Steam\steamapps\content\app_1026680\depot_1026681" (28 files, manifest 6690602264714227718)
You will have to manually grab the files and move them into the correct folder.

What that command is:
Code: [Select]
download_depot [APP_ID] [DEPOT_ID] [MANAFEST_ID]
To get ids:
https://steamdb.info/app/1026680/ <--- FF8 Remaster on that site goto depots.
https://steamdb.info/app/1026680/depots/ <--- Click the depot id for the one that actually contains the game files.
https://steamdb.info/depot/1026681/ <--- Click on the Manifests and look for the id for the build you want using the date as a reference.


3
FF8 Tools / [PC Remaster] FFVIII_LAUNCHER-Alternative
« on: 2019-10-02 20:33:44 »
https://github.com/Sebanisu/FFVIII_LAUNCHER-Alternative

I was trying to use simpledllloader and it was interfering with the FFVIII_LAUNCHER. Who knows why? Maybe I was doing something wrong. :P So I made this. Maybe you guys could find use for it. You replace the FFVIII_LAUNCHER.exe with this and then the game pretty much just starts instead of showing the launcher. This is a console app so you might see the box show up for a few seconds while it starts the game.

4
FF8 Tools / [PNG] Texture Splitter
« on: 2019-09-04 23:46:13 »
https://github.com/Sebanisu/TextureSplitter/releases

A simple automatic tool. It takes square textures and splits them into 4 parts. Or, it takes textures that have a width 2 x the height and splits those in 2. We made for FF8 as there are some textures that require a full images and split images. Unsure if anyone can use it for anything else.

You just have to drag the selection of pngs or folders of pngs onto the EXE and it'll generate the new files in the same folders as the original pngs.

I'll make updates if someone requests it to do more. I'm using monogame to do the splitting because we're already using it for OpenVIII so I could port the code over easy.

5
https://github.com/Sebanisu/zzzDeArchive/releases

I made mine to give a little menu and ask for paths to files/folders. Completely command line, very simple, quick. When creating a zzz archive wait for it to exit, and it defaults to out.zzz. Then you can rename and copy that where you want.

I credit Maki for reversing it, I just made the code in c#. Post an issue on github if you have any issues. I had originally posted this as part of the OpenVIII project. Though to make a release I thought it should be stand alone.

Update: Sept-4-2019  I added some code to the end where it now opens the folder where the out.zzz is after it's created. Same with extraction it'll now open that folder for you.
Update: Sept-5-2019  I added the ability to merge two zzz files and some command line support.
Update: Sept-10-2019 Fixed a bug in merge.
Update: Sept-14-2019 Fixed a bug or 2. And added SHA1 verification for after making the zzz.
Update: Sept-15-2019 Added warning message if adding files and not replacing during merge.
Update: Sept-16-2019 Multi-file merges. It will increment the out.zzz if there is a write lock.
Update: Sept-18-2019 New Windows GUI and logging.
Update: Sept-20-2020 Mostly bug fixes and new exceptions to prevent the wrong things from happening.

See also: qt-zzz http://forums.qhimm.com/index.php?topic=19206.0

6
Scripting and Reverse Engineering / FF8 - GF HP formula
« on: 2019-06-25 17:48:10 »
I wrote this in excel. Seems to be giving good results.
Code: [Select]
=((FLOOR.MATH(POWER([Level],2)/25)+250+[HP_MOD]*[Level])*([@Percent]+100))/100
I didn't see max hp for gfs in doomtrain. No need to floor when using integers though no such thing in excel I think :P

Here's the c# code.
Code: [Select]
            public ushort MaxHP
            {
                get
                {
                    int max = ((Level * Level / 25) + 250 + Kernel_bin.JunctionableGFsData[ID].HP_MOD * Level) * (Percent + 100) / 100;
                    return (ushort)(max > Kernel_bin.MAX_HP_VALUE ? Kernel_bin.MAX_HP_VALUE : max);
                }
            }

            public int Percent
            {
                get
                {
                    int p = 0;
                    List<Kernel_bin.Abilities> unlocked = UnlockedGFAbilities;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_10))
                        p += 10;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_20))
                        p += 20;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_30))
                        p += 30;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_40))
                        p += 40;
                    return p;
                }
            }

I'm not sure if i'm missing a variable. Like if 250 isn't a fixed value or not. Or if there is another buff to GF hp.

7
Troubleshooting / Lost discord access.
« on: 2019-06-22 13:14:17 »
I am sorry about using @moderators too much. I was just trying to alert to new bot posts. Mind if I get a new invite link?

8
I put in the formula for max hp from doomtrain and i'm getting a different number than the one in game.

Squall has 529 max hp. At level 8 with no junctions.

Code: [Select]
            public int HP(byte lvl, byte magic_J_val=0,byte magic_count=0, byte stat_bonus=0, byte percent_mod=100)
            {
                return (int)((magic_J_val * magic_count + stat_bonus + lvl * _HP[0] - (10 * lvl ^ 2) / _HP[1] + _HP[2]) * percent_mod) / 100;
            }
the formula gives me 531

I used the formula that pops up if you click the button.

I have the 3 hp vars in an array. Well there are four but I think the fourth is always zero.

Anyone have an idea?

9
I was going to draw menus by hand but thought the dims and text are probably in a file somewhere. Anyone know where?

10
Q-Gears / Trying again :)
« on: 2014-04-22 01:06:05 »
I made some progress at the end of last week. I got a batch files setup for setting up and compiling Boost and Ogre.

I am re-downloading the q gears source.

I feel bad for not posting anything in a month. I kinda got busy and then 4 weeks passed by. I decided to post a new topic since my other one was so old.

Should I put the code for these batch files on the forum? They could be useful. Should I use pastebin or something?

11
Q-Gears / Interested in trying to contribute to Q Gears
« on: 2014-03-10 01:02:31 »
I have an Associates in Software Application Programming. I was taught command line C++, Visual Basic 6 and some Java. I'm not really experienced. Lately my skills have been used in messing with PHP and Python. And, my job has nothing to do with programming.

I have tried to code a game engine before. It was a clone of ARC. I wrote it with C++ and SDL 1.2. It worked, but it was slow. And, I never finished it. I told my self, I was going to wait for SDL 1.3 or 2.0. The one that was updated to use newer hardware acceleration. I poked at trying to use opengl. But I didn't understand how to take a 2d top down game like ARC and port it to a 3d engine.

Since you guys are short handed, and I am off 3/4 days a week. Maybe I could lend a hand. I don't know how much time it'd take to get up to speed, though.

I guess the first step would be to compile it on my system.

I was wondering what IDE you guys recommend for Windows. I last used Visual Studio Express 2005 or something.

I spent a whole evening reading old posts, and I couldn't sign up at the time. I hope I can help.

I have 3 copies of FF7 (Steam, Original PC, PSX version). I have FF8 (Steam and PSX) and FF9, I had FFX lost it, I have FFX-2 though. Oh yeah I have FFXII as well almost forgot.

I think I'll just focus on compiling it this week.

My System Specs:
Window 7 64bit Home Premium
AMD Phenom X4 2.30 Ghz
6 GBs of ram
nVidia Geforce 465 GTX

Pages: [1]