mirror of
https://github.com/RocketRobz/SavvyManager.git
synced 2025-06-18 17:15:34 -04:00
223 lines
7.0 KiB
C
223 lines
7.0 KiB
C
#ifndef SAVEDATA_H
|
|
#define SAVEDATA_H
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <3ds.h>
|
|
|
|
#define ss2SavePath "ss2:/record_card.bin"
|
|
#define ss3SavePath "ss3:/savedata.dat"
|
|
#define ss4SavePath "/savedata.dat"
|
|
|
|
typedef struct ss2character {
|
|
u8 gender; // Gender (01=Female, 02=Male)
|
|
u8 poseSet; // Pose set (01=Active, 02=Cute, 03=Cool)
|
|
u8 height; // Height (00=Character is invisible)
|
|
u8 skinColor;
|
|
u8 faceShape; // Face shape (03=Left, 01=Mid, 02=Right)
|
|
u8 eyes;
|
|
u8 eyebrows;
|
|
u8 mouthShape;
|
|
u8 facialHair; // Facial hair (Male)
|
|
u8 hairStyle;
|
|
u8 hairColorMain;
|
|
u8 hairColorHighlights;
|
|
u16 eyelinerColor;
|
|
u16 contactColor;
|
|
u16 eyeShadowColor;
|
|
u16 eyeColor;
|
|
u16 lipColor;
|
|
u16 blush;
|
|
u8 mascaraLength;
|
|
u8 blushPosition;
|
|
u16 inner;
|
|
u16 top;
|
|
u16 outer;
|
|
u16 scarf;
|
|
u16 gloves;
|
|
u16 necklace;
|
|
u16 socks; // Socks/Leggings/Tights
|
|
u16 pants;
|
|
u16 skirt;
|
|
u16 shoes;
|
|
u16 legWarmers;
|
|
u16 hat;
|
|
u16 glasses;
|
|
u16 dress; // Dress/Jumpsuit
|
|
u16 bag;
|
|
} ss2character;
|
|
|
|
typedef struct ss3to4character {
|
|
u8 gender; // Gender (01=Female, 02=Male)
|
|
u8 height; // Height (00=Character is invisible)
|
|
u8 poseSet; // Pose set (01=Active, 02=Cute, 03=Cool)
|
|
u8 skinColor;
|
|
u8 faceShape; // Face shape (03=LeftF, 01=MidF, 02=RightF, 04=LeftM, 05=MidM, 06=RightM)
|
|
u8 eyes;
|
|
u8 mouthShape;
|
|
u8 eyebrows;
|
|
u8 facialHair; // Facial hair (Male)
|
|
u8 faceMole; // Face mole (Female)
|
|
u8 lipstickColor;
|
|
u8 mascaraColor;
|
|
u8 eyeshadowColor;
|
|
u8 eyelinerColor;
|
|
u8 contactColor;
|
|
u8 blusherColor;
|
|
u8 mascaraLength;
|
|
u8 blusherPosition;
|
|
u8 lipShine;
|
|
u8 eyeColor;
|
|
u8 eyebrowOverlay;
|
|
u8 hairStyle;
|
|
u8 hairFringe;
|
|
u8 hairColorMain;
|
|
u8 hairColorHighlights;
|
|
u8 freckles;
|
|
u8 nailColor; // Fashion Forward: Facial expression (00=Default), Styling Star: Nail color
|
|
u8 eyeliner; // Fashion Forward: 01 = No facial expressions, Styling Star: Eyeliner (00=Normal, 01=Double)
|
|
u8 unknown1C;
|
|
u8 eyebrowColor; // Fashion Forward: Eyebrow color, Styling Star: Unknown
|
|
u16 inner;
|
|
u16 top; // Top/Dress/Yukatas (Female), Yukatas/Dungarees (Male)
|
|
u16 outer;
|
|
u16 necklaceScarfHeadphones; // Fashion Forward: Necklace/Scarf, Styling Star: Scarf/Headphones
|
|
u16 gloves;
|
|
u16 socks; // Socks/Leggings/Tights
|
|
u16 skirtPants; // Skirt/Pants
|
|
u16 shoes;
|
|
u16 legWarmers;
|
|
u16 hat;
|
|
u16 glasses; // Also Earrings in Fashion Forward
|
|
u16 bag;
|
|
u16 necklace; // Styling Star
|
|
u16 watch; // Styling Star
|
|
u16 earrings; // Styling Star
|
|
u8 bowPosition; // Styling Star
|
|
u8 unknown3D;
|
|
} ss3to4character;
|
|
|
|
typedef struct ss3to4emblem {
|
|
u32 palLine;
|
|
u8 sprite[0x800];
|
|
} ss3to4emblem;
|
|
|
|
extern u8 saveRegion[4];
|
|
|
|
//extern ss3to4character ss4CharacterData;
|
|
|
|
extern ss3to4emblem emblemData;
|
|
|
|
extern const char* ss1SavePath;
|
|
|
|
extern char ss2PlayerName[10];
|
|
extern char ss3PlayerName[10];
|
|
extern char ss4PlayerName[10];
|
|
|
|
extern Handle handle4;
|
|
extern FS_Archive archive4;
|
|
|
|
extern void commitSaveData(void);
|
|
|
|
extern void readSS2Save(void);
|
|
extern void writeSS2Save(void);
|
|
extern void readSS3Save(void);
|
|
extern void writeSS3Save(void);
|
|
extern bool foundSS4Save(void);
|
|
extern void readSS4Save(void);
|
|
extern void writeSS4Save(void);
|
|
|
|
extern void readSS2Character(void);
|
|
extern void writeSS2Character(void);
|
|
extern void readSS3Character(u16 id);
|
|
extern void readSS4CharacterToSS3(u16 id);
|
|
extern void writeSS3Character(u16 id);
|
|
extern void readSS4Character(u16 id);
|
|
extern void readSS3CharacterToSS4(u16 id);
|
|
extern void writeSS4Character(u16 id);
|
|
|
|
extern void toggleSS3Character(u16 id, bool enable);
|
|
extern bool existsSS3Character(u16 id);
|
|
extern void removeSS3CharacterBag(u16 id);
|
|
extern bool existsSS4Character(u16 id);
|
|
|
|
extern void readSS2CharacterFile(const char* filename);
|
|
extern void writeSS2CharacterFile(const char* filename);
|
|
extern void writeSS2CharacterToSave(void);
|
|
extern void readSS3CharacterFile(u16 id, const char* filename);
|
|
extern void writeSS3CharacterFile(u16 id, const char* filename);
|
|
extern void writeSS3CharacterToSave(u16 id);
|
|
extern void readSS4CharacterFile(u16 id, const char* filename);
|
|
extern void writeSS4CharacterFile(u16 id, const char* filename);
|
|
extern void writeSS4CharacterToSave(u16 id);
|
|
extern void writeSS4AssistantCharacterToSave(void);
|
|
extern void writeSS4MewtubeCharacter(int video, int slot);
|
|
extern void writeSS4MewtubeCharacterToSave(int video, int slot);
|
|
extern void revertSS4MewtubeCharacter(int video, int slot);
|
|
extern void backupSS3DLCharacters(const char* filename);
|
|
extern void restoreSS3DLCharacters(const char* filename);
|
|
|
|
extern bool getSS2CharacterGender(void);
|
|
extern bool getSS2CharacterGenderNoExceptions(void);
|
|
extern bool getSS3CharacterGender(u16 id);
|
|
extern bool getSS3CharacterGenderNoExceptions(u16 id);
|
|
extern bool getSS4CharacterGender(u16 id);
|
|
extern bool getSS4CharacterGenderNoExceptions(u16 id);
|
|
extern void changeSS4CharacterGender(u16 id);
|
|
extern u16 getSS4AssistantCharacterId(void);
|
|
extern void writeSS4AssistantCharacterId(u16 id);
|
|
extern u16 getSS4MewtubeCharacterId(int video, int slot);
|
|
extern void writeSS4MewtubeCharacterId(u16 id, int video, int slot);
|
|
|
|
extern u8 readSS2CharacterHeight(void);
|
|
extern void writeSS2CharacterHeight(u8 height);
|
|
extern u8 readSS3CharacterHeight(u16 id);
|
|
extern void writeSS3CharacterHeight(u16 id, u8 height);
|
|
extern u8 readSS4CharacterHeight(u16 id);
|
|
extern void writeSS4CharacterHeight(u16 id, u8 height);
|
|
|
|
extern u8 readSS2CharacterPoseSet(void);
|
|
extern void writeSS2CharacterPoseSet(u8 poseSet);
|
|
extern u8 readSS3CharacterPoseSet(u16 id);
|
|
extern void writeSS3CharacterPoseSet(u16 id, u8 poseSet);
|
|
extern u8 readSS4CharacterPoseSet(u16 id);
|
|
extern void writeSS4CharacterPoseSet(u16 id, u8 poseSet);
|
|
|
|
extern const char* readSS3ProfileName(u16 id);
|
|
extern void readSS3ProfileFile(u16 id, const char* filename);
|
|
extern void writeSS3ProfileFile(u16 id, const char* filename);
|
|
extern const char* readSS4ProfileName(u16 id);
|
|
|
|
extern void readSS3Emblem(void);
|
|
extern void writeSS3Emblem(void);
|
|
extern void writeSS3EmblemToSave(void);
|
|
extern void readSS4Emblem(int id);
|
|
extern void writeSS4Emblem(int id);
|
|
extern void writeSS4EmblemToSave(int id);
|
|
|
|
void readSS3EmblemFile(const char* filename);
|
|
void writeSS3EmblemFile(const char* filename);
|
|
void readSS4EmblemFile(int id, const char* filename);
|
|
void writeSS4EmblemFile(int id, const char* filename);
|
|
void readTempEmblemFile(const char* filename);
|
|
|
|
extern u16 readSS3FashionOwnFlag(int id);
|
|
extern void writeSS3FashionOwnFlag(int id, u16 flag);
|
|
extern u8 readSS3FashionOwnWardFlag(int id);
|
|
extern void writeSS3FashionOwnWardFlag(int id, u8 flag);
|
|
extern void writeSS3FashionOwnFlagsToSave(void);
|
|
extern u16 readSS4FashionOwnFlag(int id);
|
|
extern void writeSS4FashionOwnFlag(int id, u16 flag);
|
|
extern u8 readSS4FashionOwnWardFlag(int id);
|
|
extern void writeSS4FashionOwnWardFlag(int id, u8 flag);
|
|
extern void writeSS4FashionOwnFlagsToSave(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // SAVEDATA_H
|