ProgSys / pg_disatools

Disgaea PC modding tools
GNU Lesser General Public License v3.0
31 stars 6 forks source link

Just a question #28

Closed jobjojo closed 1 month ago

jobjojo commented 2 months ago

Cool tool bro! Are there any dedicated sprite sheets or animation files for skills (weapon, monster, unique character, etc) For example, does the game create animation segments or sprite sheets for each skill? (can we view them in this tool)? (does this tool work for the other Disgaea PC games?)

Side note: I have been a fan of Disgaea for a long time. I've been looking for the best way/ best game to extract or view the file format involving such game assets.

And I was always intrigued by how the series creates skill cutscenes. I was also intrigued by how skill cutscenes seamlessly integrated with any weapon and character sprite combination.

I always thought the process involved technical aspects of the game coding with loading and unloading sprites for animation files. Is this the case for D1 pc?

Sorry for all the questions Thanks for help

ProgSys commented 2 months ago

Hi, sadly nobody really researched how skills truly work, but I can make some inferences, but only for Disgaea PC.

The game is very flexible from where it takes its sprites. It can use the one from the main sprite sheets located in Start/ANM00.DAT but also from any other ANM** file. So skills don't really need to have separate sprite sheets, for example they can use an jump animation form the main sprite sheets, but the special attack form another. All of it is pieced together via a script file that defines positions over time, camera angle, special effects, sounds, etc. However its highly likely that they also hard coded some stuff. In short, you can view parts of the skill with my tool, but sadly not the entire skill cutscene. For that the script needs to be interpreted.

The weapons are integrated by having placeholder frames in the sprite animation for each weapon type. The game then just replaces it with the desired weapon image. In my tool they are represented by a texture with an "E".

It kinda works similarly with character sprite combinations. The characters that shall be part of the skill are loaded into slots and the script just references the slot index. Playing back the sprite animations referencing an ID. As equal sprite animations have the same ID (like jumping has the ID 1031) the cutscene will work with different characters.