1#include "Game/System/ConfigDataHolder.hpp"
2#include "JSystem/JSupport/JSUMemoryInputStream.hpp"
3#include "JSystem/JSupport/JSUMemoryOutputStream.hpp"
6ConfigDataCreateChunk::ConfigDataCreateChunk() : mData(0) {
10u32 ConfigDataCreateChunk::makeHeaderHashCode()
const {
14u32 ConfigDataCreateChunk::getSignature()
const {
18s32 ConfigDataCreateChunk::serialize(u8 *pData, u32 len)
const {
19 JSUMemoryOutputStream stream;
20 stream.setBuffer(pData, len);
21 u8 data = -(mData != 0);
22 stream.write(&data, 1);
23 return stream.mPosition;
26s32 ConfigDataCreateChunk::deserialize(
const u8 *pData, u32 len) {
28 JSUMemoryInputStream stream;
29 stream.setBuffer(pData, len);
31 stream.read(&data, 1);
36void ConfigDataCreateChunk::initializeData() {
40void ConfigDataHolder::setIsCreated(
bool isCreated) {
41 mCreateChunk->mData = isCreated;
44bool ConfigDataHolder::isCreated()
const {
45 return mCreateChunk->mData;
48void ConfigDataHolder::setLastLoadedMario(
bool isLoaded) {
49 mMiscCreateChunk->setLastLoadedMario(isLoaded);
52bool ConfigDataHolder::isLastLoadedMario()
const {
53 return mMiscCreateChunk->isLastLoadedMario();
56void ConfigDataHolder::onCompleteEndingMario() {
57 mMiscCreateChunk->onCompleteEndingMario();
60void ConfigDataHolder::onCompleteEndingLuigi() {
61 mMiscCreateChunk->onCompleteEndingLuigi();
64bool ConfigDataHolder::isOnCompleteEndingMario() {
65 return mMiscCreateChunk->isOnCompleteEndingMario();
68bool ConfigDataHolder::isOnCompleteEndingLuigi() {
69 return mMiscCreateChunk->isOnCompleteEndingLuigi();
72void ConfigDataHolder::updateLastModified() {
73 mMiscCreateChunk->updateLastModified();
76OSTime ConfigDataHolder::getLastModified()
const {
77 return mMiscCreateChunk->getLastModified();
80void ConfigDataHolder::setMiiOrIconId(
const void *pMiiId,
const u32 *pIconId) {
81 mMiiCreateChunk->setMiiOrIconId(pMiiId, pIconId);
84bool ConfigDataHolder::getMiiId(
void *pId)
const {
85 return mMiiCreateChunk->getMiiId(pId);
88bool ConfigDataHolder::getIconId(u32 *pId)
const {
89 return mMiiCreateChunk->getIconId(pId);
92void ConfigDataHolder::resetAllData() {
93 mCreateChunk->initializeData();
94 mMiiCreateChunk->initializeData();
95 mMiscCreateChunk->initializeData();
98void ConfigDataHolder::makeFileBinary(u8 *pData, u32 len) {
99 mChunkHolder->makeFileBinary(pData, len);
102ConfigDataHolder::ConfigDataHolder() : mChunkHolder(0), mCreateChunk(0), mMiiCreateChunk(0), mMiscCreateChunk(0) {
107 mChunkHolder->addChunk(mCreateChunk);
108 mChunkHolder->addChunk(mMiiCreateChunk);
109 mChunkHolder->addChunk(mMiscCreateChunk);
111 snprintf(mName, 0x10,
"config1");
114void ConfigDataHolder::loadFromFileBinary(
const char *pName,
const u8 *pData, u32 len) {
115 snprintf(mName, 0x10,
"%s", pName);
116 mChunkHolder->loadFromFileBinary(pData, len);