User:Pixloen/FPANModding/Backgrounds

From Mizuumi Wiki
< User:Pixloen‎ | FPANModding
Revision as of 22:01, 12 June 2024 by Pixloen (talk | contribs) (new stages page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About Stage Models

French Bread games (except for DFCI) use a proprietary version of the Autodesk FBX format (fbx.bin or fbxex). MELTY BLOOD TYPE LUMINA also contains fbx.json. That means there are no conversion tools for fbx to fbx.bin / fbx.json either.

Most stage mods are texture edits of exisitng UNI / MBTL / DFCI stages, ports of stages between games, or made of entirely 2D assets using the game's pat effect system.

State Properties

Aside from editing textures, which is just a collection of .dds files, the lighting and positioning of stages can be edited through simple txt editing. Stage data is found in the file [ROOT]\bg\BgList.txt

Common Properties

Constant Comment
DataFile Which folder this bg loads from.
Scale How large the model appears in-game. X/Y/Z values.
Position Offsets the position of the model. X/Y/Z values.
ViewGrid Enabling this renders a simple looping grid on the floor.
FOV Changes the FOV.
IsFog Enables fog.
FogColor RBGA value for the fog.
FogStart Where the fog starts, distance from the camera.
FogEnd Where the fog ends, distance from the camera.
IsBloom Enables bloom.
StageSelTex Changes what texture is used for the stages icon on the CSS.

MBTL and UNI2 Properties

Constant Comment
BGBloomEnable
BGBloomBlightness
BGBloomBiass (R/G/B)
BGBloomBlurRadius
BGBloomTextureSize
BGBloomAlpha
BGTinyFXAAEnable
BGTinyFXAAThreshold
BGTinyFXAALerpT

Adding Pat Effects to a Stage

All effects can be added by placing a file named object.txt inside the background's folder. Below is a commented example of how to arrange this file. Information on how to make .pat Effects can be found (soon!).

local array = {

	panidata = "./bg/bg030/bg030.pat", // Set this to the .pat file you want to load effects from.
	
	data001 = // This represents an object. Each object must have it's own ID.
	[
		{ tag="frm", name="pat_effect1" },          // sets one frame to a pattern.
		{ tag="prio", val=250 },                    // sets priority. above
		{ tag="startpos", x=0, y=100 ,z=350 },      // sets position relative to the stage.
		{ tag="startdelay", val=0 },                // delays the spawn of this object.
	]
	
	data002 =
	[
		{ tag="frm", name="frame1", wait=30 },
		{ tag="frm", name="frame2", wait=30 },

		// adding wait value adds a duration to a frm (in frames)
		// after which it moves on to the next frame, or loops if it cannot find any

		{ tag="prio", val=250 },      

		// if two objects have the same priority, then the object with the lower ID is 
		// rendered above.
          
		{ tag="startpos", x=0, y=-5000 ,z=450 },
		{ tag="startdelay", val=0 }, 
	]
}
BgObject <- array;

FBXEX Documentation (WIP)

00 - 04 | fbxex header


10 - 13 | ??? (be data size similar to .pat dds format)


14 - 17 | texture count (int)


7F bytes long | texture block contains texture name and then filled with 00.


4 bytes | material header?


4 bytes | material count


CB bytes long | material block

first 7F bytes - material name

4 bytes - index 4 bytes - texture index 43 bytes - value (set of floats, usually 1.0 or 0.0)



For Beginners
Getting Started
File Structure
Installing Mods
Example Mods
Glossary
Links & Resources
File Formats & Software Guide
Hantei-chan
CGTOOL & CGLIB
.pat Effects
Palettes
DDS Images
Engine Documentation
Audio
Backgrounds
Classes and Methods
Cutscenes
D File Folder
Functions
Shaders
Quick Start
Getting Started
Installing Mods
Mods List
Guides
Character File Setup
Using Hantei-chan
Character Scripts
Miscellaneous
Dialogue
HUD and UI
Stages
Audio
Battle Scripts
CG & Patterns
Editng Vectors
Define
Documentation
Classes and Methods
Functions
HA6 Pattern Reference
UNI2 Modding Notes