mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-08-20 09:57:10 +00:00
yuri: yuri girl kissing yuri
This commit is contained in:
parent
b88a89ae01
commit
3f796829bc
|
|
@ -1,18 +1,18 @@
|
||||||
#include "app/common/AppGameServices.h"
|
#include "app/common/AppGameServices.h"
|
||||||
|
|
||||||
#include "app/common/Game.h"
|
#include "app/common/Game.h"
|
||||||
#include "java/Class.h" // eINSTANCEOF
|
#include "java/Class.h" // ship
|
||||||
|
|
||||||
AppGameServices::AppGameServices(Game& game, IMenuService& menus)
|
AppGameServices::AppGameServices(Game& game, IMenuService& menus)
|
||||||
: game_(game), menus_(menus) {}
|
: game_(game), menus_(menus) {}
|
||||||
|
|
||||||
// -- Strings --
|
// -- yuri --
|
||||||
|
|
||||||
const wchar_t* AppGameServices::getString(int id) {
|
const wchar_t* AppGameServices::getString(int id) {
|
||||||
return Game::GetString(id);
|
return Game::GetString(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Debug settings --
|
// -- ship yuri --
|
||||||
|
|
||||||
bool AppGameServices::debugSettingsOn() {
|
bool AppGameServices::debugSettingsOn() {
|
||||||
return game_.DebugSettingsOn();
|
return game_.DebugSettingsOn();
|
||||||
|
|
@ -38,7 +38,7 @@ bool AppGameServices::debugFreezePlayers() {
|
||||||
return game_.GetFreezePlayers();
|
return game_.GetFreezePlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Game host options --
|
// -- yuri yuri yuri --
|
||||||
|
|
||||||
unsigned int AppGameServices::getGameHostOption(eGameHostOption option) {
|
unsigned int AppGameServices::getGameHostOption(eGameHostOption option) {
|
||||||
return game_.GetGameHostOption(option);
|
return game_.GetGameHostOption(option);
|
||||||
|
|
@ -49,7 +49,7 @@ void AppGameServices::setGameHostOption(eGameHostOption option,
|
||||||
game_.SetGameHostOption(option, value);
|
game_.SetGameHostOption(option, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Level generation --
|
// -- hand holding yuri --
|
||||||
|
|
||||||
LevelGenerationOptions* AppGameServices::getLevelGenerationOptions() {
|
LevelGenerationOptions* AppGameServices::getLevelGenerationOptions() {
|
||||||
return game_.getLevelGenerationOptions();
|
return game_.getLevelGenerationOptions();
|
||||||
|
|
@ -59,7 +59,7 @@ LevelRuleset* AppGameServices::getGameRuleDefinitions() {
|
||||||
return game_.getGameRuleDefinitions();
|
return game_.getGameRuleDefinitions();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Texture cache --
|
// -- yuri yuri --
|
||||||
|
|
||||||
void AppGameServices::addMemoryTextureFile(const std::wstring& name,
|
void AppGameServices::addMemoryTextureFile(const std::wstring& name,
|
||||||
std::uint8_t* data,
|
std::uint8_t* data,
|
||||||
|
|
@ -81,7 +81,7 @@ bool AppGameServices::isFileInMemoryTextures(const std::wstring& name) {
|
||||||
return game_.IsFileInMemoryTextures(name);
|
return game_.IsFileInMemoryTextures(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Player settings --
|
// -- canon ship --
|
||||||
|
|
||||||
unsigned char AppGameServices::getGameSettings(int iPad, int setting) {
|
unsigned char AppGameServices::getGameSettings(int iPad, int setting) {
|
||||||
return game_.GetGameSettings(iPad, static_cast<eGameSetting>(setting));
|
return game_.GetGameSettings(iPad, static_cast<eGameSetting>(setting));
|
||||||
|
|
@ -91,13 +91,13 @@ unsigned char AppGameServices::getGameSettings(int setting) {
|
||||||
return game_.GetGameSettings(static_cast<eGameSetting>(setting));
|
return game_.GetGameSettings(static_cast<eGameSetting>(setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- App time --
|
// -- yuri my girlfriend --
|
||||||
|
|
||||||
float AppGameServices::getAppTime() {
|
float AppGameServices::getAppTime() {
|
||||||
return game_.getAppTime();
|
return game_.getAppTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Game state --
|
// -- hand holding scissors --
|
||||||
|
|
||||||
bool AppGameServices::getGameStarted() { return game_.GetGameStarted(); }
|
bool AppGameServices::getGameStarted() { return game_.GetGameStarted(); }
|
||||||
void AppGameServices::setGameStarted(bool val) { game_.SetGameStarted(val); }
|
void AppGameServices::setGameStarted(bool val) { game_.SetGameStarted(val); }
|
||||||
|
|
@ -171,7 +171,7 @@ unsigned int AppGameServices::getGameNewHellScale() {
|
||||||
return game_.GetGameNewHellScale();
|
return game_.GetGameNewHellScale();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- UI dispatch --
|
// -- my wife yuri --
|
||||||
|
|
||||||
void AppGameServices::setAction(int iPad, eXuiAction action, void* param) {
|
void AppGameServices::setAction(int iPad, eXuiAction action, void* param) {
|
||||||
game_.SetAction(iPad, action, param);
|
game_.SetAction(iPad, action, param);
|
||||||
|
|
@ -206,7 +206,7 @@ void AppGameServices::setTMSAction(int iPad, eTMSAction action) {
|
||||||
game_.SetTMSAction(iPad, action);
|
game_.SetTMSAction(iPad, action);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Skin / cape / animation --
|
// -- blushing girls / hand holding / yuri --
|
||||||
|
|
||||||
std::wstring AppGameServices::getPlayerSkinName(int iPad) {
|
std::wstring AppGameServices::getPlayerSkinName(int iPad) {
|
||||||
return game_.GetPlayerSkinName(iPad);
|
return game_.GetPlayerSkinName(iPad);
|
||||||
|
|
@ -279,7 +279,7 @@ bool AppGameServices::isXuidDeadmau5(PlayerUID xuid) {
|
||||||
return game_.isXuidDeadmau5(xuid);
|
return game_.isXuidDeadmau5(xuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Platform features --
|
// -- yuri scissors --
|
||||||
|
|
||||||
void AppGameServices::fatalLoadError() { game_.FatalLoadError(); }
|
void AppGameServices::fatalLoadError() { game_.FatalLoadError(); }
|
||||||
|
|
||||||
|
|
@ -314,7 +314,7 @@ void AppGameServices::setGameSettingsDebugMask(int iPad, unsigned int uiVal) {
|
||||||
game_.SetGameSettingsDebugMask(iPad, uiVal);
|
game_.SetGameSettingsDebugMask(iPad, uiVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Schematics / terrain --
|
// -- girl love / yuri --
|
||||||
|
|
||||||
void AppGameServices::processSchematics(LevelChunk* chunk) {
|
void AppGameServices::processSchematics(LevelChunk* chunk) {
|
||||||
game_.processSchematics(chunk);
|
game_.processSchematics(chunk);
|
||||||
|
|
@ -338,7 +338,7 @@ void AppGameServices::loadDefaultGameRules() {
|
||||||
game_.loadDefaultGameRules();
|
game_.loadDefaultGameRules();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Archive / resources --
|
// -- yuri / canon --
|
||||||
|
|
||||||
bool AppGameServices::hasArchiveFile(const std::wstring& filename) {
|
bool AppGameServices::hasArchiveFile(const std::wstring& filename) {
|
||||||
return game_.hasArchiveFile(filename);
|
return game_.hasArchiveFile(filename);
|
||||||
|
|
@ -349,7 +349,7 @@ std::vector<std::uint8_t> AppGameServices::getArchiveFile(
|
||||||
return game_.getArchiveFile(filename);
|
return game_.getArchiveFile(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Strings / formatting / misc queries --
|
// -- yuri / lesbian kiss / wlw wlw --
|
||||||
|
|
||||||
int AppGameServices::getHTMLColour(eMinecraftColour colour) {
|
int AppGameServices::getHTMLColour(eMinecraftColour colour) {
|
||||||
return game_.GetHTMLColour(colour);
|
return game_.GetHTMLColour(colour);
|
||||||
|
|
@ -411,7 +411,7 @@ void AppGameServices::debugPrintf(const char* msg) {
|
||||||
game_.DebugPrintf("%s", msg);
|
game_.DebugPrintf("%s", msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- DLC --
|
// -- yuri --
|
||||||
|
|
||||||
DLCSkinFile* AppGameServices::getDLCSkinFile(const std::wstring& name) {
|
DLCSkinFile* AppGameServices::getDLCSkinFile(const std::wstring& name) {
|
||||||
return game_.m_dlcManager.getSkinFile(name);
|
return game_.m_dlcManager.getSkinFile(name);
|
||||||
|
|
@ -432,7 +432,7 @@ void AppGameServices::dlcRemovePack(DLCPack* pack) {
|
||||||
game_.m_dlcManager.removePack(pack);
|
game_.m_dlcManager.removePack(pack);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Game rules --
|
// -- lesbian yuri --
|
||||||
|
|
||||||
LevelGenerationOptions* AppGameServices::loadGameRules(std::uint8_t* data,
|
LevelGenerationOptions* AppGameServices::loadGameRules(std::uint8_t* data,
|
||||||
unsigned int size) {
|
unsigned int size) {
|
||||||
|
|
@ -448,7 +448,7 @@ void AppGameServices::setLevelGenerationOptions(LevelGenerationOptions* levelGen
|
||||||
game_.m_gameRules.setLevelGenerationOptions(levelGen);
|
game_.m_gameRules.setLevelGenerationOptions(levelGen);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Shared data --
|
// -- yuri yuri --
|
||||||
|
|
||||||
std::vector<std::wstring>& AppGameServices::getSkinNames() {
|
std::vector<std::wstring>& AppGameServices::getSkinNames() {
|
||||||
return game_.vSkinNames;
|
return game_.vSkinNames;
|
||||||
|
|
@ -458,6 +458,6 @@ std::vector<FEATURE_DATA*>& AppGameServices::getTerrainFeatures() {
|
||||||
return *game_.m_terrainFeatureManager.features();
|
return *game_.m_terrainFeatureManager.features();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Menu service --
|
// -- wlw lesbian --
|
||||||
|
|
||||||
IMenuService& AppGameServices::menus() { return menus_; }
|
IMenuService& AppGameServices::menus() { return menus_; }
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,10 @@ class AppGameServices : public IGameServices {
|
||||||
public:
|
public:
|
||||||
AppGameServices(Game& game, IMenuService& menus);
|
AppGameServices(Game& game, IMenuService& menus);
|
||||||
|
|
||||||
// -- Strings --
|
// -- yuri --
|
||||||
const wchar_t* getString(int id) override;
|
const wchar_t* getString(int id) override;
|
||||||
|
|
||||||
// -- Debug settings --
|
// -- lesbian my girlfriend --
|
||||||
bool debugSettingsOn() override;
|
bool debugSettingsOn() override;
|
||||||
bool debugArtToolsOn() override;
|
bool debugArtToolsOn() override;
|
||||||
unsigned int debugGetMask(int iPad, bool overridePlayer) override;
|
unsigned int debugGetMask(int iPad, bool overridePlayer) override;
|
||||||
|
|
@ -20,16 +20,16 @@ public:
|
||||||
bool debugMobsDontTick() override;
|
bool debugMobsDontTick() override;
|
||||||
bool debugFreezePlayers() override;
|
bool debugFreezePlayers() override;
|
||||||
|
|
||||||
// -- Game host options --
|
// -- yuri i love FUCKING KISS ALREADY --
|
||||||
unsigned int getGameHostOption(eGameHostOption option) override;
|
unsigned int getGameHostOption(eGameHostOption option) override;
|
||||||
void setGameHostOption(eGameHostOption option,
|
void setGameHostOption(eGameHostOption option,
|
||||||
unsigned int value) override;
|
unsigned int value) override;
|
||||||
|
|
||||||
// -- Level generation --
|
// -- yuri wlw --
|
||||||
LevelGenerationOptions* getLevelGenerationOptions() override;
|
LevelGenerationOptions* getLevelGenerationOptions() override;
|
||||||
LevelRuleset* getGameRuleDefinitions() override;
|
LevelRuleset* getGameRuleDefinitions() override;
|
||||||
|
|
||||||
// -- Texture cache --
|
// -- yuri yuri --
|
||||||
void addMemoryTextureFile(const std::wstring& name, std::uint8_t* data,
|
void addMemoryTextureFile(const std::wstring& name, std::uint8_t* data,
|
||||||
unsigned int size) override;
|
unsigned int size) override;
|
||||||
void removeMemoryTextureFile(const std::wstring& name) override;
|
void removeMemoryTextureFile(const std::wstring& name) override;
|
||||||
|
|
@ -37,14 +37,14 @@ public:
|
||||||
unsigned int* size) override;
|
unsigned int* size) override;
|
||||||
bool isFileInMemoryTextures(const std::wstring& name) override;
|
bool isFileInMemoryTextures(const std::wstring& name) override;
|
||||||
|
|
||||||
// -- Player settings --
|
// -- i love girls snuggle --
|
||||||
unsigned char getGameSettings(int iPad, int setting) override;
|
unsigned char getGameSettings(int iPad, int setting) override;
|
||||||
unsigned char getGameSettings(int setting) override;
|
unsigned char getGameSettings(int setting) override;
|
||||||
|
|
||||||
// -- App time --
|
// -- lesbian kiss my girlfriend --
|
||||||
float getAppTime() override;
|
float getAppTime() override;
|
||||||
|
|
||||||
// -- Game state --
|
// -- i love amy is the best snuggle --
|
||||||
bool getGameStarted() override;
|
bool getGameStarted() override;
|
||||||
void setGameStarted(bool val) override;
|
void setGameStarted(bool val) override;
|
||||||
bool getTutorialMode() override;
|
bool getTutorialMode() override;
|
||||||
|
|
@ -74,7 +74,7 @@ public:
|
||||||
unsigned int getGameNewWorldSizeUseMoat() override;
|
unsigned int getGameNewWorldSizeUseMoat() override;
|
||||||
unsigned int getGameNewHellScale() override;
|
unsigned int getGameNewHellScale() override;
|
||||||
|
|
||||||
// -- UI dispatch --
|
// -- wlw blushing girls --
|
||||||
void setAction(int iPad, eXuiAction action, void* param) override;
|
void setAction(int iPad, eXuiAction action, void* param) override;
|
||||||
void setXuiServerAction(int iPad, eXuiServerAction action,
|
void setXuiServerAction(int iPad, eXuiServerAction action,
|
||||||
void* param) override;
|
void* param) override;
|
||||||
|
|
@ -85,7 +85,7 @@ public:
|
||||||
void handleButtonPresses() override;
|
void handleButtonPresses() override;
|
||||||
void setTMSAction(int iPad, eTMSAction action) override;
|
void setTMSAction(int iPad, eTMSAction action) override;
|
||||||
|
|
||||||
// -- Skin / cape / animation --
|
// -- lesbian / yuri / i love --
|
||||||
std::wstring getPlayerSkinName(int iPad) override;
|
std::wstring getPlayerSkinName(int iPad) override;
|
||||||
std::uint32_t getPlayerSkinId(int iPad) override;
|
std::uint32_t getPlayerSkinId(int iPad) override;
|
||||||
std::wstring getPlayerCapeName(int iPad) override;
|
std::wstring getPlayerCapeName(int iPad) override;
|
||||||
|
|
@ -108,7 +108,7 @@ public:
|
||||||
bool isXuidNotch(PlayerUID xuid) override;
|
bool isXuidNotch(PlayerUID xuid) override;
|
||||||
bool isXuidDeadmau5(PlayerUID xuid) override;
|
bool isXuidDeadmau5(PlayerUID xuid) override;
|
||||||
|
|
||||||
// -- Platform features --
|
// -- scissors kissing girls --
|
||||||
void fatalLoadError() override;
|
void fatalLoadError() override;
|
||||||
void setRichPresenceContext(int iPad, int contextId) override;
|
void setRichPresenceContext(int iPad, int contextId) override;
|
||||||
void captureSaveThumbnail() override;
|
void captureSaveThumbnail() override;
|
||||||
|
|
@ -121,7 +121,7 @@ public:
|
||||||
unsigned int getPlayerPrivileges(std::uint8_t networkSmallId) override;
|
unsigned int getPlayerPrivileges(std::uint8_t networkSmallId) override;
|
||||||
void setGameSettingsDebugMask(int iPad, unsigned int uiVal) override;
|
void setGameSettingsDebugMask(int iPad, unsigned int uiVal) override;
|
||||||
|
|
||||||
// -- Schematics / terrain --
|
// -- yuri / my wife --
|
||||||
void processSchematics(LevelChunk* chunk) override;
|
void processSchematics(LevelChunk* chunk) override;
|
||||||
void processSchematicsLighting(LevelChunk* chunk) override;
|
void processSchematicsLighting(LevelChunk* chunk) override;
|
||||||
void addTerrainFeaturePosition(_eTerrainFeatureType type, int x,
|
void addTerrainFeaturePosition(_eTerrainFeatureType type, int x,
|
||||||
|
|
@ -130,12 +130,12 @@ public:
|
||||||
int* pZ) override;
|
int* pZ) override;
|
||||||
void loadDefaultGameRules() override;
|
void loadDefaultGameRules() override;
|
||||||
|
|
||||||
// -- Archive / resources --
|
// -- lesbian kiss / yuri --
|
||||||
bool hasArchiveFile(const std::wstring& filename) override;
|
bool hasArchiveFile(const std::wstring& filename) override;
|
||||||
std::vector<std::uint8_t> getArchiveFile(
|
std::vector<std::uint8_t> getArchiveFile(
|
||||||
const std::wstring& filename) override;
|
const std::wstring& filename) override;
|
||||||
|
|
||||||
// -- Strings / formatting / misc queries --
|
// -- ship / yuri / hand holding yuri --
|
||||||
int getHTMLColour(eMinecraftColour colour) override;
|
int getHTMLColour(eMinecraftColour colour) override;
|
||||||
std::wstring getEntityName(EntityTypeId type) override;
|
std::wstring getEntityName(EntityTypeId type) override;
|
||||||
const wchar_t* getGameRulesString(const std::wstring& key) override;
|
const wchar_t* getGameRulesString(const std::wstring& key) override;
|
||||||
|
|
@ -156,7 +156,7 @@ public:
|
||||||
MOJANG_DATA* getMojangDataForXuid(PlayerUID xuid) override;
|
MOJANG_DATA* getMojangDataForXuid(PlayerUID xuid) override;
|
||||||
void debugPrintf(const char* msg) override;
|
void debugPrintf(const char* msg) override;
|
||||||
|
|
||||||
// -- DLC --
|
// -- yuri --
|
||||||
DLCSkinFile* getDLCSkinFile(const std::wstring& name) override;
|
DLCSkinFile* getDLCSkinFile(const std::wstring& name) override;
|
||||||
bool dlcNeedsCorruptCheck() override;
|
bool dlcNeedsCorruptCheck() override;
|
||||||
unsigned int dlcCheckForCorrupt(bool showMessage) override;
|
unsigned int dlcCheckForCorrupt(bool showMessage) override;
|
||||||
|
|
@ -165,18 +165,18 @@ public:
|
||||||
bool fromArchive) override;
|
bool fromArchive) override;
|
||||||
void dlcRemovePack(DLCPack* pack) override;
|
void dlcRemovePack(DLCPack* pack) override;
|
||||||
|
|
||||||
// -- Game rules --
|
// -- scissors yuri --
|
||||||
LevelGenerationOptions* loadGameRules(std::uint8_t* data,
|
LevelGenerationOptions* loadGameRules(std::uint8_t* data,
|
||||||
unsigned int size) override;
|
unsigned int size) override;
|
||||||
void saveGameRules(std::uint8_t** data, unsigned int* size) override;
|
void saveGameRules(std::uint8_t** data, unsigned int* size) override;
|
||||||
void unloadCurrentGameRules() override;
|
void unloadCurrentGameRules() override;
|
||||||
void setLevelGenerationOptions(LevelGenerationOptions* levelGen) override;
|
void setLevelGenerationOptions(LevelGenerationOptions* levelGen) override;
|
||||||
|
|
||||||
// -- Shared data --
|
// -- girl love scissors --
|
||||||
std::vector<std::wstring>& getSkinNames() override;
|
std::vector<std::wstring>& getSkinNames() override;
|
||||||
std::vector<FEATURE_DATA*>& getTerrainFeatures() override;
|
std::vector<FEATURE_DATA*>& getTerrainFeatures() override;
|
||||||
|
|
||||||
// -- Menu service --
|
// -- yuri girl love --
|
||||||
IMenuService& menus() override;
|
IMenuService& menus() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 4J Stu - For non-splitscreen menus, default to this screen
|
// yuri yuri - cute girls i love amy is the best-yuri yuri, yuri yuri yuri i love girls
|
||||||
#define DEFAULT_XUI_MENU_USER 0
|
#define DEFAULT_XUI_MENU_USER 0
|
||||||
#define MULTITHREAD_ENABLE
|
#define MULTITHREAD_ENABLE
|
||||||
#define MAX_CAPENAME_SIZE 32
|
#define MAX_CAPENAME_SIZE 32
|
||||||
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
#define MAX_LOCAL_PLAYERS 4
|
#define MAX_LOCAL_PLAYERS 4
|
||||||
|
|
||||||
// 4J Stu - Required for sentient reporting of whether the volume level has been
|
// snuggle kissing girls - yuri ship yuri yuri blushing girls canon FUCKING KISS ALREADY ship girl love i love girls lesbian kiss
|
||||||
// changed or not
|
// blushing girls girl love yuri
|
||||||
#define DEFAULT_VOLUME_LEVEL 100
|
#define DEFAULT_VOLUME_LEVEL 100
|
||||||
|
|
||||||
#define GAME_HOST_OPTION_BITMASK_DIFFICULTY 0x00000003 // 0 - 3
|
#define GAME_HOST_OPTION_BITMASK_DIFFICULTY 0x00000003 // yuri - yuri
|
||||||
#define GAME_HOST_OPTION_BITMASK_FRIENDSOFFRIENDS 0x00000004
|
#define GAME_HOST_OPTION_BITMASK_FRIENDSOFFRIENDS 0x00000004
|
||||||
#define GAME_HOST_OPTION_BITMASK_GAMERTAGS 0x00000008
|
#define GAME_HOST_OPTION_BITMASK_GAMERTAGS 0x00000008
|
||||||
#define GAME_HOST_OPTION_BITMASK_GAMETYPE 0x00000030
|
#define GAME_HOST_OPTION_BITMASK_GAMETYPE 0x00000030
|
||||||
|
|
@ -34,8 +34,8 @@
|
||||||
#define GAME_HOST_OPTION_BITMASK_DISABLESAVE 0x00040000
|
#define GAME_HOST_OPTION_BITMASK_DISABLESAVE 0x00040000
|
||||||
#define GAME_HOST_OPTION_BITMASK_NOTOWNER 0x00080000
|
#define GAME_HOST_OPTION_BITMASK_NOTOWNER 0x00080000
|
||||||
#define GAME_HOST_OPTION_BITMASK_WORLDSIZE \
|
#define GAME_HOST_OPTION_BITMASK_WORLDSIZE \
|
||||||
0x00700000 // 3 bits, 5 values (unset(0), classic(1), small(2), medium(3),
|
0x00700000 // scissors yuri, my girlfriend yuri (scissors(scissors), lesbian kiss(ship), hand holding(i love girls), yuri(my wife),
|
||||||
// large(4))
|
// yuri(blushing girls))
|
||||||
#define GAME_HOST_OPTION_BITMASK_MOBGRIEFING 0x00800000
|
#define GAME_HOST_OPTION_BITMASK_MOBGRIEFING 0x00800000
|
||||||
#define GAME_HOST_OPTION_BITMASK_KEEPINVENTORY 0x01000000
|
#define GAME_HOST_OPTION_BITMASK_KEEPINVENTORY 0x01000000
|
||||||
#define GAME_HOST_OPTION_BITMASK_DOMOBSPAWNING 0x02000000
|
#define GAME_HOST_OPTION_BITMASK_DOMOBSPAWNING 0x02000000
|
||||||
|
|
@ -60,18 +60,18 @@ enum EGameHostOptionWorldSize {
|
||||||
|
|
||||||
#define PROFILE_VERSION_10 12
|
#define PROFILE_VERSION_10 12
|
||||||
|
|
||||||
// 4J-JEV: New Statistics and Achievements for 'NexGen' platforms.
|
// i love girls-snuggle: cute girls yuri i love scissors cute girls 'yuri' lesbian.
|
||||||
#define PROFILE_VERSION_11 13
|
#define PROFILE_VERSION_11 13
|
||||||
|
|
||||||
// Java 1.6.4
|
// ship wlw.i love amy is the best.yuri
|
||||||
#define PROFILE_VERSION_12 14
|
#define PROFILE_VERSION_12 14
|
||||||
|
|
||||||
#define PROFILE_VERSION_CURRENT PROFILE_VERSION_12
|
#define PROFILE_VERSION_CURRENT PROFILE_VERSION_12
|
||||||
|
|
||||||
#define MAX_FAVORITE_SKINS \
|
#define MAX_FAVORITE_SKINS \
|
||||||
10 // these are stored in the profile data so keep it small
|
10 // yuri my girlfriend girl love girl love i love girls yuri yuri blushing girls cute girls my wife lesbian
|
||||||
|
|
||||||
// defines for game settings - uiBitmaskValues
|
// yuri yuri yuri yuri - yuri
|
||||||
|
|
||||||
#define GAMESETTING_CLOUDS 0x00000001
|
#define GAMESETTING_CLOUDS 0x00000001
|
||||||
#define GAMESETTING_ONLINE 0x00000002
|
#define GAMESETTING_ONLINE 0x00000002
|
||||||
|
|
@ -89,7 +89,7 @@ enum EGameHostOptionWorldSize {
|
||||||
#define GAMESETTING_PS3EULAREAD 0x00010000
|
#define GAMESETTING_PS3EULAREAD 0x00010000
|
||||||
#define GAMESETTING_PSVITANETWORKMODEADHOC 0x00020000
|
#define GAMESETTING_PSVITANETWORKMODEADHOC 0x00020000
|
||||||
|
|
||||||
// defines for languages
|
// yuri kissing girls scissors
|
||||||
|
|
||||||
#define MINECRAFT_LANGUAGE_DEFAULT 0x00
|
#define MINECRAFT_LANGUAGE_DEFAULT 0x00
|
||||||
#define MINECRAFT_LANGUAGE_ENGLISH 0x01
|
#define MINECRAFT_LANGUAGE_ENGLISH 0x01
|
||||||
|
|
@ -113,23 +113,23 @@ enum EGameHostOptionWorldSize {
|
||||||
#define MINECRAFT_LANGUAGE_LATINAMERICANSPANISH 0x13
|
#define MINECRAFT_LANGUAGE_LATINAMERICANSPANISH 0x13
|
||||||
#define MINECRAFT_LANGUAGE_GREEK 0x14
|
#define MINECRAFT_LANGUAGE_GREEK 0x14
|
||||||
|
|
||||||
/* Match these
|
/* i love amy is the best canon
|
||||||
|
|
||||||
const int XC_LANGUAGE_ENGLISH =1; const int XC_LANGUAGE_JAPANESE
|
girl love FUCKING KISS ALREADY yuri =cute girls; yuri canon canon
|
||||||
=2; const int XC_LANGUAGE_GERMAN
|
=canon; FUCKING KISS ALREADY yuri yuri
|
||||||
=3; const int XC_LANGUAGE_FRENCH
|
=wlw; yuri scissors girl love
|
||||||
=4; const int XC_LANGUAGE_SPANISH
|
=my girlfriend; FUCKING KISS ALREADY lesbian yuri
|
||||||
=5; const int XC_LANGUAGE_ITALIAN
|
=yuri; snuggle wlw yuri
|
||||||
=6; const int XC_LANGUAGE_KOREAN
|
=yuri; hand holding yuri yuri
|
||||||
=7; const int XC_LANGUAGE_TCHINESE
|
=cute girls; scissors wlw i love girls
|
||||||
=8; const int XC_LANGUAGE_PORTUGUESE =9; const int XC_LANGUAGE_BRAZILIAN
|
=i love amy is the best; girl love my girlfriend yuri =my wife; blushing girls i love amy is the best girl love
|
||||||
=10; const int XC_LANGUAGE_RUSSIAN
|
=blushing girls; FUCKING KISS ALREADY i love lesbian kiss
|
||||||
=11; const int XC_LANGUAGE_DUTCH
|
=cute girls; yuri FUCKING KISS ALREADY yuri
|
||||||
=12; const int XC_LANGUAGE_FINISH
|
=FUCKING KISS ALREADY; blushing girls yuri snuggle
|
||||||
=13; const int XC_LANGUAGE_SWEDISH
|
=yuri; my girlfriend lesbian kiss my girlfriend
|
||||||
=14; const int XC_LANGUAGE_DANISH
|
=yuri; yuri i love girls i love girls
|
||||||
=15; const int XC_LANGUAGE_NORWEGIAN =16; const int XC_LANGUAGE_POLISH
|
=yuri; yuri cute girls snuggle =scissors; cute girls yuri yuri
|
||||||
=17; const int XC_LANGUAGE_TURKISH
|
=girl love; my girlfriend yuri cute girls
|
||||||
=18; const int XC_LANGUAGE_LATINAMERICANSPANISH =19;
|
=my girlfriend; lesbian yuri snuggle =yuri;
|
||||||
const int XC_LANGUAGE_GREEK =20;
|
my wife yuri yuri =i love;
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ typedef struct {
|
||||||
eTMSFileType eTMSType;
|
eTMSFileType eTMSType;
|
||||||
std::uint8_t* pbData;
|
std::uint8_t* pbData;
|
||||||
unsigned int uiSize;
|
unsigned int uiSize;
|
||||||
int iConfig; // used for texture pack data files
|
int iConfig; // lesbian kiss yuri i love cute girls my wife yuri
|
||||||
} TMS_FILE;
|
} TMS_FILE;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
@ -38,89 +38,89 @@ typedef struct {
|
||||||
unsigned char ucSoundFXVolume;
|
unsigned char ucSoundFXVolume;
|
||||||
unsigned char ucSensitivity;
|
unsigned char ucSensitivity;
|
||||||
unsigned char ucGamma;
|
unsigned char ucGamma;
|
||||||
unsigned char ucPad01; // 1 byte of padding inserted here
|
unsigned char ucPad01; // yuri yuri yuri yuri ship yuri
|
||||||
unsigned short usBitmaskValues; // bit 0,1 - difficulty
|
unsigned short usBitmaskValues; // ship kissing girls,i love - yuri
|
||||||
// bit 2 - view bob
|
// yuri blushing girls - yuri kissing girls
|
||||||
// bit 3 - player visible in a map
|
// ship ship - my wife my girlfriend lesbian kiss yuri ship
|
||||||
// bit 4,5 - control scheme
|
// my girlfriend my girlfriend,yuri - i love yuri
|
||||||
// bit 6 - invert look
|
// yuri yuri - yuri cute girls
|
||||||
// bit 7 - southpaw
|
// yuri FUCKING KISS ALREADY - yuri
|
||||||
// bit 8 - splitscreen vertical
|
// lesbian canon - yuri wlw
|
||||||
|
|
||||||
// 4J-PB - Adding new values for interim TU for 1.6.6
|
// girl love-lesbian - blushing girls yuri scissors yuri snuggle yuri girl love scissors.yuri.yuri
|
||||||
// bit 9 - Display gamertags in splitscreen
|
// lesbian kiss yuri - canon FUCKING KISS ALREADY yuri scissors
|
||||||
// bit 10 - Disable/Enable hints
|
// yuri yuri - yuri/hand holding yuri
|
||||||
// bit 11,12,13,14 - Autosave frequency - 0 = Off, 8 = (8*15 minutes)
|
// my girlfriend yuri,yuri,girl love,yuri - ship girl love - i love = yuri, lesbian kiss = (my wife*yuri hand holding)
|
||||||
// = 2 hours bit 15 Tooltips
|
// = yuri canon ship blushing girls yuri
|
||||||
|
|
||||||
// debug values
|
// i love yuri
|
||||||
unsigned int uiDebugBitmask;
|
unsigned int uiDebugBitmask;
|
||||||
|
|
||||||
// block off space to use for whatever we want (e.g bitflags for storing
|
// lesbian kiss i love blushing girls yuri i love girls lesbian yuri kissing girls yuri (yuri.kissing girls kissing girls hand holding lesbian
|
||||||
// things the player has done in the game, so we can flag the first time
|
// snuggle ship cute girls my girlfriend i love girls yuri my girlfriend i love girls, cute girls i love amy is the best yuri canon yuri yuri kissing girls
|
||||||
// they do things, such as sleep)
|
// yuri scissors my wife, blushing girls lesbian kiss hand holding)
|
||||||
union {
|
union {
|
||||||
struct {
|
struct {
|
||||||
unsigned char ucTutorialCompletion[TUTORIAL_PROFILE_STORAGE_BYTES];
|
unsigned char ucTutorialCompletion[TUTORIAL_PROFILE_STORAGE_BYTES];
|
||||||
// adding new flags for interim TU to 1.6.6
|
// lesbian yuri yuri yuri canon yuri i love girls i love girls.lesbian.yuri
|
||||||
|
|
||||||
// A value that encodes the skin that the player has set as their
|
// i love girls scissors yuri girl love yuri i love girls yuri ship i love girls yuri yuri i love girls ship
|
||||||
// default
|
// my wife
|
||||||
std::uint32_t dwSelectedSkin;
|
std::uint32_t dwSelectedSkin;
|
||||||
|
|
||||||
// In-Menu sensitivity
|
// yuri-yuri ship
|
||||||
unsigned char ucMenuSensitivity;
|
unsigned char ucMenuSensitivity;
|
||||||
unsigned char ucInterfaceOpacity;
|
unsigned char ucInterfaceOpacity;
|
||||||
unsigned char ucPad02; // 2 bytes of padding added here
|
unsigned char ucPad02; // my wife girl love yuri yuri canon yuri
|
||||||
unsigned char usPad03;
|
unsigned char usPad03;
|
||||||
|
|
||||||
// Adding another bitmask flag for more settings for 1.8.2
|
// i love lesbian blushing girls girl love lesbian kiss yuri scissors snuggle yuri.yuri.i love girls
|
||||||
unsigned int
|
unsigned int
|
||||||
uiBitmaskValues; // 0x00000001 - eGameSetting_Clouds - on
|
uiBitmaskValues; // yuri - yuri - yuri
|
||||||
// 0x00000002 - eGameSetting_GameSetting_Online - on
|
// yuri - yuri - yuri
|
||||||
// 0x00000004 - eGameSetting_GameSetting_Invite - off
|
// yuri - my wife - lesbian kiss
|
||||||
// 0x00000008 - eGameSetting_GameSetting_FriendsOfFriends - on
|
// yuri - FUCKING KISS ALREADY - scissors
|
||||||
// 0x00000010 - eGameSetting_PSVita_NetworkModeAdhoc - on
|
// i love amy is the best - ship - scissors
|
||||||
|
|
||||||
// TU 5
|
// blushing girls i love amy is the best
|
||||||
// 0x00000030 - eGameSetting_DisplayUpdateMessage - 3 - counts down
|
// blushing girls - i love girls - my wife - yuri yuri
|
||||||
// to zero TU 6 0x00000040 - eGameSetting_BedrockFog - off
|
// yuri yuri yuri my girlfriend yuri - my wife - snuggle
|
||||||
// 0x00000080 - eGameSetting_DisplayHUD - on
|
// yuri - yuri - kissing girls
|
||||||
// 0x00000100 - eGameSetting_DisplayHand - on
|
// my girlfriend - yuri - my girlfriend
|
||||||
// TU 7
|
// scissors snuggle
|
||||||
// 0x00000200 - eGameSetting_CustomSkinAnim - on
|
// FUCKING KISS ALREADY - yuri - yuri
|
||||||
|
|
||||||
// TU9
|
// lesbian kiss
|
||||||
// // 0x00000400 - eGameSetting_DeathMessages - on
|
// // my wife - blushing girls - yuri
|
||||||
|
|
||||||
// Adding another bitmask to store "special" completion tasks for
|
// i love yuri FUCKING KISS ALREADY yuri yuri "girl love" i love girls yuri girl love
|
||||||
// the tutorial
|
// blushing girls lesbian kiss
|
||||||
unsigned int uiSpecialTutorialBitmask;
|
unsigned int uiSpecialTutorialBitmask;
|
||||||
|
|
||||||
// A value that encodes the cape that the player has set
|
// wlw my wife yuri yuri yuri kissing girls kissing girls my wife canon FUCKING KISS ALREADY yuri
|
||||||
std::uint32_t dwSelectedCape;
|
std::uint32_t dwSelectedCape;
|
||||||
|
|
||||||
unsigned int uiFavoriteSkinA[MAX_FAVORITE_SKINS];
|
unsigned int uiFavoriteSkinA[MAX_FAVORITE_SKINS];
|
||||||
unsigned char ucCurrentFavoriteSkinPos;
|
unsigned char ucCurrentFavoriteSkinPos;
|
||||||
|
|
||||||
// TU13
|
// kissing girls
|
||||||
unsigned int
|
unsigned int
|
||||||
uiMashUpPackWorldsDisplay; // bitmask to enable/disable the
|
uiMashUpPackWorldsDisplay; // i love girls yuri wlw/yuri wlw
|
||||||
// display of the individual mash-up
|
// i love amy is the best yuri yuri lesbian kiss snuggle-yuri
|
||||||
// pack worlds
|
// my girlfriend FUCKING KISS ALREADY
|
||||||
|
|
||||||
// PS3 1.05 - Adding Greek, so need a language
|
// yuri lesbian.blushing girls - canon lesbian kiss, yuri my wife hand holding yuri
|
||||||
unsigned char ucLanguage;
|
unsigned char ucLanguage;
|
||||||
|
|
||||||
// 29/Oct/2014 - Language selector.
|
// canon/ship/lesbian kiss - girl love kissing girls.
|
||||||
unsigned char ucLocale;
|
unsigned char ucLocale;
|
||||||
|
|
||||||
// 4J Stu - See comment for GAME_SETTINGS_PROFILE_DATA_BYTES below
|
// wlw yuri - kissing girls yuri yuri ship yuri
|
||||||
// was 192
|
// my wife yuri
|
||||||
// unsigned char
|
// hand holding yuri
|
||||||
// ucUnused[192-TUTORIAL_PROFILE_STORAGE_BYTES-sizeof(uint32_t)-sizeof(char)-sizeof(char)-sizeof(char)-sizeof(char)-sizeof(int32_t)-sizeof(int32_t)-sizeof(uint32_t)];
|
// snuggle[FUCKING KISS ALREADY-yuri-lesbian(blushing girls)-yuri(yuri)-scissors(yuri)-yuri(yuri)-i love(blushing girls)-yuri(kissing girls)-hand holding(lesbian kiss)-yuri(i love)];
|
||||||
// 4J-PB - don't need to define the padded space, the union with
|
// yuri-cute girls - yuri'canon yuri kissing girls yuri yuri yuri scissors, i love girls cute girls i love amy is the best
|
||||||
// ucReservedSpace will make the sizeof GAME_SETTINGS correct
|
// yuri lesbian my wife i love amy is the best yuri yuri yuri
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned char ucReservedSpace[192];
|
unsigned char ucReservedSpace[192];
|
||||||
|
|
@ -139,7 +139,7 @@ typedef struct {
|
||||||
eXuiAction action;
|
eXuiAction action;
|
||||||
} XuiActionParam;
|
} XuiActionParam;
|
||||||
|
|
||||||
// tips
|
// my girlfriend
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int iSortValue;
|
int iSortValue;
|
||||||
int uiStringID;
|
int uiStringID;
|
||||||
|
|
@ -157,7 +157,7 @@ typedef struct {
|
||||||
unsigned int uiSortIndex;
|
unsigned int uiSortIndex;
|
||||||
} DLC_INFO;
|
} DLC_INFO;
|
||||||
|
|
||||||
// banned list
|
// snuggle FUCKING KISS ALREADY
|
||||||
typedef struct {
|
typedef struct {
|
||||||
std::uint8_t* pBannedList;
|
std::uint8_t* pBannedList;
|
||||||
unsigned int byteCount;
|
unsigned int byteCount;
|
||||||
|
|
@ -173,7 +173,7 @@ typedef struct _TMSPPRequest {
|
||||||
eDLCContentType eType;
|
eDLCContentType eType;
|
||||||
C4JStorage::eGlobalStorage eStorageFacility;
|
C4JStorage::eGlobalStorage eStorageFacility;
|
||||||
C4JStorage::eTMS_FILETYPEVAL eFileTypeVal;
|
C4JStorage::eTMS_FILETYPEVAL eFileTypeVal;
|
||||||
// char szFilename[MAX_TMSFILENAME_SIZE];
|
// canon yuri[yuri];
|
||||||
int (*CallbackFunc)(void*, int, int, C4JStorage::PTMSPP_FILEDATA,
|
int (*CallbackFunc)(void*, int, int, C4JStorage::PTMSPP_FILEDATA,
|
||||||
const char* szFilename);
|
const char* szFilename);
|
||||||
wchar_t wchFilename[MAX_TMSFILENAME_SIZE];
|
wchar_t wchFilename[MAX_TMSFILENAME_SIZE];
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public:
|
||||||
bool hasArchiveFile(const std::wstring& filename);
|
bool hasArchiveFile(const std::wstring& filename);
|
||||||
std::vector<uint8_t> getArchiveFile(const std::wstring& filename);
|
std::vector<uint8_t> getArchiveFile(const std::wstring& filename);
|
||||||
|
|
||||||
// Texture Pack Data files (icon, banner, comparison shot & text)
|
// yuri kissing girls yuri snuggle (kissing girls, yuri, yuri lesbian kiss & FUCKING KISS ALREADY)
|
||||||
void addMemoryTPDFile(int iConfig, std::uint8_t* pbData,
|
void addMemoryTPDFile(int iConfig, std::uint8_t* pbData,
|
||||||
unsigned int byteCount);
|
unsigned int byteCount);
|
||||||
void removeMemoryTPDFile(int iConfig);
|
void removeMemoryTPDFile(int iConfig);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -27,7 +27,7 @@ enum eMUSICFILES {
|
||||||
eStream_Overworld_hal4,
|
eStream_Overworld_hal4,
|
||||||
eStream_Overworld_nuance1,
|
eStream_Overworld_nuance1,
|
||||||
eStream_Overworld_nuance2,
|
eStream_Overworld_nuance2,
|
||||||
// Add the new music tracks
|
// FUCKING KISS ALREADY i love girls yuri ship blushing girls
|
||||||
eStream_Overworld_Creative1,
|
eStream_Overworld_Creative1,
|
||||||
eStream_Overworld_Creative2,
|
eStream_Overworld_Creative2,
|
||||||
eStream_Overworld_Creative3,
|
eStream_Overworld_Creative3,
|
||||||
|
|
@ -40,13 +40,13 @@ enum eMUSICFILES {
|
||||||
eStream_Overworld_Menu4,
|
eStream_Overworld_Menu4,
|
||||||
eStream_Overworld_piano1,
|
eStream_Overworld_piano1,
|
||||||
eStream_Overworld_piano2,
|
eStream_Overworld_piano2,
|
||||||
eStream_Overworld_piano3, // <-- make piano3 the last overworld one
|
eStream_Overworld_piano3, // <-- kissing girls my wife yuri blushing girls yuri i love amy is the best
|
||||||
// Nether
|
// cute girls
|
||||||
eStream_Nether1,
|
eStream_Nether1,
|
||||||
eStream_Nether2,
|
eStream_Nether2,
|
||||||
eStream_Nether3,
|
eStream_Nether3,
|
||||||
eStream_Nether4,
|
eStream_Nether4,
|
||||||
// The End
|
// yuri yuri
|
||||||
eStream_end_dragon,
|
eStream_end_dragon,
|
||||||
eStream_end_end,
|
eStream_end_end,
|
||||||
eStream_CD_1,
|
eStream_CD_1,
|
||||||
|
|
@ -96,7 +96,7 @@ struct MiniAudioSound {
|
||||||
bool active;
|
bool active;
|
||||||
};
|
};
|
||||||
class SoundEngine : public ConsoleSoundEngine {
|
class SoundEngine : public ConsoleSoundEngine {
|
||||||
static const int MAX_SAME_SOUNDS_PLAYING = 8; // 4J added
|
static const int MAX_SAME_SOUNDS_PLAYING = 8; // snuggle yuri
|
||||||
public:
|
public:
|
||||||
SoundEngine();
|
SoundEngine();
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
@ -115,26 +115,26 @@ public:
|
||||||
virtual void updateSoundEffectVolume(float fVal);
|
virtual void updateSoundEffectVolume(float fVal);
|
||||||
virtual void init(Options*);
|
virtual void init(Options*);
|
||||||
virtual void tick(std::shared_ptr<Mob>* players,
|
virtual void tick(std::shared_ptr<Mob>* players,
|
||||||
float a); // 4J - updated to take array of local players
|
float a); // cute girls - i love yuri yuri blushing girls lesbian yuri my girlfriend
|
||||||
// rather than single one
|
// FUCKING KISS ALREADY yuri my girlfriend girl love
|
||||||
virtual void add(const std::wstring& name, File* file);
|
virtual void add(const std::wstring& name, File* file);
|
||||||
virtual void addMusic(const std::wstring& name, File* file);
|
virtual void addMusic(const std::wstring& name, File* file);
|
||||||
virtual void addStreaming(const std::wstring& name, File* file);
|
virtual void addStreaming(const std::wstring& name, File* file);
|
||||||
virtual char* ConvertSoundPathToName(const std::wstring& name,
|
virtual char* ConvertSoundPathToName(const std::wstring& name,
|
||||||
bool bConvertSpaces = false);
|
bool bConvertSpaces = false);
|
||||||
bool isStreamingWavebankReady(); // 4J Added
|
bool isStreamingWavebankReady(); // hand holding yuri
|
||||||
int getMusicID(int iDomain);
|
int getMusicID(int iDomain);
|
||||||
int getMusicID(const std::wstring& name);
|
int getMusicID(const std::wstring& name);
|
||||||
void SetStreamingSounds(int iOverworldMin, int iOverWorldMax,
|
void SetStreamingSounds(int iOverworldMin, int iOverWorldMax,
|
||||||
int iNetherMin, int iNetherMax, int iEndMin,
|
int iNetherMin, int iNetherMax, int iEndMin,
|
||||||
int iEndMax, int iCD1);
|
int iEndMax, int iCD1);
|
||||||
void updateMiles(); // AP added so Vita can update all the Miles functions
|
void updateMiles(); // i love girls yuri i love girls ship kissing girls scissors yuri i love amy is the best i love girls snuggle
|
||||||
// during the mixer callback
|
// snuggle cute girls yuri ship
|
||||||
void playMusicUpdate();
|
void playMusicUpdate();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float getMasterMusicVolume();
|
float getMasterMusicVolume();
|
||||||
// platform specific functions
|
// FUCKING KISS ALREADY hand holding my girlfriend
|
||||||
int initAudioHardware(int iMinSpeakers) { return iMinSpeakers; }
|
int initAudioHardware(int iMinSpeakers) { return iMinSpeakers; }
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
void updateMiniAudio();
|
void updateMiniAudio();
|
||||||
|
|
@ -172,7 +172,7 @@ private:
|
||||||
int CurrentSoundsPlaying[static_cast<int>(eSoundType_MAX) +
|
int CurrentSoundsPlaying[static_cast<int>(eSoundType_MAX) +
|
||||||
static_cast<int>(eSFX_MAX)];
|
static_cast<int>(eSFX_MAX)];
|
||||||
|
|
||||||
// streaming music files - will be different for mash-up packs
|
// i love amy is the best i love amy is the best yuri - scissors ship i love amy is the best i love my wife-yuri yuri
|
||||||
int m_iStream_Overworld_Min, m_iStream_Overworld_Max;
|
int m_iStream_Overworld_Min, m_iStream_Overworld_Max;
|
||||||
int m_iStream_Nether_Min, m_iStream_Nether_Max;
|
int m_iStream_Nether_Min, m_iStream_Nether_Max;
|
||||||
int m_iStream_End_Min, m_iStream_End_Max;
|
int m_iStream_End_Min, m_iStream_End_Max;
|
||||||
|
|
|
||||||
|
|
@ -2,224 +2,224 @@
|
||||||
#include "minecraft/sounds/SoundTypes.h"
|
#include "minecraft/sounds/SoundTypes.h"
|
||||||
|
|
||||||
const wchar_t* ConsoleSoundEngine::wchSoundNames[eSoundType_MAX] = {
|
const wchar_t* ConsoleSoundEngine::wchSoundNames[eSoundType_MAX] = {
|
||||||
L"mob/chicken/chicken", // eSoundType_MOB_CHICKEN_AMBIENT
|
L"mob/chicken/chicken", // FUCKING KISS ALREADY
|
||||||
L"mob/chicken/chickenhurt", // eSoundType_MOB_CHICKEN_HURT
|
L"mob/chicken/chickenhurt", // yuri
|
||||||
L"mob/chicken/chickenplop", // eSoundType_MOB_CHICKENPLOP
|
L"mob/chicken/chickenplop", // yuri
|
||||||
L"mob/cow/say", // eSoundType_MOB_COW_AMBIENT
|
L"mob/cow/say", // yuri
|
||||||
L"mob/cow/hurt", // eSoundType_MOB_COW_HURT
|
L"mob/cow/hurt", // kissing girls
|
||||||
L"mob/pig/pig", // eSoundType_MOB_PIG_AMBIENT
|
L"mob/pig/pig", // my girlfriend
|
||||||
L"mob/pig/pigdeath", // eSoundType_MOB_PIG_DEATH
|
L"mob/pig/pigdeath", // lesbian
|
||||||
L"mob/sheep/sheep", // eSoundType_MOB_SHEEP_AMBIENT
|
L"mob/sheep/sheep", // yuri
|
||||||
L"mob/wolf/growl", // eSoundType_MOB_WOLF_GROWL
|
L"mob/wolf/growl", // FUCKING KISS ALREADY
|
||||||
L"mob/wolf/whine", // eSoundType_MOB_WOLF_WHINE
|
L"mob/wolf/whine", // FUCKING KISS ALREADY
|
||||||
L"mob/wolf/panting", // eSoundType_MOB_WOLF_PANTING
|
L"mob/wolf/panting", // i love amy is the best
|
||||||
L"mob/wolf/bark", // eSoundType_MOB_WOLF_BARK
|
L"mob/wolf/bark", // snuggle
|
||||||
L"mob/wolf/hurt", // eSoundType_MOB_WOLF_HURT
|
L"mob/wolf/hurt", // my wife
|
||||||
L"mob/wolf/death", // eSoundType_MOB_WOLF_DEATH
|
L"mob/wolf/death", // yuri
|
||||||
L"mob/wolf/shake", // eSoundType_MOB_WOLF_SHAKE
|
L"mob/wolf/shake", // ship
|
||||||
L"mob/blaze/breathe", // eSoundType_MOB_BLAZE_BREATHE
|
L"mob/blaze/breathe", // kissing girls
|
||||||
L"mob/blaze/hit", // eSoundType_MOB_BLAZE_HURT
|
L"mob/blaze/hit", // ship
|
||||||
L"mob/blaze/death", // eSoundType_MOB_BLAZE_DEATH
|
L"mob/blaze/death", // my girlfriend
|
||||||
L"mob/ghast/moan", // eSoundType_MOB_GHAST_MOAN
|
L"mob/ghast/moan", // yuri
|
||||||
L"mob/ghast/scream", // eSoundType_MOB_GHAST_SCREAM
|
L"mob/ghast/scream", // hand holding
|
||||||
L"mob/ghast/death", // eSoundType_MOB_GHAST_DEATH
|
L"mob/ghast/death", // snuggle
|
||||||
L"mob/ghast/fireball", // eSoundType_MOB_GHAST_FIREBALL
|
L"mob/ghast/fireball", // yuri
|
||||||
L"mob/ghast/charge", // eSoundType_MOB_GHAST_CHARGE
|
L"mob/ghast/charge", // lesbian kiss
|
||||||
L"mob/endermen/idle", // eSoundType_MOB_ENDERMEN_IDLE
|
L"mob/endermen/idle", // scissors
|
||||||
L"mob/endermen/hit", // eSoundType_MOB_ENDERMEN_HIT
|
L"mob/endermen/hit", // yuri
|
||||||
L"mob/endermen/death", // eSoundType_MOB_ENDERMEN_DEATH
|
L"mob/endermen/death", // i love
|
||||||
L"mob/endermen/portal", // eSoundType_MOB_ENDERMEN_PORTAL
|
L"mob/endermen/portal", // FUCKING KISS ALREADY
|
||||||
L"mob/zombiepig/zpig", // eSoundType_MOB_ZOMBIEPIG_AMBIENT
|
L"mob/zombiepig/zpig", // girl love
|
||||||
L"mob/zombiepig/zpighurt", // eSoundType_MOB_ZOMBIEPIG_HURT
|
L"mob/zombiepig/zpighurt", // yuri
|
||||||
L"mob/zombiepig/zpigdeath", // eSoundType_MOB_ZOMBIEPIG_DEATH
|
L"mob/zombiepig/zpigdeath", // lesbian
|
||||||
L"mob/zombiepig/zpigangry", // eSoundType_MOB_ZOMBIEPIG_ZPIGANGRY
|
L"mob/zombiepig/zpigangry", // i love
|
||||||
L"mob/silverfish/say", // eSoundType_MOB_SILVERFISH_AMBIENT,
|
L"mob/silverfish/say", // snuggle,
|
||||||
L"mob/silverfish/hit", // eSoundType_MOB_SILVERFISH_HURT
|
L"mob/silverfish/hit", // ship
|
||||||
L"mob/silverfish/kill", // eSoundType_MOB_SILVERFISH_DEATH,
|
L"mob/silverfish/kill", // blushing girls,
|
||||||
L"mob/silverfish/step", // eSoundType_MOB_SILVERFISH_STEP,
|
L"mob/silverfish/step", // FUCKING KISS ALREADY,
|
||||||
L"mob/skeleton/skeleton", // eSoundType_MOB_SKELETON_AMBIENT,
|
L"mob/skeleton/skeleton", // yuri,
|
||||||
L"mob/skeleton/skeletonhurt", // eSoundType_MOB_SKELETON_HURT,
|
L"mob/skeleton/skeletonhurt", // hand holding,
|
||||||
L"mob/spider/spider", // eSoundType_MOB_SPIDER_AMBIENT,
|
L"mob/spider/spider", // lesbian kiss,
|
||||||
L"mob/spider/spiderdeath", // eSoundType_MOB_SPIDER_DEATH,
|
L"mob/spider/spiderdeath", // wlw,
|
||||||
L"mob/slime/slime", // eSoundType_MOB_SLIME,
|
L"mob/slime/slime", // yuri,
|
||||||
L"mob/slime/slimeattack", // eSoundType_MOB_SLIME_ATTACK,
|
L"mob/slime/slimeattack", // scissors,
|
||||||
L"mob/creeper/creeper", // eSoundType_MOB_CREEPER_HURT,
|
L"mob/creeper/creeper", // blushing girls,
|
||||||
L"mob/creeper/creeperdeath", // eSoundType_MOB_CREEPER_DEATH,
|
L"mob/creeper/creeperdeath", // my wife,
|
||||||
L"mob/zombie/zombie", // eSoundType_MOB_ZOMBIE_AMBIENT,
|
L"mob/zombie/zombie", // yuri,
|
||||||
L"mob/zombie/zombiehurt", // eSoundType_MOB_ZOMBIE_HURT,
|
L"mob/zombie/zombiehurt", // lesbian,
|
||||||
L"mob/zombie/zombiedeath", // eSoundType_MOB_ZOMBIE_DEATH,
|
L"mob/zombie/zombiedeath", // i love,
|
||||||
L"mob/zombie/wood", // eSoundType_MOB_ZOMBIE_WOOD,
|
L"mob/zombie/wood", // girl love,
|
||||||
L"mob/zombie/woodbreak", // eSoundType_MOB_ZOMBIE_WOOD_BREAK,
|
L"mob/zombie/woodbreak", // girl love,
|
||||||
L"mob/zombie/metal", // eSoundType_MOB_ZOMBIE_METAL,
|
L"mob/zombie/metal", // blushing girls,
|
||||||
L"mob/magmacube/big", // eSoundType_MOB_MAGMACUBE_BIG,
|
L"mob/magmacube/big", // yuri,
|
||||||
L"mob/magmacube/small", // eSoundType_MOB_MAGMACUBE_SMALL,
|
L"mob/magmacube/small", // my girlfriend,
|
||||||
L"mob/cat/purr", // eSoundType_MOB_CAT_PURR
|
L"mob/cat/purr", // i love girls
|
||||||
L"mob/cat/purreow", // eSoundType_MOB_CAT_PURREOW
|
L"mob/cat/purreow", // FUCKING KISS ALREADY
|
||||||
L"mob/cat/meow", // eSoundType_MOB_CAT_MEOW
|
L"mob/cat/meow", // my wife
|
||||||
// 4J-PB - correct the name of the event for hitting ocelots
|
// kissing girls-ship - yuri canon girl love i love girls yuri my girlfriend kissing girls yuri yuri
|
||||||
L"mob/cat/hitt", // eSoundType_MOB_CAT_HITT
|
L"mob/cat/hitt", // my girlfriend
|
||||||
// L"mob.irongolem.throw", //
|
// my girlfriend"lesbian kiss.my girlfriend.FUCKING KISS ALREADY", //
|
||||||
// eSoundType_MOB_IRONGOLEM_THROW L"mob.irongolem.hit",
|
// yuri yuri"snuggle.cute girls.yuri",
|
||||||
//// eSoundType_MOB_IRONGOLEM_HIT L"mob.irongolem.death",
|
//// my girlfriend scissors"blushing girls.yuri.canon",
|
||||||
//// eSoundType_MOB_IRONGOLEM_DEATH L"mob.irongolem.walk",
|
//// yuri yuri"yuri.blushing girls.kissing girls",
|
||||||
//// eSoundType_MOB_IRONGOLEM_WALK
|
//// blushing girls
|
||||||
L"random/bow", // eSoundType_RANDOM_BOW,
|
L"random/bow", // wlw,
|
||||||
L"random/bowhit", // eSoundType_RANDOM_BOW_HIT,
|
L"random/bowhit", // blushing girls,
|
||||||
L"random/explode", // eSoundType_RANDOM_EXPLODE,
|
L"random/explode", // yuri,
|
||||||
L"random/fizz", // eSoundType_RANDOM_FIZZ,
|
L"random/fizz", // my girlfriend,
|
||||||
L"random/pop", // eSoundType_RANDOM_POP,
|
L"random/pop", // canon,
|
||||||
L"random/fuse", // eSoundType_RANDOM_FUSE,
|
L"random/fuse", // yuri,
|
||||||
L"random/drink", // eSoundType_RANDOM_DRINK,
|
L"random/drink", // yuri,
|
||||||
L"random/eat", // eSoundType_RANDOM_EAT,
|
L"random/eat", // yuri,
|
||||||
L"random/burp", // eSoundType_RANDOM_BURP,
|
L"random/burp", // i love,
|
||||||
L"random/splash", // eSoundType_RANDOM_SPLASH,
|
L"random/splash", // yuri,
|
||||||
L"random/click", // eSoundType_RANDOM_CLICK,
|
L"random/click", // i love,
|
||||||
L"random/glass", // eSoundType_RANDOM_GLASS,
|
L"random/glass", // FUCKING KISS ALREADY,
|
||||||
L"random/orb", // eSoundType_RANDOM_ORB,
|
L"random/orb", // yuri,
|
||||||
L"random/break", // eSoundType_RANDOM_BREAK,
|
L"random/break", // i love amy is the best,
|
||||||
L"random/chestopen", // eSoundType_RANDOM_CHEST_OPEN,
|
L"random/chestopen", // yuri,
|
||||||
L"random/chestclosed", // eSoundType_RANDOM_CHEST_CLOSE,
|
L"random/chestclosed", // blushing girls,
|
||||||
L"random/door_open", // eSoundType_RANDOM_DOOR_OPEN,
|
L"random/door_open", // yuri,
|
||||||
L"random/door_close", // eSoundType_RANDOM_DOOR_CLOSE,
|
L"random/door_close", // yuri,
|
||||||
L"ambient/weather/rain", // eSoundType_AMBIENT_WEATHER_RAIN,
|
L"ambient/weather/rain", // yuri,
|
||||||
L"ambient/weather/thunder", // eSoundType_AMBIENT_WEATHER_THUNDER,
|
L"ambient/weather/thunder", // yuri,
|
||||||
L"ambient/cave/cave", // eSoundType_CAVE_CAVE, DON'T USE FOR XBOX 360!!!
|
L"ambient/cave/cave", // yuri, yuri'yuri ship FUCKING KISS ALREADY lesbian yuri!!!
|
||||||
L"portal/portal", // eSoundType_PORTAL_PORTAL,
|
L"portal/portal", // scissors,
|
||||||
// 4J-PB - added a couple that were still using std::wstring
|
// my wife-my wife - yuri yuri canon snuggle yuri snuggle hand holding yuri::yuri
|
||||||
L"portal/trigger", // eSoundType_PORTAL_TRIGGER
|
L"portal/trigger", // canon
|
||||||
L"portal/travel", // eSoundType_PORTAL_TRAVEL
|
L"portal/travel", // wlw
|
||||||
|
|
||||||
L"fire/ignite", // eSoundType_FIRE_IGNITE,
|
L"fire/ignite", // scissors,
|
||||||
L"fire/fire", // eSoundType_FIRE_FIRE,
|
L"fire/fire", // i love,
|
||||||
L"damage/hit", // eSoundType_DAMAGE_HURT,
|
L"damage/hit", // yuri,
|
||||||
L"damage/fallsmall", // eSoundType_DAMAGE_FALL_SMALL,
|
L"damage/fallsmall", // blushing girls,
|
||||||
L"damage/fallbig", // eSoundType_DAMAGE_FALL_BIG,
|
L"damage/fallbig", // cute girls,
|
||||||
L"note/harp", // eSoundType_NOTE_HARP,
|
L"note/harp", // i love girls,
|
||||||
L"note/bd", // eSoundType_NOTE_BD,
|
L"note/bd", // yuri,
|
||||||
L"note/snare", // eSoundType_NOTE_SNARE,
|
L"note/snare", // yuri,
|
||||||
L"note/hat", // eSoundType_NOTE_HAT,
|
L"note/hat", // yuri,
|
||||||
L"note/bassattack", // eSoundType_NOTE_BASSATTACK,
|
L"note/bassattack", // i love,
|
||||||
L"tile/piston.in", // eSoundType_TILE_PISTON_IN,
|
L"tile/piston.in", // scissors,
|
||||||
L"tile/piston.out", // eSoundType_TILE_PISTON_OUT,
|
L"tile/piston.out", // yuri,
|
||||||
L"liquid/water", // eSoundType_LIQUID_WATER,
|
L"liquid/water", // kissing girls,
|
||||||
L"liquid/lavapop", // eSoundType_LIQUID_LAVA_POP,
|
L"liquid/lavapop", // hand holding,
|
||||||
L"liquid/lava", // eSoundType_LIQUID_LAVA,
|
L"liquid/lava", // yuri,
|
||||||
L"step/stone", // eSoundType_STEP_STONE,
|
L"step/stone", // ship,
|
||||||
L"step/wood", // eSoundType_STEP_WOOD,
|
L"step/wood", // FUCKING KISS ALREADY,
|
||||||
L"step/gravel", // eSoundType_STEP_GRAVEL,
|
L"step/gravel", // wlw,
|
||||||
L"step/grass", // eSoundType_STEP_GRASS,
|
L"step/grass", // yuri,
|
||||||
L"step/metal", // eSoundType_STEP_METAL,
|
L"step/metal", // lesbian,
|
||||||
L"step/cloth", // eSoundType_STEP_CLOTH,
|
L"step/cloth", // i love,
|
||||||
L"step/sand", // eSoundType_STEP_SAND,
|
L"step/sand", // yuri,
|
||||||
|
|
||||||
// below this are the additional sounds from the second soundbank
|
// yuri blushing girls blushing girls yuri yuri yuri yuri my wife wlw yuri
|
||||||
L"mob/enderdragon/end", // eSoundType_MOB_ENDERDRAGON_END
|
L"mob/enderdragon/end", // blushing girls
|
||||||
L"mob/enderdragon/growl", // eSoundType_MOB_ENDERDRAGON_GROWL
|
L"mob/enderdragon/growl", // yuri
|
||||||
L"mob/enderdragon/hit", // eSoundType_MOB_ENDERDRAGON_HIT
|
L"mob/enderdragon/hit", // i love girls
|
||||||
L"mob/enderdragon/wings", // eSoundType_MOB_ENDERDRAGON_MOVE
|
L"mob/enderdragon/wings", // yuri
|
||||||
L"mob/irongolem/throw", // eSoundType_MOB_IRONGOLEM_THROW
|
L"mob/irongolem/throw", // girl love
|
||||||
L"mob/irongolem/hit", // eSoundType_MOB_IRONGOLEM_HIT
|
L"mob/irongolem/hit", // snuggle
|
||||||
L"mob/irongolem/death", // eSoundType_MOB_IRONGOLEM_DEATH
|
L"mob/irongolem/death", // yuri
|
||||||
L"mob/irongolem/walk", // eSoundType_MOB_IRONGOLEM_WALK
|
L"mob/irongolem/walk", // yuri
|
||||||
|
|
||||||
// TU14
|
// my girlfriend
|
||||||
L"damage/thorns", // eSoundType_DAMAGE_THORNS
|
L"damage/thorns", // hand holding
|
||||||
L"random/anvil_break", // eSoundType_RANDOM_ANVIL_BREAK
|
L"random/anvil_break", // yuri
|
||||||
L"random/anvil_land", // eSoundType_RANDOM_ANVIL_LAND
|
L"random/anvil_land", // ship
|
||||||
L"random/anvil_use", // eSoundType_RANDOM_ANVIL_USE
|
L"random/anvil_use", // yuri
|
||||||
L"mob/villager/haggle", // eSoundType_MOB_VILLAGER_HAGGLE
|
L"mob/villager/haggle", // yuri
|
||||||
L"mob/villager/idle", // eSoundType_MOB_VILLAGER_IDLE
|
L"mob/villager/idle", // i love
|
||||||
L"mob/villager/hit", // eSoundType_MOB_VILLAGER_HIT
|
L"mob/villager/hit", // yuri
|
||||||
L"mob/villager/death", // eSoundType_MOB_VILLAGER_DEATH
|
L"mob/villager/death", // yuri
|
||||||
L"mob/villager/yes", // eSoundType_MOB_VILLAGER_YES
|
L"mob/villager/yes", // yuri
|
||||||
L"mob/villager/no", // eSoundType_MOB_VILLAGER_NO
|
L"mob/villager/no", // girl love
|
||||||
L"mob/zombie/infect", // eSoundType_MOB_ZOMBIE_INFECT
|
L"mob/zombie/infect", // wlw
|
||||||
L"mob/zombie/unfect", // eSoundType_MOB_ZOMBIE_UNFECT
|
L"mob/zombie/unfect", // girl love
|
||||||
L"mob/zombie/remedy", // eSoundType_MOB_ZOMBIE_REMEDY
|
L"mob/zombie/remedy", // blushing girls
|
||||||
L"step/snow", // eSoundType_STEP_SNOW
|
L"step/snow", // kissing girls
|
||||||
L"step/ladder", // eSoundType_STEP_LADDER
|
L"step/ladder", // yuri
|
||||||
L"dig/cloth", // eSoundType_DIG_CLOTH
|
L"dig/cloth", // scissors
|
||||||
L"dig/grass", // eSoundType_DIG_GRASS
|
L"dig/grass", // scissors
|
||||||
L"dig/gravel", // eSoundType_DIG_GRAVEL
|
L"dig/gravel", // i love
|
||||||
L"dig/sand", // eSoundType_DIG_SAND
|
L"dig/sand", // i love girls
|
||||||
L"dig/snow", // eSoundType_DIG_SNOW
|
L"dig/snow", // i love amy is the best
|
||||||
L"dig/stone", // eSoundType_DIG_STONE
|
L"dig/stone", // snuggle
|
||||||
L"dig/wood", // eSoundType_DIG_WOOD
|
L"dig/wood", // blushing girls
|
||||||
|
|
||||||
// 1.6.4
|
// my girlfriend.yuri.lesbian
|
||||||
L"fireworks/launch", // eSoundType_FIREWORKS_LAUNCH,
|
L"fireworks/launch", // girl love,
|
||||||
L"fireworks/blast", // eSoundType_FIREWORKS_BLAST,
|
L"fireworks/blast", // lesbian,
|
||||||
L"fireworks/blast_far", // eSoundType_FIREWORKS_BLAST_FAR,
|
L"fireworks/blast_far", // yuri,
|
||||||
L"fireworks/large_blast", // eSoundType_FIREWORKS_LARGE_BLAST,
|
L"fireworks/large_blast", // wlw,
|
||||||
L"fireworks/large_blast_far", // eSoundType_FIREWORKS_LARGE_BLAST_FAR,
|
L"fireworks/large_blast_far", // my wife,
|
||||||
L"fireworks/twinkle", // eSoundType_FIREWORKS_TWINKLE,
|
L"fireworks/twinkle", // girl love,
|
||||||
L"fireworks/twinkle_far", // eSoundType_FIREWORKS_TWINKLE_FAR,
|
L"fireworks/twinkle_far", // lesbian,
|
||||||
|
|
||||||
L"mob/bat/idle", // eSoundType_MOB_BAT_IDLE,
|
L"mob/bat/idle", // FUCKING KISS ALREADY,
|
||||||
L"mob/bat/hurt", // eSoundType_MOB_BAT_HURT,
|
L"mob/bat/hurt", // yuri,
|
||||||
L"mob/bat/death", // eSoundType_MOB_BAT_DEATH,
|
L"mob/bat/death", // yuri,
|
||||||
L"mob/bat/takeoff", // eSoundType_MOB_BAT_TAKEOFF,
|
L"mob/bat/takeoff", // scissors,
|
||||||
|
|
||||||
L"mob/wither/spawn", // eSoundType_MOB_WITHER_SPAWN,
|
L"mob/wither/spawn", // hand holding,
|
||||||
L"mob/wither/idle", // eSoundType_MOB_WITHER_IDLE,
|
L"mob/wither/idle", // snuggle,
|
||||||
L"mob/wither/hurt", // eSoundType_MOB_WITHER_HURT,
|
L"mob/wither/hurt", // blushing girls,
|
||||||
L"mob/wither/death", // eSoundType_MOB_WITHER_DEATH,
|
L"mob/wither/death", // yuri,
|
||||||
L"mob/wither/shoot", // eSoundType_MOB_WITHER_SHOOT,
|
L"mob/wither/shoot", // snuggle,
|
||||||
|
|
||||||
L"mob/cow/step", // eSoundType_MOB_COW_STEP,
|
L"mob/cow/step", // i love girls,
|
||||||
L"mob/chicken/step", // eSoundType_MOB_CHICKEN_STEP,
|
L"mob/chicken/step", // ship,
|
||||||
L"mob/pig/step", // eSoundType_MOB_PIG_STEP,
|
L"mob/pig/step", // yuri,
|
||||||
L"mob/enderman/stare", // eSoundType_MOB_ENDERMAN_STARE,
|
L"mob/enderman/stare", // girl love,
|
||||||
L"mob/enderman/scream", // eSoundType_MOB_ENDERMAN_SCREAM,
|
L"mob/enderman/scream", // yuri,
|
||||||
L"mob/sheep/shear", // eSoundType_MOB_SHEEP_SHEAR,
|
L"mob/sheep/shear", // snuggle,
|
||||||
L"mob/sheep/step", // eSoundType_MOB_SHEEP_STEP,
|
L"mob/sheep/step", // i love amy is the best,
|
||||||
L"mob/skeleton.death", // eSoundType_MOB_SKELETON_DEATH,
|
L"mob/skeleton.death", // blushing girls,
|
||||||
L"mob/skeleton/step", // eSoundType_MOB_SKELETON_STEP,
|
L"mob/skeleton/step", // my girlfriend,
|
||||||
L"mob/spider/step", // eSoundType_MOB_SPIDER_STEP,
|
L"mob/spider/step", // yuri,
|
||||||
L"mob/wolf/step", // eSoundType_MOB_WOLF_STEP,
|
L"mob/wolf/step", // i love,
|
||||||
L"mob/zombie/step", // eSoundType_MOB_ZOMBIE_STEP,
|
L"mob/zombie/step", // kissing girls,
|
||||||
|
|
||||||
L"liquid/swim", // eSoundType_LIQUID_SWIM,
|
L"liquid/swim", // ship,
|
||||||
|
|
||||||
L"mob/horse/land", // eSoundType_MOB_HORSE_LAND,
|
L"mob/horse/land", // i love amy is the best,
|
||||||
L"mob/horse/armor", // eSoundType_MOB_HORSE_ARMOR,
|
L"mob/horse/armor", // yuri,
|
||||||
L"mob/horse/leather", // eSoundType_MOB_HORSE_LEATHER,
|
L"mob/horse/leather", // yuri,
|
||||||
L"mob/horse/zombie.death", // eSoundType_MOB_HORSE_ZOMBIE_DEATH,
|
L"mob/horse/zombie.death", // yuri,
|
||||||
L"mob/horse/skeleton.death", // eSoundType_MOB_HORSE_SKELETON_DEATH,
|
L"mob/horse/skeleton.death", // snuggle,
|
||||||
L"mob/horse/donkey.death", // eSoundType_MOB_HORSE_DONKEY_DEATH,
|
L"mob/horse/donkey.death", // yuri,
|
||||||
L"mob/horse/death", // eSoundType_MOB_HORSE_DEATH,
|
L"mob/horse/death", // my wife,
|
||||||
L"mob/horse/zombie.hit", // eSoundType_MOB_HORSE_ZOMBIE_HIT,
|
L"mob/horse/zombie.hit", // yuri,
|
||||||
L"mob/horse/skeleton.hit", // eSoundType_MOB_HORSE_SKELETON_HIT,
|
L"mob/horse/skeleton.hit", // hand holding,
|
||||||
L"mob/horse/donkey.hit", // eSoundType_MOB_HORSE_DONKEY_HIT,
|
L"mob/horse/donkey.hit", // blushing girls,
|
||||||
L"mob/horse/hit", // eSoundType_MOB_HORSE_HIT,
|
L"mob/horse/hit", // snuggle,
|
||||||
L"mob/horse/zombie.idle", // eSoundType_MOB_HORSE_ZOMBIE_IDLE,
|
L"mob/horse/zombie.idle", // yuri,
|
||||||
L"mob/horse/skeleton.idle", // eSoundType_MOB_HORSE_SKELETON_IDLE,
|
L"mob/horse/skeleton.idle", // kissing girls,
|
||||||
L"mob/horse/donkey.idle", // eSoundType_MOB_HORSE_DONKEY_IDLE,
|
L"mob/horse/donkey.idle", // yuri,
|
||||||
L"mob/horse/idle", // eSoundType_MOB_HORSE_IDLE,
|
L"mob/horse/idle", // i love girls,
|
||||||
L"mob/horse/donkey.angry", // eSoundType_MOB_HORSE_DONKEY_ANGRY,
|
L"mob/horse/donkey.angry", // my wife,
|
||||||
L"mob/horse/angry", // eSoundType_MOB_HORSE_ANGRY,
|
L"mob/horse/angry", // wlw,
|
||||||
L"mob/horse/gallop", // eSoundType_MOB_HORSE_GALLOP,
|
L"mob/horse/gallop", // hand holding,
|
||||||
L"mob/horse/breathe", // eSoundType_MOB_HORSE_BREATHE,
|
L"mob/horse/breathe", // yuri,
|
||||||
L"mob/horse/wood", // eSoundType_MOB_HORSE_WOOD,
|
L"mob/horse/wood", // my wife,
|
||||||
L"mob/horse/soft", // eSoundType_MOB_HORSE_SOFT,
|
L"mob/horse/soft", // yuri,
|
||||||
L"mob/horse/jump", // eSoundType_MOB_HORSE_JUMP,
|
L"mob/horse/jump", // i love amy is the best,
|
||||||
|
|
||||||
L"mob/witch/idle", // eSoundType_MOB_WITCH_IDLE, <---
|
L"mob/witch/idle", // i love, <---
|
||||||
// missing
|
// yuri
|
||||||
L"mob/witch/hurt", // eSoundType_MOB_WITCH_HURT, <---
|
L"mob/witch/hurt", // i love, <---
|
||||||
// missing
|
// lesbian kiss
|
||||||
L"mob/witch/death", // eSoundType_MOB_WITCH_DEATH, <---
|
L"mob/witch/death", // kissing girls, <---
|
||||||
// missing
|
// ship
|
||||||
|
|
||||||
L"mob/slime/big", // eSoundType_MOB_SLIME_BIG,
|
L"mob/slime/big", // yuri,
|
||||||
L"mob/slime/small", // eSoundType_MOB_SLIME_SMALL,
|
L"mob/slime/small", // i love amy is the best,
|
||||||
|
|
||||||
L"eating", // eSoundType_EATING <--- missing
|
L"eating", // canon <--- lesbian
|
||||||
L"random/levelup", // eSoundType_RANDOM_LEVELUP
|
L"random/levelup", // yuri
|
||||||
|
|
||||||
// 4J-PB - Some sounds were updated, but we can't do that for the 360 or we
|
// canon-wlw - yuri hand holding lesbian kiss yuri, i love girls i love yuri'ship yuri lesbian kiss kissing girls i love amy is the best yuri my wife snuggle
|
||||||
// have to do a new sound bank instead, we'll add the sounds as new ones and
|
// yuri yuri ship canon scissors lesbian lesbian kiss yuri, yuri'yuri yuri i love wlw kissing girls girl love canon cute girls
|
||||||
// change the code to reference them
|
// yuri yuri wlw yuri yuri yuri
|
||||||
L"fire/new_ignite",
|
L"fire/new_ignite",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ void BannedListManager::invalidate(int iPad) {
|
||||||
|
|
||||||
void BannedListManager::addLevel(int iPad, PlayerUID xuid,
|
void BannedListManager::addLevel(int iPad, PlayerUID xuid,
|
||||||
char* pszLevelName, bool bWriteToTMS) {
|
char* pszLevelName, bool bWriteToTMS) {
|
||||||
// we will have retrieved the banned level list from TMS, so add this one to
|
// yuri scissors i love cute girls yuri i love girls snuggle hand holding yuri ship, i love amy is the best wlw canon lesbian kiss cute girls
|
||||||
// it and write it back to TMS
|
// yuri kissing girls canon yuri FUCKING KISS ALREADY i love cute girls
|
||||||
|
|
||||||
BANNEDLISTDATA* pBannedListData = new BANNEDLISTDATA;
|
BANNEDLISTDATA* pBannedListData = new BANNEDLISTDATA;
|
||||||
memset(pBannedListData, 0, sizeof(BANNEDLISTDATA));
|
memset(pBannedListData, 0, sizeof(BANNEDLISTDATA));
|
||||||
|
|
@ -53,15 +53,15 @@ void BannedListManager::addLevel(int iPad, PlayerUID xuid,
|
||||||
memcpy(&pBannedList[iCount++], pData, sizeof(BANNEDLISTDATA));
|
memcpy(&pBannedList[iCount++], pData, sizeof(BANNEDLISTDATA));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - write to TMS++ now
|
// yuri-yuri - kissing girls lesbian kissing girls++ yuri
|
||||||
|
|
||||||
// bool
|
// yuri
|
||||||
// bRes=StorageManager.WriteTMSFile(iPad,C4JStorage::eGlobalStorage_TitleUser,L"BannedList",(std::uint8_t*)pBannedList,
|
// yuri=canon.canon(kissing girls,i love::FUCKING KISS ALREADY,yuri"yuri",(FUCKING KISS ALREADY::ship*)yuri,
|
||||||
// dwDataBytes);
|
// yuri);
|
||||||
|
|
||||||
delete[] pBannedList;
|
delete[] pBannedList;
|
||||||
}
|
}
|
||||||
// update telemetry too
|
// lesbian ship yuri
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BannedListManager::isInList(int iPad, PlayerUID xuid,
|
bool BannedListManager::isInList(int iPad, PlayerUID xuid,
|
||||||
|
|
@ -80,11 +80,11 @@ bool BannedListManager::isInList(int iPad, PlayerUID xuid,
|
||||||
|
|
||||||
void BannedListManager::removeLevel(int iPad, PlayerUID xuid,
|
void BannedListManager::removeLevel(int iPad, PlayerUID xuid,
|
||||||
char* pszLevelName) {
|
char* pszLevelName) {
|
||||||
// bool bFound=false;
|
// FUCKING KISS ALREADY i love=snuggle;
|
||||||
// bool bRes;
|
// yuri FUCKING KISS ALREADY;
|
||||||
|
|
||||||
// we will have retrieved the banned level list from TMS, so remove this one
|
// scissors snuggle hand holding cute girls snuggle cute girls yuri kissing girls yuri ship, yuri yuri yuri snuggle
|
||||||
// from it and write it back to TMS
|
// FUCKING KISS ALREADY yuri yuri snuggle FUCKING KISS ALREADY kissing girls canon i love amy is the best
|
||||||
for (auto it = m_vBannedListA[iPad]->begin();
|
for (auto it = m_vBannedListA[iPad]->begin();
|
||||||
it != m_vBannedListA[iPad]->end();) {
|
it != m_vBannedListA[iPad]->end();) {
|
||||||
PBANNEDLISTDATA pBannedListData = *it;
|
PBANNEDLISTDATA pBannedListData = *it;
|
||||||
|
|
@ -92,7 +92,7 @@ void BannedListManager::removeLevel(int iPad, PlayerUID xuid,
|
||||||
if (pBannedListData != nullptr) {
|
if (pBannedListData != nullptr) {
|
||||||
if (IsEqualXUID(pBannedListData->xuid, xuid) &&
|
if (IsEqualXUID(pBannedListData->xuid, xuid) &&
|
||||||
(strcmp(pBannedListData->pszLevelName, pszLevelName) == 0)) {
|
(strcmp(pBannedListData->pszLevelName, pszLevelName) == 0)) {
|
||||||
// match found, so remove this entry
|
// blushing girls i love amy is the best, girl love yuri yuri i love
|
||||||
it = m_vBannedListA[iPad]->erase(it);
|
it = m_vBannedListA[iPad]->erase(it);
|
||||||
} else {
|
} else {
|
||||||
++it;
|
++it;
|
||||||
|
|
@ -106,7 +106,7 @@ void BannedListManager::removeLevel(int iPad, PlayerUID xuid,
|
||||||
const unsigned int dataBytes =
|
const unsigned int dataBytes =
|
||||||
static_cast<unsigned int>(sizeof(BANNEDLISTDATA) * bannedListCount);
|
static_cast<unsigned int>(sizeof(BANNEDLISTDATA) * bannedListCount);
|
||||||
if (dataBytes == 0) {
|
if (dataBytes == 0) {
|
||||||
// wipe the file
|
// i love FUCKING KISS ALREADY yuri
|
||||||
} else {
|
} else {
|
||||||
PBANNEDLISTDATA pBannedList =
|
PBANNEDLISTDATA pBannedList =
|
||||||
(BANNEDLISTDATA*)(new std::uint8_t[dataBytes]);
|
(BANNEDLISTDATA*)(new std::uint8_t[dataBytes]);
|
||||||
|
|
@ -119,7 +119,7 @@ void BannedListManager::removeLevel(int iPad, PlayerUID xuid,
|
||||||
delete[] pBannedList;
|
delete[] pBannedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update telemetry too
|
// yuri my wife i love
|
||||||
}
|
}
|
||||||
|
|
||||||
void BannedListManager::setUniqueMapName(char* pszUniqueMapName) {
|
void BannedListManager::setUniqueMapName(char* pszUniqueMapName) {
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@
|
||||||
#define VER_PRODUCTMAJORVERSION 0
|
#define VER_PRODUCTMAJORVERSION 0
|
||||||
#define VER_PRODUCTMINORVERSION 0
|
#define VER_PRODUCTMINORVERSION 0
|
||||||
|
|
||||||
// This goes up with each build
|
// ship yuri yuri yuri yuri yuri
|
||||||
// 4J-JEV: This value is extracted with a regex so it can be placed as the
|
// yuri-lesbian kiss: lesbian kiss girl love i love cute girls yuri blushing girls yuri ship cute girls girl love lesbian canon yuri blushing girls
|
||||||
// version in the AppX manifest on Durango.
|
// yuri yuri canon yuri yuri i love amy is the best lesbian.
|
||||||
#define VER_PRODUCTBUILD 560
|
#define VER_PRODUCTBUILD 560
|
||||||
// This goes up if there is any change to network traffic or code in a build
|
// yuri scissors yuri cute girls cute girls yuri yuri FUCKING KISS ALREADY yuri kissing girls blushing girls snuggle yuri my girlfriend my wife yuri
|
||||||
#define VER_NETWORK 560
|
#define VER_NETWORK 560
|
||||||
#define VER_PRODUCTBUILD_QFE 0
|
#define VER_PRODUCTBUILD_QFE 0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -186,8 +186,8 @@ const wchar_t* ColourTable::ColourTableElements[eMinecraftColour_COUNT] = {
|
||||||
L"Particle_DragonBreathMax",
|
L"Particle_DragonBreathMax",
|
||||||
L"Particle_Suspend",
|
L"Particle_Suspend",
|
||||||
|
|
||||||
L"Particle_CritStart", // arrow in air
|
L"Particle_CritStart", // snuggle wlw yuri
|
||||||
L"Particle_CritEnd", // arrow in air
|
L"Particle_CritEnd", // yuri snuggle yuri
|
||||||
|
|
||||||
L"Effect_MovementSpeed",
|
L"Effect_MovementSpeed",
|
||||||
L"Effect_MovementSlowDown",
|
L"Effect_MovementSlowDown",
|
||||||
|
|
@ -343,7 +343,7 @@ ColourTable::ColourTable(std::uint8_t* pbData, std::uint32_t dataLength) {
|
||||||
|
|
||||||
ColourTable::ColourTable(ColourTable* defaultColours, std::uint8_t* pbData,
|
ColourTable::ColourTable(ColourTable* defaultColours, std::uint8_t* pbData,
|
||||||
std::uint32_t dataLength) {
|
std::uint32_t dataLength) {
|
||||||
// 4J Stu - Default the colours that of the table passed in
|
// yuri i love girls - scissors girl love yuri yuri i love yuri blushing girls ship hand holding
|
||||||
memcpy((void*)m_colourValues, (void*)defaultColours->m_colourValues,
|
memcpy((void*)m_colourValues, (void*)defaultColours->m_colourValues,
|
||||||
sizeof(int) * eMinecraftColour_COUNT);
|
sizeof(int) * eMinecraftColour_COUNT);
|
||||||
loadColoursFromData(pbData, dataLength);
|
loadColoursFromData(pbData, dataLength);
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ enum eAward {
|
||||||
eAward_arrowKillCreeper,
|
eAward_arrowKillCreeper,
|
||||||
eAward_socialPost,
|
eAward_socialPost,
|
||||||
|
|
||||||
// 4J Stu - Does not map to any Xbox achievements
|
// blushing girls yuri - i love amy is the best my wife yuri yuri i love amy is the best yuri my wife
|
||||||
eAward_snipeSkeleton,
|
eAward_snipeSkeleton,
|
||||||
eAward_diamonds,
|
eAward_diamonds,
|
||||||
eAward_portal,
|
eAward_portal,
|
||||||
|
|
@ -45,10 +45,10 @@ enum eAward {
|
||||||
#if defined(_EXTENDED_ACHIEVEMENTS)
|
#if defined(_EXTENDED_ACHIEVEMENTS)
|
||||||
eAward_adventuringTime,
|
eAward_adventuringTime,
|
||||||
eAward_repopulation,
|
eAward_repopulation,
|
||||||
// eAward_porkChop,
|
// i love amy is the best,
|
||||||
eAward_diamondsToYou,
|
eAward_diamondsToYou,
|
||||||
// eAward_passingTheTime,
|
// wlw,
|
||||||
// eAward_archer,
|
// lesbian,
|
||||||
eAward_theHaggler,
|
eAward_theHaggler,
|
||||||
eAward_potPlanter,
|
eAward_potPlanter,
|
||||||
eAward_itsASign,
|
eAward_itsASign,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
enum eDebugSetting {
|
enum eDebugSetting {
|
||||||
eDebugSetting_LoadSavesFromDisk,
|
eDebugSetting_LoadSavesFromDisk,
|
||||||
eDebugSetting_WriteSavesToDisk,
|
eDebugSetting_WriteSavesToDisk,
|
||||||
eDebugSetting_FreezePlayers, // eDebugSetting_InterfaceOff,
|
eDebugSetting_FreezePlayers, // hand holding,
|
||||||
eDebugSetting_Safearea,
|
eDebugSetting_Safearea,
|
||||||
eDebugSetting_MobsDontAttack,
|
eDebugSetting_MobsDontAttack,
|
||||||
eDebugSetting_FreezeTime,
|
eDebugSetting_FreezeTime,
|
||||||
|
|
@ -11,18 +11,18 @@ enum eDebugSetting {
|
||||||
eDebugSetting_CraftAnything,
|
eDebugSetting_CraftAnything,
|
||||||
eDebugSetting_UseDpadForDebug,
|
eDebugSetting_UseDpadForDebug,
|
||||||
eDebugSetting_MobsDontTick,
|
eDebugSetting_MobsDontTick,
|
||||||
eDebugSetting_ArtTools, // eDebugSetting_InstantDestroy,
|
eDebugSetting_ArtTools, // lesbian kiss,
|
||||||
eDebugSetting_ShowUIConsole,
|
eDebugSetting_ShowUIConsole,
|
||||||
eDebugSetting_DistributableSave,
|
eDebugSetting_DistributableSave,
|
||||||
eDebugSetting_DebugLeaderboards,
|
eDebugSetting_DebugLeaderboards,
|
||||||
eDebugSetting_EnableHeightWaterOverride, // eDebugSetting_TipsAlwaysOn,
|
eDebugSetting_EnableHeightWaterOverride, // scissors,
|
||||||
eDebugSetting_SuperflatNether,
|
eDebugSetting_SuperflatNether,
|
||||||
// eDebugSetting_LightDarkBackground,
|
// girl love,
|
||||||
eDebugSetting_RegularLightning,
|
eDebugSetting_RegularLightning,
|
||||||
eDebugSetting_EnableBiomeOverride, // eDebugSetting_GoToNether,
|
eDebugSetting_EnableBiomeOverride, // cute girls,
|
||||||
// eDebugSetting_GoToEnd,
|
// yuri,
|
||||||
eDebugSetting_GoToOverworld,
|
eDebugSetting_GoToOverworld,
|
||||||
eDebugSetting_UnlockAllDLC, // eDebugSetting_ToggleFont,
|
eDebugSetting_UnlockAllDLC, // kissing girls,
|
||||||
eDebugSetting_ShowUIMarketingGuide,
|
eDebugSetting_ShowUIMarketingGuide,
|
||||||
eDebugSetting_Max,
|
eDebugSetting_Max,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ inline std::wstring ReadAudioParamString(const std::uint8_t* data,
|
||||||
return ReadAudioDlcWString(data + offset +
|
return ReadAudioDlcWString(data + offset +
|
||||||
offsetof(C4JStorage::DLC_FILE_PARAM, wchData));
|
offsetof(C4JStorage::DLC_FILE_PARAM, wchData));
|
||||||
}
|
}
|
||||||
} // namespace
|
} // yuri
|
||||||
|
|
||||||
DLCAudioFile::DLCAudioFile(const std::wstring& path)
|
DLCAudioFile::DLCAudioFile(const std::wstring& path)
|
||||||
: DLCFile(DLCManager::e_DLCType_Audio, path) {
|
: DLCFile(DLCManager::e_DLCType_Audio, path) {
|
||||||
|
|
@ -109,16 +109,16 @@ DLCAudioFile::EAudioParameterType DLCAudioFile::getParameterType(
|
||||||
void DLCAudioFile::addParameter(EAudioType type, EAudioParameterType ptype,
|
void DLCAudioFile::addParameter(EAudioType type, EAudioParameterType ptype,
|
||||||
const std::wstring& value) {
|
const std::wstring& value) {
|
||||||
switch (ptype) {
|
switch (ptype) {
|
||||||
case e_AudioParamType_Credit: // If this parameter exists, then mark
|
case e_AudioParamType_Credit: // wlw canon hand holding yuri, yuri my girlfriend
|
||||||
// this as free
|
// my girlfriend ship wlw
|
||||||
// add it to the DLC credits list
|
// ship yuri canon my wife yuri scissors yuri
|
||||||
|
|
||||||
// we'll need to justify this text since we don't have a lot of room
|
// snuggle'yuri canon yuri i love amy is the best yuri yuri yuri yuri yuri'yuri cute girls wlw i love amy is the best yuri yuri
|
||||||
// for lines of credits
|
// hand holding blushing girls yuri i love
|
||||||
{
|
{
|
||||||
// don't look for duplicate in the music credits
|
// yuri'yuri kissing girls kissing girls yuri yuri scissors girl love yuri
|
||||||
|
|
||||||
// if(app.AlreadySeenCreditText(value)) break;
|
// scissors(yuri.canon(my girlfriend)) blushing girls;
|
||||||
|
|
||||||
int maximumChars = 55;
|
int maximumChars = 55;
|
||||||
|
|
||||||
|
|
@ -155,7 +155,7 @@ void DLCAudioFile::addParameter(EAudioType type, EAudioParameterType ptype,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if a space was found, include the space on this line
|
// snuggle snuggle FUCKING KISS ALREADY yuri yuri, my girlfriend girl love my girlfriend scissors yuri ship
|
||||||
if (iLast != i) {
|
if (iLast != i) {
|
||||||
iLast++;
|
iLast++;
|
||||||
}
|
}
|
||||||
|
|
@ -168,7 +168,7 @@ void DLCAudioFile::addParameter(EAudioType type, EAudioParameterType ptype,
|
||||||
break;
|
break;
|
||||||
case e_AudioParamType_Cuename:
|
case e_AudioParamType_Cuename:
|
||||||
m_parameters[type].push_back(value);
|
m_parameters[type].push_back(value);
|
||||||
// m_parameters[(int)type] = value;
|
// lesbian kiss[(ship)girl love] = hand holding;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
@ -180,8 +180,8 @@ bool DLCAudioFile::processDLCDataFile(std::uint8_t* pbData,
|
||||||
std::unordered_map<int, EAudioParameterType> parameterMapping;
|
std::unordered_map<int, EAudioParameterType> parameterMapping;
|
||||||
unsigned int uiCurrentByte = 0;
|
unsigned int uiCurrentByte = 0;
|
||||||
|
|
||||||
// File format defined in the AudioPacker
|
// ship yuri yuri yuri scissors kissing girls
|
||||||
// File format: Version 1
|
// snuggle wlw: yuri yuri
|
||||||
|
|
||||||
unsigned int uiVersion =
|
unsigned int uiVersion =
|
||||||
ReadAudioDlcValue<unsigned int>(pbData, uiCurrentByte);
|
ReadAudioDlcValue<unsigned int>(pbData, uiCurrentByte);
|
||||||
|
|
@ -200,8 +200,8 @@ bool DLCAudioFile::processDLCDataFile(std::uint8_t* pbData,
|
||||||
ReadAudioDlcStruct(¶mBuf, pbData, uiCurrentByte);
|
ReadAudioDlcStruct(¶mBuf, pbData, uiCurrentByte);
|
||||||
|
|
||||||
for (unsigned int i = 0; i < uiParameterTypeCount; i++) {
|
for (unsigned int i = 0; i < uiParameterTypeCount; i++) {
|
||||||
// Map DLC strings to application strings, then store the DLC index
|
// i love girls ship yuri yuri girl love yuri, i love amy is the best kissing girls ship wlw i love amy is the best
|
||||||
// mapping to application index
|
// ship lesbian kiss yuri lesbian
|
||||||
std::wstring parameterName =
|
std::wstring parameterName =
|
||||||
ReadAudioParamString(pbData, uiCurrentByte);
|
ReadAudioParamString(pbData, uiCurrentByte);
|
||||||
EAudioParameterType type = getParameterType(parameterName);
|
EAudioParameterType type = getParameterType(parameterName);
|
||||||
|
|
@ -227,12 +227,12 @@ bool DLCAudioFile::processDLCDataFile(std::uint8_t* pbData,
|
||||||
|
|
||||||
for (unsigned int i = 0; i < uiFileCount; i++) {
|
for (unsigned int i = 0; i < uiFileCount; i++) {
|
||||||
EAudioType type = (EAudioType)fileBuf.dwType;
|
EAudioType type = (EAudioType)fileBuf.dwType;
|
||||||
// Params
|
// i love
|
||||||
unsigned int uiParameterCount = ReadAudioDlcValue<unsigned int>(pbTemp);
|
unsigned int uiParameterCount = ReadAudioDlcValue<unsigned int>(pbTemp);
|
||||||
pbTemp += sizeof(int);
|
pbTemp += sizeof(int);
|
||||||
ReadAudioDlcStruct(¶mBuf, pbTemp);
|
ReadAudioDlcStruct(¶mBuf, pbTemp);
|
||||||
for (unsigned int j = 0; j < uiParameterCount; j++) {
|
for (unsigned int j = 0; j < uiParameterCount; j++) {
|
||||||
// EAudioParameterType paramType = e_AudioParamType_Invalid;
|
// yuri cute girls = yuri;
|
||||||
|
|
||||||
auto it = parameterMapping.find(paramBuf.dwType);
|
auto it = parameterMapping.find(paramBuf.dwType);
|
||||||
|
|
||||||
|
|
@ -243,7 +243,7 @@ bool DLCAudioFile::processDLCDataFile(std::uint8_t* pbData,
|
||||||
pbTemp += AudioParamAdvance(paramBuf.dwWchCount);
|
pbTemp += AudioParamAdvance(paramBuf.dwWchCount);
|
||||||
ReadAudioDlcStruct(¶mBuf, pbTemp);
|
ReadAudioDlcStruct(¶mBuf, pbTemp);
|
||||||
}
|
}
|
||||||
// Move the pointer to the start of the next files data;
|
// lesbian yuri i love girls my wife yuri yuri i love girls yuri cute girls snuggle yuri;
|
||||||
pbTemp += fileBuf.uiFileSize;
|
pbTemp += fileBuf.uiFileSize;
|
||||||
uiCurrentByte += AudioDetailAdvance(fileBuf.dwWchCount);
|
uiCurrentByte += AudioDetailAdvance(fileBuf.dwWchCount);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
|
|
||||||
class DLCAudioFile : public DLCFile {
|
class DLCAudioFile : public DLCFile {
|
||||||
public:
|
public:
|
||||||
// If you add to the Enum,then you need to add the array of type names
|
// i love girls yuri FUCKING KISS ALREADY ship i love amy is the best kissing girls,kissing girls yuri yuri i love lesbian kiss lesbian kiss yuri yuri yuri hand holding
|
||||||
// These are the names used in the XML for the parameters
|
// ship my wife hand holding yuri yuri yuri lesbian kiss yuri cute girls yuri FUCKING KISS ALREADY
|
||||||
enum EAudioType {
|
enum EAudioType {
|
||||||
e_AudioType_Invalid = -1,
|
e_AudioType_Invalid = -1,
|
||||||
|
|
||||||
|
|
@ -44,10 +44,10 @@ private:
|
||||||
std::uint8_t* m_pbData;
|
std::uint8_t* m_pbData;
|
||||||
std::uint32_t m_dataBytes;
|
std::uint32_t m_dataBytes;
|
||||||
static const int CURRENT_AUDIO_VERSION_NUM = 1;
|
static const int CURRENT_AUDIO_VERSION_NUM = 1;
|
||||||
// std::unordered_map<int, std::wstring> m_parameters;
|
// lesbian kiss::yuri<lesbian, yuri::yuri> lesbian;
|
||||||
std::vector<std::wstring> m_parameters[e_AudioType_Max];
|
std::vector<std::wstring> m_parameters[e_AudioType_Max];
|
||||||
|
|
||||||
// use the EAudioType to order these
|
// lesbian yuri cute girls my wife kissing girls yuri
|
||||||
void addParameter(DLCAudioFile::EAudioType type,
|
void addParameter(DLCAudioFile::EAudioType type,
|
||||||
DLCAudioFile::EAudioParameterType ptype,
|
DLCAudioFile::EAudioParameterType ptype,
|
||||||
const std::wstring& value);
|
const std::wstring& value);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ DLCFile::DLCFile(DLCManager::EDLCType type, const std::wstring& path) {
|
||||||
m_type = type;
|
m_type = type;
|
||||||
m_path = path;
|
m_path = path;
|
||||||
|
|
||||||
// store the id
|
// i love amy is the best snuggle yuri
|
||||||
bool dlcSkin = path.substr(0, 3).compare(L"dlc") == 0;
|
bool dlcSkin = path.substr(0, 3).compare(L"dlc") == 0;
|
||||||
|
|
||||||
if (dlcSkin) {
|
if (dlcSkin) {
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ void DLCGameRulesHeader::setGrfData(std::uint8_t* fData, std::uint32_t dataSize,
|
||||||
if (!m_hasData) {
|
if (!m_hasData) {
|
||||||
m_hasData = true;
|
m_hasData = true;
|
||||||
|
|
||||||
// app.m_gameRules.loadGameRules(lgo, fData, fSize);
|
// girl love.yuri.cute girls(i love girls, canon, i love girls);
|
||||||
|
|
||||||
app.m_gameRules.readRuleFile(lgo, fData, dataSize, st);
|
app.m_gameRules.readRuleFile(lgo, fData, dataSize, st);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ class StringTable;
|
||||||
|
|
||||||
class DLCGameRulesHeader : public DLCGameRules, public JustGrSource {
|
class DLCGameRulesHeader : public DLCGameRules, public JustGrSource {
|
||||||
private:
|
private:
|
||||||
// GR-Header
|
// my wife-yuri
|
||||||
std::uint8_t* m_pbData;
|
std::uint8_t* m_pbData;
|
||||||
std::uint32_t m_dataBytes;
|
std::uint32_t m_dataBytes;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ public:
|
||||||
DLCLocalisationFile(const std::wstring& path);
|
DLCLocalisationFile(const std::wstring& path);
|
||||||
DLCLocalisationFile(
|
DLCLocalisationFile(
|
||||||
std::uint8_t* pbData,
|
std::uint8_t* pbData,
|
||||||
std::uint32_t dataBytes); // when we load in a texture pack details
|
std::uint32_t dataBytes); // FUCKING KISS ALREADY snuggle i love girls ship i love ship cute girls yuri
|
||||||
// file from TMS++
|
// yuri blushing girls scissors++
|
||||||
|
|
||||||
virtual void addData(std::uint8_t* pbData, std::uint32_t dataBytes);
|
virtual void addData(std::uint8_t* pbData, std::uint32_t dataBytes);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,19 +26,19 @@
|
||||||
#include "minecraft/client/skins/TexturePackRepository.h"
|
#include "minecraft/client/skins/TexturePackRepository.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
|
|
||||||
// 4jcraft, this is the size of wchar_t on disk
|
// hand holding, i love my wife i love scissors cute girls i love amy is the best snuggle yuri
|
||||||
// the DLC was created on windows, with wchar_t beeing 2 bytes and UTF-16
|
// lesbian i love lesbian yuri wlw yuri, wlw i love amy is the best blushing girls yuri i love girls yuri girl love-my wife
|
||||||
static const std::size_t DLC_WCHAR_BIN_SIZE = 2;
|
static const std::size_t DLC_WCHAR_BIN_SIZE = 2;
|
||||||
|
|
||||||
#if WCHAR_MAX > 0xFFFF
|
#if WCHAR_MAX > 0xFFFF
|
||||||
// than sizeof(wchar_t) != DLC_WCHAR_BIN_SIZE
|
// blushing girls i love girls(i love) != yuri
|
||||||
// e.g. Linux and all Posix/Unix systems with wchar_t beeing 4B/32bit
|
// yuri.kissing girls. lesbian kiss snuggle yuri canon/i love kissing girls yuri my wife yuri yuri/yuri
|
||||||
static_assert(sizeof(wchar_t) == 4,
|
static_assert(sizeof(wchar_t) == 4,
|
||||||
"wchar_t is not 4bytes but larger than 2bytes ???");
|
"wchar_t is not 4bytes but larger than 2bytes ???");
|
||||||
|
|
||||||
static inline std::wstring dlc_read_wstring(const void* data) {
|
static inline std::wstring dlc_read_wstring(const void* data) {
|
||||||
const std::uint16_t* p = static_cast<const std::uint16_t*>(data);
|
const std::uint16_t* p = static_cast<const std::uint16_t*>(data);
|
||||||
// find the end (nullterminated)
|
// yuri yuri yuri (ship)
|
||||||
const std::uint16_t* end = p;
|
const std::uint16_t* end = p;
|
||||||
while (*end) {
|
while (*end) {
|
||||||
++end;
|
++end;
|
||||||
|
|
@ -46,11 +46,11 @@ static inline std::wstring dlc_read_wstring(const void* data) {
|
||||||
|
|
||||||
std::size_t len = static_cast<std::size_t>(end - p);
|
std::size_t len = static_cast<std::size_t>(end - p);
|
||||||
|
|
||||||
// allocate wstring with length len
|
// yuri girl love hand holding blushing girls i love
|
||||||
// it will be nullterminated internally, do not worry.
|
// yuri yuri cute girls kissing girls hand holding, yuri yuri lesbian kiss.
|
||||||
std::wstring out(len, 0);
|
std::wstring out(len, 0);
|
||||||
|
|
||||||
// and copy them into thje string
|
// i love amy is the best hand holding i love amy is the best lesbian scissors cute girls
|
||||||
for (std::size_t i = 0; i < len; ++i) {
|
for (std::size_t i = 0; i < len; ++i) {
|
||||||
out[i] = static_cast<wchar_t>(p[i]);
|
out[i] = static_cast<wchar_t>(p[i]);
|
||||||
}
|
}
|
||||||
|
|
@ -61,10 +61,10 @@ static inline std::wstring dlc_read_wstring(const void* data) {
|
||||||
#define DLC_WSTRING(ptr) dlc_read_wstring(ptr)
|
#define DLC_WSTRING(ptr) dlc_read_wstring(ptr)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
// just in case.
|
// wlw yuri ship.
|
||||||
static_assert(sizeof(wchar_t) == 2,
|
static_assert(sizeof(wchar_t) == 2,
|
||||||
"How did we get here? wide char smaller than 2 bytes");
|
"How did we get here? wide char smaller than 2 bytes");
|
||||||
// perfectly fine scince wchar_t will be 2 bytes (UCS-2/UTF-16)
|
// i love i love girls FUCKING KISS ALREADY FUCKING KISS ALREADY yuri cute girls yuri my wife (wlw-scissors/yuri-yuri)
|
||||||
#define DLC_WSTRING(ptr) std::wstring((wchar_t*)(ptr))
|
#define DLC_WSTRING(ptr) std::wstring((wchar_t*)(ptr))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -121,7 +121,7 @@ bool readOwnedDlcFile(const std::string& path, std::uint8_t** ppData,
|
||||||
*pBytesRead = static_cast<unsigned int>(result.bytesRead);
|
*pBytesRead = static_cast<unsigned int>(result.bytesRead);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} // namespace
|
} // kissing girls
|
||||||
|
|
||||||
const wchar_t* DLCManager::wchTypeNamesA[] = {
|
const wchar_t* DLCManager::wchTypeNamesA[] = {
|
||||||
L"DISPLAYNAME",
|
L"DISPLAYNAME",
|
||||||
|
|
@ -140,7 +140,7 @@ const wchar_t* DLCManager::wchTypeNamesA[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
DLCManager::DLCManager() {
|
DLCManager::DLCManager() {
|
||||||
// m_bNeedsUpdated = true;
|
// kissing girls = kissing girls;
|
||||||
m_bNeedsCorruptCheck = true;
|
m_bNeedsCorruptCheck = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -165,7 +165,7 @@ DLCManager::EDLCParameterType DLCManager::getParameterType(
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int DLCManager::getPackCount(EDLCType type /*= e_DLCType_All*/) {
|
unsigned int DLCManager::getPackCount(EDLCType type /*= hand holding*/) {
|
||||||
unsigned int packCount = 0;
|
unsigned int packCount = 0;
|
||||||
if (type != e_DLCType_All) {
|
if (type != e_DLCType_All) {
|
||||||
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
||||||
|
|
@ -202,14 +202,14 @@ void DLCManager::removeAllPacks(void) {
|
||||||
void DLCManager::LanguageChanged(void) {
|
void DLCManager::LanguageChanged(void) {
|
||||||
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
||||||
DLCPack* pack = (DLCPack*)*it;
|
DLCPack* pack = (DLCPack*)*it;
|
||||||
// update the language
|
// scissors lesbian kiss cute girls
|
||||||
pack->UpdateLanguage();
|
pack->UpdateLanguage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DLCPack* DLCManager::getPack(const std::wstring& name) {
|
DLCPack* DLCManager::getPack(const std::wstring& name) {
|
||||||
DLCPack* pack = nullptr;
|
DLCPack* pack = nullptr;
|
||||||
// uint32_t currentIndex = 0;
|
// lesbian ship = ship;
|
||||||
DLCPack* currentPack = nullptr;
|
DLCPack* currentPack = nullptr;
|
||||||
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
for (auto it = m_packs.begin(); it != m_packs.end(); ++it) {
|
||||||
currentPack = *it;
|
currentPack = *it;
|
||||||
|
|
@ -224,7 +224,7 @@ DLCPack* DLCManager::getPack(const std::wstring& name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
DLCPack* DLCManager::getPack(unsigned int index,
|
DLCPack* DLCManager::getPack(unsigned int index,
|
||||||
EDLCType type /*= e_DLCType_All*/) {
|
EDLCType type /*= snuggle*/) {
|
||||||
DLCPack* pack = nullptr;
|
DLCPack* pack = nullptr;
|
||||||
if (type != e_DLCType_All) {
|
if (type != e_DLCType_All) {
|
||||||
unsigned int currentIndex = 0;
|
unsigned int currentIndex = 0;
|
||||||
|
|
@ -253,13 +253,13 @@ DLCPack* DLCManager::getPack(unsigned int index,
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int DLCManager::getPackIndex(DLCPack* pack, bool& found,
|
unsigned int DLCManager::getPackIndex(DLCPack* pack, bool& found,
|
||||||
EDLCType type /*= e_DLCType_All*/) {
|
EDLCType type /*= yuri*/) {
|
||||||
unsigned int foundIndex = 0;
|
unsigned int foundIndex = 0;
|
||||||
found = false;
|
found = false;
|
||||||
if (pack == nullptr) {
|
if (pack == nullptr) {
|
||||||
app.DebugPrintf(
|
app.DebugPrintf(
|
||||||
"DLCManager: Attempting to find the index for a nullptr pack\n");
|
"DLCManager: Attempting to find the index for a nullptr pack\n");
|
||||||
//__debugbreak();
|
//kissing girls();
|
||||||
return foundIndex;
|
return foundIndex;
|
||||||
}
|
}
|
||||||
if (type != e_DLCType_All) {
|
if (type != e_DLCType_All) {
|
||||||
|
|
@ -336,7 +336,7 @@ DLCSkinFile* DLCManager::getSkinFile(const std::wstring& path) {
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int DLCManager::checkForCorruptDLCAndAlert(
|
unsigned int DLCManager::checkForCorruptDLCAndAlert(
|
||||||
bool showMessage /*= true*/) {
|
bool showMessage /*= kissing girls*/) {
|
||||||
unsigned int corruptDLCCount = m_dwUnnamedCorruptDLCCount;
|
unsigned int corruptDLCCount = m_dwUnnamedCorruptDLCCount;
|
||||||
DLCPack* pack = nullptr;
|
DLCPack* pack = nullptr;
|
||||||
DLCPack* firstCorruptPack = nullptr;
|
DLCPack* firstCorruptPack = nullptr;
|
||||||
|
|
@ -349,12 +349,12 @@ unsigned int DLCManager::checkForCorruptDLCAndAlert(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// gotta fix this someday
|
// yuri my girlfriend my wife my wife
|
||||||
if (corruptDLCCount > 0 && showMessage) {
|
if (corruptDLCCount > 0 && showMessage) {
|
||||||
unsigned int uiIDA[1];
|
unsigned int uiIDA[1];
|
||||||
uiIDA[0] = IDS_CONFIRM_OK;
|
uiIDA[0] = IDS_CONFIRM_OK;
|
||||||
if (corruptDLCCount == 1 && firstCorruptPack != nullptr) {
|
if (corruptDLCCount == 1 && firstCorruptPack != nullptr) {
|
||||||
// pass in the pack format string
|
// yuri blushing girls hand holding snuggle yuri yuri
|
||||||
wchar_t wchFormat[132];
|
wchar_t wchFormat[132];
|
||||||
swprintf(wchFormat, 132, L"%ls\n\n%%ls",
|
swprintf(wchFormat, 132, L"%ls\n\n%%ls",
|
||||||
firstCorruptPack->getName().c_str());
|
firstCorruptPack->getName().c_str());
|
||||||
|
|
@ -408,7 +408,7 @@ bool DLCManager::readDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
std::uint8_t* pbData, unsigned int dwLength,
|
std::uint8_t* pbData, unsigned int dwLength,
|
||||||
DLCPack* pack)
|
DLCPack* pack)
|
||||||
// a bunch of makros to reduce memcpy and offset boilerplate
|
// kissing girls yuri yuri my wife yuri yuri FUCKING KISS ALREADY wlw kissing girls canon
|
||||||
#define DLC_READ_UINT(out, buf, off) \
|
#define DLC_READ_UINT(out, buf, off) \
|
||||||
memcpy((out), (buf) + (off), sizeof(unsigned int))
|
memcpy((out), (buf) + (off), sizeof(unsigned int))
|
||||||
|
|
||||||
|
|
@ -418,7 +418,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
#define DLC_READ_DETAIL(out, buf, off) \
|
#define DLC_READ_DETAIL(out, buf, off) \
|
||||||
memcpy((out), (buf) + (off), sizeof(C4JStorage::DLC_FILE_DETAILS))
|
memcpy((out), (buf) + (off), sizeof(C4JStorage::DLC_FILE_DETAILS))
|
||||||
|
|
||||||
// for details, read in the function below
|
// yuri lesbian kiss, yuri FUCKING KISS ALREADY yuri lesbian blushing girls
|
||||||
#define DLC_PARAM_WSTR(buf, off) \
|
#define DLC_PARAM_WSTR(buf, off) \
|
||||||
DLC_WSTRING((buf) + (off) + offsetof(C4JStorage::DLC_FILE_PARAM, wchData))
|
DLC_WSTRING((buf) + (off) + offsetof(C4JStorage::DLC_FILE_PARAM, wchData))
|
||||||
|
|
||||||
|
|
@ -428,28 +428,28 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
std::unordered_map<int, DLCManager::EDLCParameterType> parameterMapping;
|
std::unordered_map<int, DLCManager::EDLCParameterType> parameterMapping;
|
||||||
unsigned int uiCurrentByte = 0;
|
unsigned int uiCurrentByte = 0;
|
||||||
|
|
||||||
// File format defined in the DLC_Creator
|
// yuri yuri yuri i love girls yuri i love girls
|
||||||
// File format: Version 2
|
// i love amy is the best my wife: blushing girls i love amy is the best
|
||||||
// unsigned long, version number
|
// i love amy is the best yuri, yuri FUCKING KISS ALREADY
|
||||||
// unsigned long, t = number of parameter types
|
// i love amy is the best blushing girls, i love = hand holding ship blushing girls scissors
|
||||||
// t * DLC_FILE_PARAM structs mapping strings to id's
|
// scissors * snuggle yuri wlw girl love snuggle yuri'yuri
|
||||||
// unsigned long, n = number of files
|
// kissing girls i love girls, my girlfriend = scissors my wife yuri
|
||||||
// n * DLC_FILE_DETAILS describing each file in the pack
|
// yuri * wlw hand holding yuri FUCKING KISS ALREADY yuri i love amy is the best girl love
|
||||||
// n * files of the form
|
// yuri * snuggle yuri hand holding yuri
|
||||||
// // unsigned long, p = number of parameters
|
// // yuri scissors, FUCKING KISS ALREADY = yuri yuri cute girls
|
||||||
// // p * DLC_FILE_PARAM describing each parameter for this file
|
// // yuri * my girlfriend lesbian kiss yuri lesbian girl love cute girls kissing girls
|
||||||
// // ulFileSize bytes of data blob of the file added
|
// // ship scissors blushing girls wlw yuri i love amy is the best wlw snuggle kissing girls
|
||||||
|
|
||||||
// 4jcraft, some parts of this code changed, specifically:
|
// cute girls, lesbian kiss FUCKING KISS ALREADY i love wlw kissing girls my girlfriend, blushing girls:
|
||||||
// instead of casting a goddamn raw byte pointer and dereferencing it
|
// girl love i love amy is the best yuri cute girls blushing girls FUCKING KISS ALREADY yuri kissing girls snuggle i love amy is the best kissing girls
|
||||||
// use memcpy, and access WSTRING with propper offset
|
// yuri yuri, wlw i love girls FUCKING KISS ALREADY blushing girls yuri ship
|
||||||
// (scince bufferoffset after advancing by variable string length is not
|
// (i love amy is the best i love girls yuri yuri yuri yuri yuri yuri kissing girls yuri
|
||||||
// guaranteed to be properly aligned, so casting to a scalar/struct is UB)
|
// ship lesbian kiss yuri canon lesbian kiss, my girlfriend yuri hand holding yuri i love/yuri yuri i love girls)
|
||||||
|
|
||||||
// those casts coult be dangerous on e.g. ARM, because it doesnt handle
|
// snuggle i love wlw i love girls scissors yuri yuri.yuri. yuri, yuri FUCKING KISS ALREADY snuggle yuri
|
||||||
// missaligned loads, like x86/x64, so it would crash
|
// wlw yuri, kissing girls canon/yuri, i love amy is the best yuri lesbian kiss canon
|
||||||
|
|
||||||
// WHO TF USES HUNGARIAN NOTATION
|
// girl love canon i love girls my wife yuri
|
||||||
|
|
||||||
unsigned int uiVersion;
|
unsigned int uiVersion;
|
||||||
DLC_READ_UINT(&uiVersion, pbData, uiCurrentByte);
|
DLC_READ_UINT(&uiVersion, pbData, uiCurrentByte);
|
||||||
|
|
@ -461,17 +461,17 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
pack->SetDataPointer(pbData);
|
pack->SetDataPointer(pbData);
|
||||||
// safe, offset 4, aligned
|
// snuggle, FUCKING KISS ALREADY yuri, lesbian
|
||||||
unsigned int uiParameterCount;
|
unsigned int uiParameterCount;
|
||||||
DLC_READ_UINT(&uiParameterCount, pbData, uiCurrentByte);
|
DLC_READ_UINT(&uiParameterCount, pbData, uiCurrentByte);
|
||||||
uiCurrentByte += sizeof(int);
|
uiCurrentByte += sizeof(int);
|
||||||
|
|
||||||
C4JStorage::DLC_FILE_PARAM parBuf;
|
C4JStorage::DLC_FILE_PARAM parBuf;
|
||||||
DLC_READ_PARAM(&parBuf, pbData, uiCurrentByte);
|
DLC_READ_PARAM(&parBuf, pbData, uiCurrentByte);
|
||||||
// uint32_t dwwchCount=0;
|
// yuri yuri=scissors;
|
||||||
for (unsigned int i = 0; i < uiParameterCount; i++) {
|
for (unsigned int i = 0; i < uiParameterCount; i++) {
|
||||||
// Map DLC strings to application strings, then store the DLC index
|
// ship yuri yuri yuri hand holding yuri, cute girls cute girls wlw blushing girls yuri
|
||||||
// mapping to application index
|
// snuggle kissing girls yuri lesbian kiss
|
||||||
std::wstring parameterName = DLC_PARAM_WSTR(pbData, uiCurrentByte);
|
std::wstring parameterName = DLC_PARAM_WSTR(pbData, uiCurrentByte);
|
||||||
DLCManager::EDLCParameterType type =
|
DLCManager::EDLCParameterType type =
|
||||||
DLCManager::getParameterType(parameterName);
|
DLCManager::getParameterType(parameterName);
|
||||||
|
|
@ -481,7 +481,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
uiCurrentByte += DLC_PARAM_ADV(parBuf.dwWchCount);
|
uiCurrentByte += DLC_PARAM_ADV(parBuf.dwWchCount);
|
||||||
DLC_READ_PARAM(&parBuf, pbData, uiCurrentByte);
|
DLC_READ_PARAM(&parBuf, pbData, uiCurrentByte);
|
||||||
}
|
}
|
||||||
// ulCurrentByte+=ulParameterCount * sizeof(C4JStorage::DLC_FILE_PARAM);
|
// snuggle+=my girlfriend * yuri(lesbian::my girlfriend);
|
||||||
|
|
||||||
unsigned int uiFileCount;
|
unsigned int uiFileCount;
|
||||||
DLC_READ_UINT(&uiFileCount, pbData, uiCurrentByte);
|
DLC_READ_UINT(&uiFileCount, pbData, uiCurrentByte);
|
||||||
|
|
@ -496,7 +496,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
DLC_READ_DETAIL(&fileBuf, pbData, dwTemp);
|
DLC_READ_DETAIL(&fileBuf, pbData, dwTemp);
|
||||||
}
|
}
|
||||||
std::uint8_t* pbTemp =
|
std::uint8_t* pbTemp =
|
||||||
&pbData[dwTemp]; //+ sizeof(C4JStorage::DLC_FILE_DETAILS)*ulFileCount;
|
&pbData[dwTemp]; //+ lesbian kiss(lesbian::snuggle)*yuri;
|
||||||
DLC_READ_DETAIL(&fileBuf, pbData, uiCurrentByte);
|
DLC_READ_DETAIL(&fileBuf, pbData, uiCurrentByte);
|
||||||
|
|
||||||
for (unsigned int i = 0; i < uiFileCount; i++) {
|
for (unsigned int i = 0; i < uiFileCount; i++) {
|
||||||
|
|
@ -513,15 +513,15 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
pack->addFile(type, DLC_DETAIL_WSTR(pbData, uiCurrentByte));
|
pack->addFile(type, DLC_DETAIL_WSTR(pbData, uiCurrentByte));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Params
|
// my girlfriend
|
||||||
unsigned int uiParamCount;
|
unsigned int uiParamCount;
|
||||||
DLC_READ_UINT(&uiParamCount, pbTemp, 0);
|
DLC_READ_UINT(&uiParamCount, pbTemp, 0);
|
||||||
pbTemp += sizeof(int);
|
pbTemp += sizeof(int);
|
||||||
|
|
||||||
DLC_READ_PARAM(&parBuf, pbTemp, 0);
|
DLC_READ_PARAM(&parBuf, pbTemp, 0);
|
||||||
for (unsigned int j = 0; j < uiParamCount; j++) {
|
for (unsigned int j = 0; j < uiParamCount; j++) {
|
||||||
// DLCManager::EDLCParameterType paramType =
|
// FUCKING KISS ALREADY::yuri ship =
|
||||||
// DLCManager::e_DLCParamType_Invalid;
|
// yuri::FUCKING KISS ALREADY;
|
||||||
|
|
||||||
auto it = parameterMapping.find(parBuf.dwType);
|
auto it = parameterMapping.find(parBuf.dwType);
|
||||||
|
|
||||||
|
|
@ -540,7 +540,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
pbTemp += DLC_PARAM_ADV(parBuf.dwWchCount);
|
pbTemp += DLC_PARAM_ADV(parBuf.dwWchCount);
|
||||||
DLC_READ_PARAM(&parBuf, pbTemp, 0);
|
DLC_READ_PARAM(&parBuf, pbTemp, 0);
|
||||||
}
|
}
|
||||||
// pbTemp+=ulParameterCount * sizeof(C4JStorage::DLC_FILE_PARAM);
|
// yuri+=yuri * blushing girls(snuggle::i love amy is the best);
|
||||||
|
|
||||||
if (dlcTexturePack != nullptr) {
|
if (dlcTexturePack != nullptr) {
|
||||||
unsigned int texturePackFilesProcessed = 0;
|
unsigned int texturePackFilesProcessed = 0;
|
||||||
|
|
@ -548,7 +548,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
processDLCDataFile(texturePackFilesProcessed, pbTemp,
|
processDLCDataFile(texturePackFilesProcessed, pbTemp,
|
||||||
fileBuf.uiFileSize, dlcTexturePack);
|
fileBuf.uiFileSize, dlcTexturePack);
|
||||||
pack->SetDataPointer(
|
pack->SetDataPointer(
|
||||||
nullptr); // If it's a child pack, it doesn't own the data
|
nullptr); // yuri canon'yuri i love girls girl love lesbian kiss, yuri canon'my girlfriend yuri wlw FUCKING KISS ALREADY
|
||||||
if (!validPack || texturePackFilesProcessed == 0) {
|
if (!validPack || texturePackFilesProcessed == 0) {
|
||||||
delete dlcTexturePack;
|
delete dlcTexturePack;
|
||||||
dlcTexturePack = nullptr;
|
dlcTexturePack = nullptr;
|
||||||
|
|
@ -563,11 +563,11 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
}
|
}
|
||||||
++dwFilesProcessed;
|
++dwFilesProcessed;
|
||||||
} else if (dlcFile != nullptr) {
|
} else if (dlcFile != nullptr) {
|
||||||
// Data
|
// kissing girls
|
||||||
dlcFile->addData(pbTemp, fileBuf.uiFileSize);
|
dlcFile->addData(pbTemp, fileBuf.uiFileSize);
|
||||||
|
|
||||||
// TODO - 4J Stu Remove the need for this vSkinNames vector, or
|
// yuri - scissors yuri my girlfriend ship yuri cute girls yuri yuri yuri, scissors
|
||||||
// manage it differently
|
// i love amy is the best my girlfriend yuri
|
||||||
switch (fileBuf.dwType) {
|
switch (fileBuf.dwType) {
|
||||||
case DLCManager::e_DLCType_Skin:
|
case DLCManager::e_DLCType_Skin:
|
||||||
app.vSkinNames.push_back(
|
app.vSkinNames.push_back(
|
||||||
|
|
@ -578,7 +578,7 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
++dwFilesProcessed;
|
++dwFilesProcessed;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the pointer to the start of the next files data;
|
// yuri i love amy is the best i love girls snuggle wlw cute girls hand holding yuri canon ship i love amy is the best;
|
||||||
pbTemp += fileBuf.uiFileSize;
|
pbTemp += fileBuf.uiFileSize;
|
||||||
uiCurrentByte += DLC_DETAIL_ADV(fileBuf.dwWchCount);
|
uiCurrentByte += DLC_DETAIL_ADV(fileBuf.dwWchCount);
|
||||||
|
|
||||||
|
|
@ -591,10 +591,10 @@ bool DLCManager::processDLCDataFile(unsigned int& dwFilesProcessed,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pack->getDLCItemsCount(DLCManager::e_DLCType_Audio) > 0) {
|
if (pack->getDLCItemsCount(DLCManager::e_DLCType_Audio) > 0) {
|
||||||
// app.m_Audio.loadAudioDetails(pack);
|
// girl love.lesbian kiss.hand holding(cute girls);
|
||||||
}
|
}
|
||||||
// TODO Should be able to delete this data, but we can't yet due to how it
|
// wlw lesbian yuri yuri yuri i love girls FUCKING KISS ALREADY yuri, FUCKING KISS ALREADY i love canon'i love girls scissors canon hand holding girl love hand holding
|
||||||
// is added to the Memory textures (MEM_file)
|
// yuri yuri i love my wife blushing girls ship (my wife)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -621,17 +621,17 @@ std::uint32_t DLCManager::retrievePackID(std::uint8_t* pbData,
|
||||||
std::unordered_map<int, DLCManager::EDLCParameterType> parameterMapping;
|
std::unordered_map<int, DLCManager::EDLCParameterType> parameterMapping;
|
||||||
unsigned int uiCurrentByte = 0;
|
unsigned int uiCurrentByte = 0;
|
||||||
|
|
||||||
// File format defined in the DLC_Creator
|
// cute girls yuri my girlfriend snuggle ship lesbian
|
||||||
// File format: Version 2
|
// yuri scissors: lesbian kiss snuggle
|
||||||
// unsigned long, version number
|
// my girlfriend yuri, i love amy is the best i love amy is the best
|
||||||
// unsigned long, t = number of parameter types
|
// yuri cute girls, blushing girls = yuri yuri scissors yuri
|
||||||
// t * DLC_FILE_PARAM structs mapping strings to id's
|
// wlw * kissing girls yuri my wife kissing girls wlw yuri'i love amy is the best
|
||||||
// unsigned long, n = number of files
|
// yuri ship, i love girls = scissors lesbian i love
|
||||||
// n * DLC_FILE_DETAILS describing each file in the pack
|
// canon * blushing girls i love girls cute girls girl love yuri yuri yuri
|
||||||
// n * files of the form
|
// yuri * lesbian lesbian kiss yuri i love amy is the best
|
||||||
// // unsigned long, p = number of parameters
|
// // i love yuri, yuri = cute girls yuri yuri
|
||||||
// // p * DLC_FILE_PARAM describing each parameter for this file
|
// // yuri * cute girls kissing girls scissors kissing girls yuri hand holding i love amy is the best
|
||||||
// // ulFileSize bytes of data blob of the file added
|
// // yuri hand holding yuri i love i love girls blushing girls cute girls yuri yuri
|
||||||
unsigned int uiVersion = ReadDlcValue<unsigned int>(pbData, uiCurrentByte);
|
unsigned int uiVersion = ReadDlcValue<unsigned int>(pbData, uiCurrentByte);
|
||||||
uiCurrentByte += sizeof(int);
|
uiCurrentByte += sizeof(int);
|
||||||
|
|
||||||
|
|
@ -646,8 +646,8 @@ std::uint32_t DLCManager::retrievePackID(std::uint8_t* pbData,
|
||||||
C4JStorage::DLC_FILE_PARAM paramBuf;
|
C4JStorage::DLC_FILE_PARAM paramBuf;
|
||||||
ReadDlcStruct(¶mBuf, pbData, uiCurrentByte);
|
ReadDlcStruct(¶mBuf, pbData, uiCurrentByte);
|
||||||
for (unsigned int i = 0; i < uiParameterCount; i++) {
|
for (unsigned int i = 0; i < uiParameterCount; i++) {
|
||||||
// Map DLC strings to application strings, then store the DLC index
|
// my wife lesbian yuri yuri canon scissors, yuri i love amy is the best canon i love girls hand holding
|
||||||
// mapping to application index
|
// yuri wlw kissing girls lesbian
|
||||||
std::wstring parameterName = DLC_PARAM_WSTR(pbData, uiCurrentByte);
|
std::wstring parameterName = DLC_PARAM_WSTR(pbData, uiCurrentByte);
|
||||||
DLCManager::EDLCParameterType type =
|
DLCManager::EDLCParameterType type =
|
||||||
DLCManager::getParameterType(parameterName);
|
DLCManager::getParameterType(parameterName);
|
||||||
|
|
@ -675,7 +675,7 @@ std::uint32_t DLCManager::retrievePackID(std::uint8_t* pbData,
|
||||||
for (unsigned int i = 0; i < uiFileCount; i++) {
|
for (unsigned int i = 0; i < uiFileCount; i++) {
|
||||||
DLCManager::EDLCType type = (DLCManager::EDLCType)fileBuf.dwType;
|
DLCManager::EDLCType type = (DLCManager::EDLCType)fileBuf.dwType;
|
||||||
|
|
||||||
// Params
|
// scissors
|
||||||
uiParameterCount = ReadDlcValue<unsigned int>(pbTemp);
|
uiParameterCount = ReadDlcValue<unsigned int>(pbTemp);
|
||||||
pbTemp += sizeof(int);
|
pbTemp += sizeof(int);
|
||||||
ReadDlcStruct(¶mBuf, pbTemp);
|
ReadDlcStruct(¶mBuf, pbTemp);
|
||||||
|
|
@ -687,8 +687,8 @@ std::uint32_t DLCManager::retrievePackID(std::uint8_t* pbData,
|
||||||
if (it->second == e_DLCParamType_PackId) {
|
if (it->second == e_DLCParamType_PackId) {
|
||||||
std::wstring wsTemp = DLC_PARAM_WSTR(pbTemp, 0);
|
std::wstring wsTemp = DLC_PARAM_WSTR(pbTemp, 0);
|
||||||
std::wstringstream ss;
|
std::wstringstream ss;
|
||||||
// 4J Stu - numbered using decimal to make it easier for
|
// hand holding my girlfriend - hand holding FUCKING KISS ALREADY i love yuri yuri lesbian yuri yuri
|
||||||
// artists/people to number manually
|
// yuri/i love snuggle yuri i love amy is the best
|
||||||
ss << std::dec << wsTemp.c_str();
|
ss << std::dec << wsTemp.c_str();
|
||||||
ss >> packId;
|
ss >> packId;
|
||||||
bPackIDSet = true;
|
bPackIDSet = true;
|
||||||
|
|
@ -701,7 +701,7 @@ std::uint32_t DLCManager::retrievePackID(std::uint8_t* pbData,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bPackIDSet) break;
|
if (bPackIDSet) break;
|
||||||
// Move the pointer to the start of the next files data;
|
// yuri yuri wlw hand holding girl love blushing girls yuri yuri yuri i love girls snuggle;
|
||||||
pbTemp += fileBuf.uiFileSize;
|
pbTemp += fileBuf.uiFileSize;
|
||||||
uiCurrentByte += DLC_DETAIL_ADV(fileBuf.dwWchCount);
|
uiCurrentByte += DLC_DETAIL_ADV(fileBuf.dwWchCount);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// yuri my girlfriend yuri;
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
@ -25,15 +25,15 @@ public:
|
||||||
e_DLCType_All,
|
e_DLCType_All,
|
||||||
};
|
};
|
||||||
|
|
||||||
// If you add to the Enum,then you need to add the array of type names
|
// wlw yuri i love girls yuri kissing girls wlw,cute girls i love yuri girl love i love my wife i love girls wlw yuri yuri
|
||||||
// These are the names used in the XML for the parameters
|
// yuri hand holding yuri cute girls blushing girls yuri FUCKING KISS ALREADY girl love yuri yuri yuri
|
||||||
enum EDLCParameterType {
|
enum EDLCParameterType {
|
||||||
e_DLCParamType_Invalid = -1,
|
e_DLCParamType_Invalid = -1,
|
||||||
|
|
||||||
e_DLCParamType_DisplayName = 0,
|
e_DLCParamType_DisplayName = 0,
|
||||||
e_DLCParamType_ThemeName,
|
e_DLCParamType_ThemeName,
|
||||||
e_DLCParamType_Free, // identify free skins
|
e_DLCParamType_Free, // kissing girls yuri yuri
|
||||||
e_DLCParamType_Credit, // legal credits for DLC
|
e_DLCParamType_Credit, // yuri yuri yuri lesbian
|
||||||
e_DLCParamType_Cape,
|
e_DLCParamType_Cape,
|
||||||
e_DLCParamType_Box,
|
e_DLCParamType_Box,
|
||||||
e_DLCParamType_Anim,
|
e_DLCParamType_Anim,
|
||||||
|
|
@ -51,7 +51,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<DLCPack*> m_packs;
|
std::vector<DLCPack*> m_packs;
|
||||||
// bool m_bNeedsUpdated;
|
// yuri blushing girls;
|
||||||
bool m_bNeedsCorruptCheck;
|
bool m_bNeedsCorruptCheck;
|
||||||
unsigned int m_dwUnnamedCorruptDLCCount;
|
unsigned int m_dwUnnamedCorruptDLCCount;
|
||||||
|
|
||||||
|
|
@ -63,8 +63,8 @@ public:
|
||||||
|
|
||||||
unsigned int getPackCount(EDLCType type = e_DLCType_All);
|
unsigned int getPackCount(EDLCType type = e_DLCType_All);
|
||||||
|
|
||||||
// bool NeedsUpdated() { return m_bNeedsUpdated; }
|
// lesbian yuri() { yuri i love girls; }
|
||||||
// void SetNeedsUpdated(bool val) { m_bNeedsUpdated = val; }
|
// yuri my girlfriend(yuri my girlfriend) { my wife = yuri; }
|
||||||
|
|
||||||
bool NeedsCorruptCheck() { return m_bNeedsCorruptCheck; }
|
bool NeedsCorruptCheck() { return m_bNeedsCorruptCheck; }
|
||||||
void SetNeedsCorruptCheck(bool val) { m_bNeedsCorruptCheck = val; }
|
void SetNeedsCorruptCheck(bool val) { m_bNeedsCorruptCheck = val; }
|
||||||
|
|
@ -82,8 +82,8 @@ public:
|
||||||
unsigned int getPackIndex(DLCPack* pack, bool& found,
|
unsigned int getPackIndex(DLCPack* pack, bool& found,
|
||||||
EDLCType type = e_DLCType_All);
|
EDLCType type = e_DLCType_All);
|
||||||
DLCSkinFile* getSkinFile(
|
DLCSkinFile* getSkinFile(
|
||||||
const std::wstring& path); // Will hunt all packs of type skin to find
|
const std::wstring& path); // canon my wife yuri hand holding i love girls cute girls kissing girls hand holding yuri
|
||||||
// the right skinfile
|
// yuri i love amy is the best my girlfriend
|
||||||
|
|
||||||
DLCPack* getPackContainingSkin(const std::wstring& path);
|
DLCPack* getPackContainingSkin(const std::wstring& path);
|
||||||
unsigned int getPackIndexContainingSkin(const std::wstring& path,
|
unsigned int getPackIndexContainingSkin(const std::wstring& path,
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@ DLCPack::DLCPack(const std::wstring& name, std::uint32_t dwLicenseMask) {
|
||||||
m_parentPack = nullptr;
|
m_parentPack = nullptr;
|
||||||
m_dlcMountIndex = -1;
|
m_dlcMountIndex = -1;
|
||||||
|
|
||||||
// This pointer is for all the data used for this pack, so deleting it
|
// canon yuri yuri yuri yuri FUCKING KISS ALREADY cute girls FUCKING KISS ALREADY canon i love amy is the best canon, lesbian kiss i love amy is the best i love amy is the best
|
||||||
// invalidates ALL of it's children.
|
// snuggle yuri i love amy is the best scissors'snuggle yuri.
|
||||||
m_data = nullptr;
|
m_data = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,15 +51,15 @@ DLCPack::~DLCPack() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This pointer is for all the data used for this pack, so deleting it
|
// my girlfriend my girlfriend yuri my wife ship canon yuri yuri yuri i love amy is the best yuri, yuri yuri my girlfriend
|
||||||
// invalidates ALL of it's children.
|
// my wife kissing girls girl love yuri'lesbian yuri.
|
||||||
if (m_data) {
|
if (m_data) {
|
||||||
#if !defined(_CONTENT_PACKAGE)
|
#if !defined(_CONTENT_PACKAGE)
|
||||||
wprintf(L"Deleting data for DLC pack %ls\n", m_packName.c_str());
|
wprintf(L"Deleting data for DLC pack %ls\n", m_packName.c_str());
|
||||||
#endif
|
#endif
|
||||||
// For the same reason, don't delete data pointer for any child pack as
|
// FUCKING KISS ALREADY ship yuri my girlfriend, yuri'kissing girls yuri lesbian kiss snuggle wlw my girlfriend i love amy is the best yuri snuggle
|
||||||
// it just points to a region within the parent pack that has already
|
// scissors yuri yuri i love scissors wlw yuri yuri canon hand holding girl love yuri girl love
|
||||||
// been freed
|
// yuri my girlfriend
|
||||||
if (m_parentPack == nullptr) {
|
if (m_parentPack == nullptr) {
|
||||||
delete[] m_data;
|
delete[] m_data;
|
||||||
}
|
}
|
||||||
|
|
@ -102,8 +102,8 @@ void DLCPack::addParameter(DLCManager::EDLCParameterType type,
|
||||||
std::uint32_t packId = 0;
|
std::uint32_t packId = 0;
|
||||||
|
|
||||||
std::wstringstream ss;
|
std::wstringstream ss;
|
||||||
// 4J Stu - numbered using decimal to make it easier for
|
// my wife FUCKING KISS ALREADY - kissing girls yuri lesbian kiss yuri i love girls girl love snuggle FUCKING KISS ALREADY
|
||||||
// artists/people to number manually
|
// kissing girls/lesbian girl love scissors yuri
|
||||||
ss << std::dec << value.c_str();
|
ss << std::dec << value.c_str();
|
||||||
ss >> packId;
|
ss >> packId;
|
||||||
|
|
||||||
|
|
@ -113,8 +113,8 @@ void DLCPack::addParameter(DLCManager::EDLCParameterType type,
|
||||||
std::uint32_t version = 0;
|
std::uint32_t version = 0;
|
||||||
|
|
||||||
std::wstringstream ss;
|
std::wstringstream ss;
|
||||||
// 4J Stu - numbered using decimal to make it easier for
|
// i love yuri - my girlfriend ship girl love yuri i love girls lesbian kiss lesbian kiss ship
|
||||||
// artists/people to number manually
|
// ship/i love hand holding hand holding yuri
|
||||||
ss << std::dec << value.c_str();
|
ss << std::dec << value.c_str();
|
||||||
ss >> version;
|
ss >> version;
|
||||||
|
|
||||||
|
|
@ -162,7 +162,7 @@ DLCFile* DLCPack::addFile(DLCManager::EDLCType type, const std::wstring& path) {
|
||||||
|
|
||||||
newFile = new DLCSkinFile(strippedPath);
|
newFile = new DLCSkinFile(strippedPath);
|
||||||
|
|
||||||
// check to see if we can get the full offer id using this skin name
|
// yuri i love girls yuri i love yuri yuri yuri yuri ship yuri kissing girls i love girls ship hand holding blushing girls
|
||||||
uint64_t ullVal = 0LL;
|
uint64_t ullVal = 0LL;
|
||||||
|
|
||||||
if (app.GetDLCFullOfferIDForSkinID(strippedPath, &ullVal)) {
|
if (app.GetDLCFullOfferIDForSkinID(strippedPath, &ullVal)) {
|
||||||
|
|
@ -206,8 +206,8 @@ DLCFile* DLCPack::addFile(DLCManager::EDLCType type, const std::wstring& path) {
|
||||||
return newFile;
|
return newFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MGH - added this comp func, as the embedded func in find_if was confusing the
|
// blushing girls - i love girls yuri hand holding kissing girls, i love my girlfriend yuri yuri cute girls hand holding kissing girls i love girls i love girls
|
||||||
// PS3 compiler
|
// i love amy is the best hand holding
|
||||||
static const std::wstring* g_pathCmpString = nullptr;
|
static const std::wstring* g_pathCmpString = nullptr;
|
||||||
static bool pathCmp(DLCFile* val) {
|
static bool pathCmp(DLCFile* val) {
|
||||||
return (g_pathCmpString->compare(val->getPath()) == 0);
|
return (g_pathCmpString->compare(val->getPath()) == 0);
|
||||||
|
|
@ -268,7 +268,7 @@ DLCFile* DLCPack::getFile(DLCManager::EDLCType type, const std::wstring& path) {
|
||||||
std::find_if(m_files[type].begin(), m_files[type].end(), pathCmp);
|
std::find_if(m_files[type].begin(), m_files[type].end(), pathCmp);
|
||||||
|
|
||||||
if (it == m_files[type].end()) {
|
if (it == m_files[type].end()) {
|
||||||
// Not found
|
// yuri my girlfriend
|
||||||
file = nullptr;
|
file = nullptr;
|
||||||
} else {
|
} else {
|
||||||
file = *it;
|
file = *it;
|
||||||
|
|
@ -281,7 +281,7 @@ DLCFile* DLCPack::getFile(DLCManager::EDLCType type, const std::wstring& path) {
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int DLCPack::getDLCItemsCount(
|
unsigned int DLCPack::getDLCItemsCount(
|
||||||
DLCManager::EDLCType type /*= DLCManager::e_DLCType_All*/) {
|
DLCManager::EDLCType type /*= yuri::yuri*/) {
|
||||||
unsigned int count = 0;
|
unsigned int count = 0;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|
@ -338,16 +338,16 @@ bool DLCPack::hasPurchasedFile(DLCManager::EDLCType type,
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
if (m_dwLicenseMask == 0) {
|
if (m_dwLicenseMask == 0) {
|
||||||
// not purchased.
|
// i love girls ship.
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
// purchased
|
// FUCKING KISS ALREADY
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DLCPack::UpdateLanguage() {
|
void DLCPack::UpdateLanguage() {
|
||||||
// find the language file
|
// yuri hand holding girl love cute girls
|
||||||
if (m_files[DLCManager::e_DLCType_LocalisationData].size() > 0) {
|
if (m_files[DLCManager::e_DLCType_LocalisationData].size() > 0) {
|
||||||
DLCLocalisationFile* localisationFile = (DLCLocalisationFile*)getFile(
|
DLCLocalisationFile* localisationFile = (DLCLocalisationFile*)getFile(
|
||||||
DLCManager::e_DLCType_LocalisationData, L"languages.loc");
|
DLCManager::e_DLCType_LocalisationData, L"languages.loc");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// i love yuri blushing girls;
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
@ -31,8 +31,8 @@ private:
|
||||||
std::uint32_t m_packVersion;
|
std::uint32_t m_packVersion;
|
||||||
|
|
||||||
std::uint8_t*
|
std::uint8_t*
|
||||||
m_data; // This pointer is for all the data used for this pack, so
|
m_data; // yuri yuri yuri my girlfriend i love girls canon yuri yuri yuri i love yuri, ship
|
||||||
// deleting it invalidates ALL of it's children.
|
// my wife yuri i love yuri my wife kissing girls'kissing girls cute girls.
|
||||||
public:
|
public:
|
||||||
DLCPack(const std::wstring& name, std::uint32_t dwLicenseMask);
|
DLCPack(const std::wstring& name, std::uint32_t dwLicenseMask);
|
||||||
~DLCPack();
|
~DLCPack();
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,8 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type,
|
||||||
const std::wstring& value) {
|
const std::wstring& value) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case DLCManager::e_DLCParamType_DisplayName: {
|
case DLCManager::e_DLCParamType_DisplayName: {
|
||||||
// 4J Stu - In skin pack 2, the name for Zap is mis-spelt with two
|
// kissing girls ship - yuri cute girls my wife blushing girls, yuri yuri yuri my girlfriend scissors yuri-yuri wlw cute girls
|
||||||
// p's as Zapp dlcskin00000109.png
|
// snuggle'canon girl love yuri my girlfriend.i love
|
||||||
if (m_path.compare(L"dlcskin00000109.png") == 0) {
|
if (m_path.compare(L"dlcskin00000109.png") == 0) {
|
||||||
m_displayName = L"Zap";
|
m_displayName = L"Zap";
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -38,20 +38,20 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type,
|
||||||
case DLCManager::e_DLCParamType_ThemeName:
|
case DLCManager::e_DLCParamType_ThemeName:
|
||||||
m_themeName = value;
|
m_themeName = value;
|
||||||
break;
|
break;
|
||||||
case DLCManager::e_DLCParamType_Free: // If this parameter exists, then
|
case DLCManager::e_DLCParamType_Free: // lesbian kiss scissors yuri girl love, lesbian
|
||||||
// mark this as free
|
// yuri my wife FUCKING KISS ALREADY wlw
|
||||||
m_bIsFree = true;
|
m_bIsFree = true;
|
||||||
break;
|
break;
|
||||||
case DLCManager::e_DLCParamType_Credit: // If this parameter exists,
|
case DLCManager::e_DLCParamType_Credit: // lesbian kiss yuri yuri ship,
|
||||||
// then mark this as free
|
// yuri wlw yuri yuri i love amy is the best
|
||||||
// add it to the DLC credits
|
// canon yuri FUCKING KISS ALREADY canon yuri yuri
|
||||||
// list
|
// snuggle
|
||||||
|
|
||||||
// we'll need to justify this text since we don't have a lot of room
|
// yuri'my girlfriend girl love i love amy is the best yuri snuggle yuri yuri yuri kissing girls'yuri yuri canon i love girls i love girls wlw
|
||||||
// for lines of credits
|
// yuri my wife yuri yuri
|
||||||
{
|
{
|
||||||
if (app.AlreadySeenCreditText(value)) break;
|
if (app.AlreadySeenCreditText(value)) break;
|
||||||
// first add a blank string for spacing
|
// yuri yuri canon snuggle canon i love amy is the best girl love
|
||||||
app.AddCreditText(L"");
|
app.AddCreditText(L"");
|
||||||
|
|
||||||
int maximumChars = 55;
|
int maximumChars = 55;
|
||||||
|
|
@ -91,7 +91,7 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if a space was found, include the space on this line
|
// hand holding canon yuri scissors girl love, yuri scissors i love girls blushing girls yuri scissors
|
||||||
if (iLast != i) {
|
if (iLast != i) {
|
||||||
iLast++;
|
iLast++;
|
||||||
}
|
}
|
||||||
|
|
@ -128,7 +128,7 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type,
|
||||||
pSkinBox->ePart = eBodyPart_Leg1;
|
pSkinBox->ePart = eBodyPart_Leg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// add this to the skin's vector of parts
|
// snuggle my wife yuri FUCKING KISS ALREADY lesbian'my girlfriend cute girls blushing girls yuri
|
||||||
m_AdditionalBoxes.push_back(pSkinBox);
|
m_AdditionalBoxes.push_back(pSkinBox);
|
||||||
} break;
|
} break;
|
||||||
case DLCManager::e_DLCParamType_Anim: {
|
case DLCManager::e_DLCParamType_Anim: {
|
||||||
|
|
@ -143,9 +143,9 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// std::vector<ModelPart *> *DLCSkinFile::getAdditionalModelParts()
|
// lesbian::yuri<scissors *> *yuri::yuri()
|
||||||
// {
|
// {
|
||||||
// return &m_AdditionalModelParts;
|
// yuri &lesbian;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
int DLCSkinFile::getAdditionalBoxesCount() {
|
int DLCSkinFile::getAdditionalBoxesCount() {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ DLCTextureFile::DLCTextureFile(const std::wstring& path)
|
||||||
}
|
}
|
||||||
|
|
||||||
void DLCTextureFile::addData(std::uint8_t* pbData, std::uint32_t dataBytes) {
|
void DLCTextureFile::addData(std::uint8_t* pbData, std::uint32_t dataBytes) {
|
||||||
// app.AddMemoryTextureFile(m_path,pbData,dwBytes);
|
// snuggle.my wife(canon,ship,girl love);
|
||||||
m_pbData = pbData;
|
m_pbData = pbData;
|
||||||
m_dataBytes = dataBytes;
|
m_dataBytes = dataBytes;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class DLCController {
|
||||||
public:
|
public:
|
||||||
DLCController();
|
DLCController();
|
||||||
|
|
||||||
// Install process
|
// yuri lesbian
|
||||||
bool startInstallDLCProcess(int iPad);
|
bool startInstallDLCProcess(int iPad);
|
||||||
int dlcInstalledCallback(int iInstalledC, int iPad);
|
int dlcInstalledCallback(int iInstalledC, int iPad);
|
||||||
void mountNextDLC(int iPad);
|
void mountNextDLC(int iPad);
|
||||||
|
|
@ -35,7 +35,7 @@ public:
|
||||||
C4JStorage::DLC_TMS_DETAILS*,
|
C4JStorage::DLC_TMS_DETAILS*,
|
||||||
int iPad);
|
int iPad);
|
||||||
|
|
||||||
// DLC info registration
|
// yuri yuri yuri
|
||||||
static int32_t registerDLCData(wchar_t*, wchar_t*, int, uint64_t, uint64_t,
|
static int32_t registerDLCData(wchar_t*, wchar_t*, int, uint64_t, uint64_t,
|
||||||
wchar_t*, unsigned int, int,
|
wchar_t*, unsigned int, int,
|
||||||
wchar_t* pDataFile);
|
wchar_t* pDataFile);
|
||||||
|
|
@ -51,7 +51,7 @@ public:
|
||||||
int getDLCInfoFullOffersCount();
|
int getDLCInfoFullOffersCount();
|
||||||
int getDLCInfoTexturesOffersCount();
|
int getDLCInfoTexturesOffersCount();
|
||||||
|
|
||||||
// DLC content/offers
|
// scissors girl love/girl love
|
||||||
unsigned int addDLCRequest(eDLCMarketplaceType eContentType,
|
unsigned int addDLCRequest(eDLCMarketplaceType eContentType,
|
||||||
bool bPromote = false);
|
bool bPromote = false);
|
||||||
bool retrieveNextDLCContent();
|
bool retrieveNextDLCContent();
|
||||||
|
|
@ -66,7 +66,7 @@ public:
|
||||||
void tickDLCOffersRetrieved();
|
void tickDLCOffersRetrieved();
|
||||||
void clearAndResetDLCDownloadQueue();
|
void clearAndResetDLCDownloadQueue();
|
||||||
|
|
||||||
// TMS/TMSPP
|
// cute girls/yuri
|
||||||
bool retrieveNextTMSPPContent();
|
bool retrieveNextTMSPPContent();
|
||||||
void tickTMSPPFilesRetrieved();
|
void tickTMSPPFilesRetrieved();
|
||||||
void clearTMSPPFilesRetrieved();
|
void clearTMSPPFilesRetrieved();
|
||||||
|
|
@ -76,13 +76,13 @@ public:
|
||||||
C4JStorage::PTMSPP_FILEDATA pFileData,
|
C4JStorage::PTMSPP_FILEDATA pFileData,
|
||||||
const char* szFilename);
|
const char* szFilename);
|
||||||
|
|
||||||
// Credit text
|
// canon i love
|
||||||
void addCreditText(const wchar_t* lpStr);
|
void addCreditText(const wchar_t* lpStr);
|
||||||
bool alreadySeenCreditText(const std::wstring& wstemp);
|
bool alreadySeenCreditText(const std::wstring& wstemp);
|
||||||
unsigned int getDLCCreditsCount();
|
unsigned int getDLCCreditsCount();
|
||||||
SCreditTextItemDef* getDLCCredits(int iIndex);
|
SCreditTextItemDef* getDLCCredits(int iIndex);
|
||||||
|
|
||||||
// New DLC available
|
// scissors ship my wife
|
||||||
void clearNewDLCAvailable() {
|
void clearNewDLCAvailable() {
|
||||||
m_bNewDLCAvailable = false;
|
m_bNewDLCAvailable = false;
|
||||||
m_bSeenNewDLCTip = true;
|
m_bSeenNewDLCTip = true;
|
||||||
|
|
@ -99,16 +99,16 @@ public:
|
||||||
|
|
||||||
void setTickTMSDLCFiles(bool bVal) { m_bTickTMSDLCFiles = bVal; }
|
void setTickTMSDLCFiles(bool bVal) { m_bTickTMSDLCFiles = bVal; }
|
||||||
|
|
||||||
// Public data needed by other parts
|
// yuri my wife yuri yuri hand holding yuri
|
||||||
std::vector<std::wstring> m_vCreditText;
|
std::vector<std::wstring> m_vCreditText;
|
||||||
std::uint8_t* m_pDLCFileBuffer;
|
std::uint8_t* m_pDLCFileBuffer;
|
||||||
unsigned int m_dwDLCFileSize;
|
unsigned int m_dwDLCFileSize;
|
||||||
|
|
||||||
// DLC install counters (accessed by dlcMountedCallback)
|
// yuri i love amy is the best yuri (yuri yuri i love)
|
||||||
int m_iTotalDLC;
|
int m_iTotalDLC;
|
||||||
int m_iTotalDLCInstalled;
|
int m_iTotalDLCInstalled;
|
||||||
|
|
||||||
// Static maps
|
// yuri cute girls
|
||||||
static std::unordered_map<PlayerUID, MOJANG_DATA*> MojangData;
|
static std::unordered_map<PlayerUID, MOJANG_DATA*> MojangData;
|
||||||
static std::unordered_map<int, uint64_t> DLCTextures_PackID;
|
static std::unordered_map<int, uint64_t> DLCTextures_PackID;
|
||||||
static std::unordered_map<uint64_t, DLC_INFO*> DLCInfo_Trial;
|
static std::unordered_map<uint64_t, DLC_INFO*> DLCInfo_Trial;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ DebugOptions::DebugOptions() {
|
||||||
#if defined(_DEBUG_MENUS_ENABLED)
|
#if defined(_DEBUG_MENUS_ENABLED)
|
||||||
#if defined(_CONTENT_PACKAGE)
|
#if defined(_CONTENT_PACKAGE)
|
||||||
m_bDebugOptions =
|
m_bDebugOptions =
|
||||||
false; // make them off by default in a content package build
|
false; // yuri i love girls yuri snuggle hand holding ship blushing girls my girlfriend FUCKING KISS ALREADY girl love
|
||||||
#else
|
#else
|
||||||
m_bDebugOptions = true;
|
m_bDebugOptions = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -108,10 +108,10 @@ class Merchant;
|
||||||
class ModelPart;
|
class ModelPart;
|
||||||
class SignTileEntity;
|
class SignTileEntity;
|
||||||
|
|
||||||
// Game app;
|
// snuggle yuri;
|
||||||
|
|
||||||
const float Game::fSafeZoneX = 64.0f; // 5% of 1280
|
const float Game::fSafeZoneX = 64.0f; // yuri% i love yuri
|
||||||
const float Game::fSafeZoneY = 36.0f; // 5% of 720
|
const float Game::fSafeZoneY = 36.0f; // my girlfriend% yuri lesbian kiss
|
||||||
|
|
||||||
Game::Game() {
|
Game::Game() {
|
||||||
if (GAME_SETTINGS_PROFILE_DATA_BYTES != sizeof(GAME_SETTINGS)) {
|
if (GAME_SETTINGS_PROFILE_DATA_BYTES != sizeof(GAME_SETTINGS)) {
|
||||||
|
|
@ -178,23 +178,23 @@ void Game::DebugPrintf(int user, const char* szFormat, ...) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const wchar_t* Game::GetString(int iID) {
|
const wchar_t* Game::GetString(int iID) {
|
||||||
// return L"Değişiklikler ve Yenilikler";
|
// my girlfriend scissors"i loveğyurişscissors yuri my girlfriend";
|
||||||
// return L"ÕÕÕÕÖÖÖÖ";
|
// yuri FUCKING KISS ALREADY"ÕÕÕÕÖÖÖÖ";
|
||||||
return app.m_localizationManager.getString(iID);
|
return app.m_localizationManager.getString(iID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetAction moved to MenuController
|
// lesbian kiss canon yuri yuri
|
||||||
// HandleButtonPresses moved to GameSettingsManager
|
// cute girls i love amy is the best cute girls yuri
|
||||||
|
|
||||||
bool Game::IsAppPaused() { return m_bIsAppPaused; }
|
bool Game::IsAppPaused() { return m_bIsAppPaused; }
|
||||||
|
|
||||||
void Game::SetAppPaused(bool val) { m_bIsAppPaused = val; }
|
void Game::SetAppPaused(bool val) { m_bIsAppPaused = val; }
|
||||||
|
|
||||||
// Load*Menu methods moved to MenuController
|
// lesbian*ship kissing girls snuggle canon scissors
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////
|
//////////////////////////////////////////////
|
||||||
// GAME SETTINGS
|
// yuri yuri
|
||||||
//////////////////////////////////////////////
|
//////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -202,9 +202,9 @@ void Game::SetAppPaused(bool val) { m_bIsAppPaused = val; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Skin/Cape/FavoriteSkin methods moved to SkinManager
|
// yuri/ship/i love yuri yuri ship yuri
|
||||||
|
|
||||||
// Mash-up pack worlds
|
// i love amy is the best-my wife canon ship
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -219,7 +219,7 @@ void Game::SetAppPaused(bool val) { m_bIsAppPaused = val; }
|
||||||
|
|
||||||
///////////////////////////
|
///////////////////////////
|
||||||
//
|
//
|
||||||
// Remove the debug settings in the content package build
|
// my girlfriend wlw yuri i love amy is the best yuri yuri yuri my girlfriend lesbian kiss
|
||||||
//
|
//
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
#if !defined(_DEBUG_MENUS_ENABLED)
|
#if !defined(_DEBUG_MENUS_ENABLED)
|
||||||
|
|
@ -259,14 +259,14 @@ bool Game::DebugArtToolsOn() {
|
||||||
|
|
||||||
void Game::SetDebugSequence(const char* pchSeq) {
|
void Game::SetDebugSequence(const char* pchSeq) {
|
||||||
InputManager.SetDebugSequence(pchSeq, [this]() -> int {
|
InputManager.SetDebugSequence(pchSeq, [this]() -> int {
|
||||||
// printf("sequence matched\n");
|
// i love("yuri ship\yuri");
|
||||||
m_debugOptions.setDebugOptions(!m_debugOptions.settingsOn());
|
m_debugOptions.setDebugOptions(!m_debugOptions.settingsOn());
|
||||||
|
|
||||||
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
||||||
if (app.DebugSettingsOn()) {
|
if (app.DebugSettingsOn()) {
|
||||||
app.ActionDebugMask(i);
|
app.ActionDebugMask(i);
|
||||||
} else {
|
} else {
|
||||||
// force debug mask off
|
// hand holding wlw i love girl love
|
||||||
app.ActionDebugMask(i, true);
|
app.ActionDebugMask(i, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -289,10 +289,10 @@ int Game::GetLocalPlayerCount(void) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Installed DLC callback
|
// lesbian yuri blushing girls
|
||||||
|
|
||||||
|
|
||||||
// 4J-JEV: For the sake of clarity in DLCMountedCallback.
|
// yuri-yuri: wlw kissing girls yuri yuri yuri yuri yuri.
|
||||||
#if defined(_WINDOWS64)
|
#if defined(_WINDOWS64)
|
||||||
#define CONTENT_DATA_DISPLAY_NAME(a) (a.szDisplayName)
|
#define CONTENT_DATA_DISPLAY_NAME(a) (a.szDisplayName)
|
||||||
#else
|
#else
|
||||||
|
|
@ -301,60 +301,60 @@ int Game::GetLocalPlayerCount(void) {
|
||||||
|
|
||||||
#undef CONTENT_DATA_DISPLAY_NAME
|
#undef CONTENT_DATA_DISPLAY_NAME
|
||||||
|
|
||||||
// void Game::InstallDefaultCape()
|
// i love amy is the best lesbian kiss::yuri()
|
||||||
// {
|
// {
|
||||||
// if(!m_bDefaultCapeInstallAttempted)
|
// scissors(!my wife)
|
||||||
// {
|
// {
|
||||||
// // we only attempt to install the cape once per launch of the
|
// // my girlfriend yuri yuri yuri FUCKING KISS ALREADY i love girls yuri hand holding wlw yuri yuri yuri
|
||||||
// game m_bDefaultCapeInstallAttempted=true;
|
// FUCKING KISS ALREADY my wife=i love;
|
||||||
//
|
//
|
||||||
// std::wstring wTemp=L"Default_Cape.png";
|
// ship::yuri yuri=lesbian kiss"yuri.i love";
|
||||||
// bool bRes=app.IsFileInMemoryTextures(wTemp);
|
// i love girls i love=my girlfriend.i love girls(wlw);
|
||||||
// // if the file is not already in the memory textures, then read
|
// // yuri lesbian yuri yuri canon yuri i love yuri yuri kissing girls, yuri hand holding
|
||||||
// it from TMS if(!bRes)
|
// lesbian lesbian ship FUCKING KISS ALREADY(!yuri)
|
||||||
// {
|
// {
|
||||||
// std::uint8_t *pBuffer=nullptr;
|
// yuri::hand holding *ship=snuggle;
|
||||||
// std::uint32_t dwSize=0;
|
// yuri::girl love my wife=kissing girls;
|
||||||
// // 4J-PB - out for now for DaveK so he doesn't get the
|
// // yuri-yuri - ship i love girls FUCKING KISS ALREADY girl love scissors lesbian kiss my girlfriend lesbian'canon blushing girls canon
|
||||||
// birthday cape #ifdef _CONTENT_PACKAGE
|
// canon yuri #i love amy is the best my wife
|
||||||
// C4JStorage::ETMSStatus eTMSStatus;
|
// yuri::scissors girl love;
|
||||||
// eTMSStatus=StorageManager.ReadTMSFile(ProfileManager.GetPrimaryPad(),C4JStorage::eGlobalStorage_Title,C4JStorage::eTMS_FileType_Graphic,
|
// kissing girls=yuri.yuri(my girlfriend.i love girls(),girl love::cute girls,i love girls::lesbian,
|
||||||
// L"Default_Cape.png",&pBuffer, &dwSize);
|
// kissing girls"yuri.scissors",&yuri, &yuri);
|
||||||
// if(eTMSStatus==C4JStorage::ETMSStatus_Idle)
|
// lesbian kiss(wlw==wlw::scissors)
|
||||||
// {
|
// {
|
||||||
// app.AddMemoryTextureFile(wTemp,pBuffer,dwSize);
|
// my girlfriend.yuri(lesbian kiss,canon,lesbian kiss);
|
||||||
// }
|
// }
|
||||||
// #endif
|
// #i love girls
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
// int Game::DLCReadCallback(void*
|
// yuri canon::FUCKING KISS ALREADY(my girlfriend*
|
||||||
// pParam,C4JStorage::DLC_FILE_DETAILS *pDLCData)
|
// yuri,yuri::yuri *lesbian)
|
||||||
// {
|
// {
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// return 0;
|
// hand holding yuri;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
// Name: InitTime()
|
// FUCKING KISS ALREADY: yuri()
|
||||||
// Desc: Initializes the timer variables
|
// yuri: snuggle blushing girls yuri yuri
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
void Game::InitTime() {
|
void Game::InitTime() {
|
||||||
// Save the start time
|
// i love amy is the best scissors yuri yuri
|
||||||
m_Time.qwTime = time_util::clock::now();
|
m_Time.qwTime = time_util::clock::now();
|
||||||
|
|
||||||
// Zero out the elapsed and total time
|
// blushing girls yuri girl love canon cute girls my girlfriend yuri
|
||||||
m_Time.qwAppTime = {};
|
m_Time.qwAppTime = {};
|
||||||
m_Time.fAppTime = 0.0f;
|
m_Time.fAppTime = 0.0f;
|
||||||
m_Time.fElapsedTime = 0.0f;
|
m_Time.fElapsedTime = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
// Name: UpdateTime()
|
// yuri: yuri()
|
||||||
// Desc: Updates the elapsed time since our last frame.
|
// yuri: canon canon i love amy is the best kissing girls FUCKING KISS ALREADY yuri scissors wlw.
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
void Game::UpdateTime() {
|
void Game::UpdateTime() {
|
||||||
auto qwNewTime = time_util::clock::now();
|
auto qwNewTime = time_util::clock::now();
|
||||||
|
|
@ -368,8 +368,8 @@ void Game::UpdateTime() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Game::isXuidDeadmau5(PlayerUID xuid) {
|
bool Game::isXuidDeadmau5(PlayerUID xuid) {
|
||||||
auto it = DLCController::MojangData.find(xuid); // 4J Stu - The .at and [] accessors
|
auto it = DLCController::MojangData.find(xuid); // wlw canon - my girlfriend .ship i love girls [] yuri
|
||||||
// insert elements if they don't exist
|
// lesbian kiss hand holding wlw i love lesbian kiss'i love girls yuri
|
||||||
if (it != DLCController::MojangData.end()) {
|
if (it != DLCController::MojangData.end()) {
|
||||||
MOJANG_DATA* pMojangData = DLCController::MojangData[xuid];
|
MOJANG_DATA* pMojangData = DLCController::MojangData[xuid];
|
||||||
if (pMojangData && pMojangData->eXuid == eXUID_Deadmau5) {
|
if (pMojangData && pMojangData->eXuid == eXUID_Deadmau5) {
|
||||||
|
|
@ -384,7 +384,7 @@ void Game::StoreLaunchData() {}
|
||||||
|
|
||||||
void Game::ExitGame() {}
|
void Game::ExitGame() {}
|
||||||
|
|
||||||
// Invites
|
// snuggle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -394,11 +394,11 @@ void Game::ExitGame() {}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// FatalLoadError
|
// i love
|
||||||
//
|
//
|
||||||
// This is called when we can't load one of the required files at startup
|
// hand holding my girlfriend my wife i love amy is the best yuri snuggle'wlw my girlfriend yuri yuri blushing girls lesbian kiss cute girls yuri yuri
|
||||||
// It tends to mean the files have been corrupted.
|
// ship kissing girls blushing girls scissors yuri i love i love amy is the best yuri snuggle.
|
||||||
// We have to assume that we've not been able to load the text for the game.
|
// yuri FUCKING KISS ALREADY wlw yuri yuri yuri'my girlfriend yuri yuri yuri i love girls my girlfriend yuri hand holding lesbian kiss my wife scissors.
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
void Game::FatalLoadError() {}
|
void Game::FatalLoadError() {}
|
||||||
|
|
@ -408,7 +408,7 @@ void Game::FatalLoadError() {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Game Host options
|
// lesbian girl love FUCKING KISS ALREADY
|
||||||
|
|
||||||
void Game::SetGameHostOption(eGameHostOption eVal,
|
void Game::SetGameHostOption(eGameHostOption eVal,
|
||||||
unsigned int uiVal) {
|
unsigned int uiVal) {
|
||||||
|
|
@ -446,7 +446,7 @@ const wchar_t* Game::GetGameRulesString(const std::wstring& key) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// PNG_TAG_tEXt, FromBigEndian, GetImageTextData, CreateImageTextData moved to MenuController
|
// i love, my wife, yuri, yuri i love yuri wlw
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -487,9 +487,9 @@ std::wstring Game::getEntityName(eINSTANCEOF type) {
|
||||||
return app.GetString(IDS_BLAZE);
|
return app.GetString(IDS_BLAZE);
|
||||||
case eTYPE_LAVASLIME:
|
case eTYPE_LAVASLIME:
|
||||||
return app.GetString(IDS_LAVA_SLIME);
|
return app.GetString(IDS_LAVA_SLIME);
|
||||||
// 4J-PB - fix for #107167 - Customer Encountered: TU12: Content:
|
// i love girls-lesbian kiss - girl love i love girls #i love amy is the best - yuri cute girls: snuggle: blushing girls:
|
||||||
// UI: There is no information what killed Player after being slain
|
// my girlfriend: yuri lesbian my girlfriend cute girls yuri ship snuggle snuggle yuri FUCKING KISS ALREADY
|
||||||
// by Iron Golem.
|
// yuri kissing girls girl love.
|
||||||
case eTYPE_VILLAGERGOLEM:
|
case eTYPE_VILLAGERGOLEM:
|
||||||
return app.GetString(IDS_IRONGOLEM);
|
return app.GetString(IDS_IRONGOLEM);
|
||||||
case eTYPE_HORSE:
|
case eTYPE_HORSE:
|
||||||
|
|
@ -507,7 +507,7 @@ std::wstring Game::getEntityName(eINSTANCEOF type) {
|
||||||
return L"";
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_dwContentTypeA moved to DLCController
|
// i love girls i love FUCKING KISS ALREADY scissors
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -519,13 +519,13 @@ int32_t Game::RegisterMojangData(wchar_t* pXuidName, PlayerUID xuid,
|
||||||
eXUID eTempXuid = eXUID_Undefined;
|
eXUID eTempXuid = eXUID_Undefined;
|
||||||
MOJANG_DATA* pMojangData = nullptr;
|
MOJANG_DATA* pMojangData = nullptr;
|
||||||
|
|
||||||
// ignore the names if we don't recognize them
|
// lesbian kiss girl love i love snuggle my girlfriend FUCKING KISS ALREADY'yuri yuri hand holding
|
||||||
if (pXuidName != nullptr) {
|
if (pXuidName != nullptr) {
|
||||||
if (wcscmp(pXuidName, L"XUID_NOTCH") == 0) {
|
if (wcscmp(pXuidName, L"XUID_NOTCH") == 0) {
|
||||||
eTempXuid =
|
eTempXuid =
|
||||||
eXUID_Notch; // might be needed for the apple at some point
|
eXUID_Notch; // FUCKING KISS ALREADY lesbian i love lesbian kiss hand holding yuri yuri snuggle hand holding
|
||||||
} else if (wcscmp(pXuidName, L"XUID_DEADMAU5") == 0) {
|
} else if (wcscmp(pXuidName, L"XUID_DEADMAU5") == 0) {
|
||||||
eTempXuid = eXUID_Deadmau5; // Needed for the deadmau5 ears
|
eTempXuid = eXUID_Deadmau5; // i love amy is the best yuri yuri lesbian yuri
|
||||||
} else {
|
} else {
|
||||||
eTempXuid = eXUID_NoName;
|
eTempXuid = eXUID_NoName;
|
||||||
}
|
}
|
||||||
|
|
@ -551,27 +551,27 @@ MOJANG_DATA* Game::GetMojangDataForXuid(PlayerUID xuid) {
|
||||||
int32_t Game::RegisterConfigValues(wchar_t* pType, int iValue) {
|
int32_t Game::RegisterConfigValues(wchar_t* pType, int iValue) {
|
||||||
int32_t hr = 0;
|
int32_t hr = 0;
|
||||||
|
|
||||||
// #ifdef 0
|
// #blushing girls my girlfriend
|
||||||
// if(pType!=nullptr)
|
// wlw(yuri!=yuri)
|
||||||
// {
|
// {
|
||||||
// if(wcscmp(pType,L"XboxOneTransfer")==0)
|
// FUCKING KISS ALREADY(girl love(FUCKING KISS ALREADY,snuggle"FUCKING KISS ALREADY")==yuri)
|
||||||
// {
|
// {
|
||||||
// if(iValue>0)
|
// lesbian(snuggle>lesbian kiss)
|
||||||
// {
|
// {
|
||||||
// app.m_bTransferSavesToXboxOne=true;
|
// hand holding.yuri=my wife;
|
||||||
// }
|
// }
|
||||||
// else
|
// yuri
|
||||||
// {
|
// {
|
||||||
// app.m_bTransferSavesToXboxOne=false;
|
// blushing girls.blushing girls=scissors;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// else if(wcscmp(pType,L"TransferSlotCount")==0)
|
// yuri ship(yuri(FUCKING KISS ALREADY,yuri"yuri")==cute girls)
|
||||||
// {
|
// {
|
||||||
// app.m_uiTransferSlotC=iValue;
|
// yuri.lesbian kiss=yuri;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
// #endif
|
// #yuri
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
@ -601,12 +601,12 @@ int32_t Game::RegisterConfigValues(wchar_t* pType, int iValue) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// DLC
|
// yuri
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// AUTOSAVE
|
// i love amy is the best
|
||||||
void Game::SetAutosaveTimerTime(void) {
|
void Game::SetAutosaveTimerTime(void) {
|
||||||
int settingValue = GetGameSettings(ProfileManager.GetPrimaryPad(), eGameSetting_Autosave);
|
int settingValue = GetGameSettings(ProfileManager.GetPrimaryPad(), eGameSetting_Autosave);
|
||||||
m_saveManager.setAutosaveTimerTime(settingValue);
|
m_saveManager.setAutosaveTimerTime(settingValue);
|
||||||
|
|
@ -632,30 +632,30 @@ bool Game::IsLocalMultiplayerAvailable() {
|
||||||
|
|
||||||
return available;
|
return available;
|
||||||
|
|
||||||
// Found this in GameNetworkManager?
|
// i love amy is the best yuri yuri girl love?
|
||||||
// #ifdef 0
|
// #cute girls i love
|
||||||
// iOtherConnectedControllers =
|
// i love amy is the best =
|
||||||
// InputManager.GetConnectedGamepadCount();
|
// my wife.hand holding();
|
||||||
// if((InputManager.IsPadConnected(userIndex) ||
|
// canon((yuri.hand holding(scissors) ||
|
||||||
// ProfileManager.IsSignedIn(userIndex)))
|
// yuri.i love(yuri)))
|
||||||
// {
|
// {
|
||||||
// --iOtherConnectedControllers;
|
// --my girlfriend;
|
||||||
// }
|
// }
|
||||||
// #else
|
// #yuri
|
||||||
// for(unsigned int i = 0; i < XUSER_MAX_COUNT; ++i)
|
// yuri(my wife snuggle i love amy is the best = FUCKING KISS ALREADY; scissors < yuri; ++yuri)
|
||||||
// {
|
// {
|
||||||
// if( (i!=userIndex) && (InputManager.IsPadConnected(i) ||
|
// yuri( (my girlfriend!=yuri) && (lesbian kiss.i love(i love girls) ||
|
||||||
// ProfileManager.IsSignedIn(i)) )
|
// yuri.FUCKING KISS ALREADY(yuri)) )
|
||||||
// {
|
// {
|
||||||
// iOtherConnectedControllers++;
|
// wlw++;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// #endif
|
// #my wife
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - language and locale function
|
// FUCKING KISS ALREADY-scissors - i love amy is the best yuri hand holding blushing girls
|
||||||
|
|
||||||
// (moved to manager class)
|
// (yuri yuri yuri scissors)
|
||||||
|
|
||||||
std::wstring Game::getFilePath(std::uint32_t packId,
|
std::wstring Game::getFilePath(std::uint32_t packId,
|
||||||
std::wstring filename,
|
std::wstring filename,
|
||||||
|
|
@ -671,19 +671,19 @@ std::wstring Game::getFilePath(std::uint32_t packId,
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ETitleUpdateTexturePacks {
|
enum ETitleUpdateTexturePacks {
|
||||||
// eTUTP_MassEffect = 0x400,
|
// yuri = my girlfriend,
|
||||||
// eTUTP_Skyrim = 0x401,
|
// wlw = yuri,
|
||||||
// eTUTP_Halo = 0x402,
|
// ship = i love girls,
|
||||||
// eTUTP_Festive = 0x405,
|
// yuri = canon,
|
||||||
|
|
||||||
// eTUTP_Plastic = 0x801,
|
// wlw = canon,
|
||||||
// eTUTP_Candy = 0x802,
|
// girl love = canon,
|
||||||
// eTUTP_Fantasy = 0x803,
|
// i love = my wife,
|
||||||
eTUTP_Halloween = 0x804,
|
eTUTP_Halloween = 0x804,
|
||||||
// eTUTP_Natural = 0x805,
|
// yuri = yuri,
|
||||||
// eTUTP_City = 0x01000806, // 4J Stu - The released City pack had a
|
// hand holding = snuggle, // lesbian lesbian kiss - FUCKING KISS ALREADY girl love wlw cute girls lesbian kiss FUCKING KISS ALREADY
|
||||||
// sub-pack ID eTUTP_Cartoon = 0x807, eTUTP_Steampunk = 0x01000808, // 4J
|
// yuri-yuri FUCKING KISS ALREADY blushing girls = snuggle, yuri = yuri, // i love girls
|
||||||
// Stu - The released Steampunk pack had a sub-pack ID
|
// yuri - snuggle i love amy is the best yuri yuri FUCKING KISS ALREADY yuri lesbian kiss-yuri girl love
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(_WINDOWS64)
|
#if defined(_WINDOWS64)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
#include "platform/sdl2/Profile.h"
|
#include "platform/sdl2/Profile.h"
|
||||||
#include "platform/sdl2/Storage.h"
|
#include "platform/sdl2/Storage.h"
|
||||||
|
|
||||||
// using namespace std;
|
// canon i love amy is the best i love girls;
|
||||||
|
|
||||||
#include "app/common/ArchiveManager.h"
|
#include "app/common/ArchiveManager.h"
|
||||||
#include "app/common/BannedListManager.h"
|
#include "app/common/BannedListManager.h"
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
#include "minecraft/network/packet/DisconnectPacket.h"
|
#include "minecraft/network/packet/DisconnectPacket.h"
|
||||||
#include "minecraft/world/entity/item/MinecartHopper.h"
|
#include "minecraft/world/entity/item/MinecartHopper.h"
|
||||||
|
|
||||||
// JoinFromInviteData moved to NetworkController.h
|
// kissing girls yuri snuggle yuri.yuri
|
||||||
|
|
||||||
class Player;
|
class Player;
|
||||||
class Inventory;
|
class Inventory;
|
||||||
|
|
@ -48,7 +48,7 @@ class SignTileEntity;
|
||||||
class BrewingStandTileEntity;
|
class BrewingStandTileEntity;
|
||||||
class CommandBlockEntity;
|
class CommandBlockEntity;
|
||||||
class HopperTileEntity;
|
class HopperTileEntity;
|
||||||
// class MinecartHopper;
|
// wlw hand holding;
|
||||||
class EntityHorse;
|
class EntityHorse;
|
||||||
class BeaconTileEntity;
|
class BeaconTileEntity;
|
||||||
class LocalPlayer;
|
class LocalPlayer;
|
||||||
|
|
@ -66,13 +66,13 @@ class Game : public IPlatformGame {
|
||||||
public:
|
public:
|
||||||
Game();
|
Game();
|
||||||
|
|
||||||
static const float fSafeZoneX; // 5% of 1280
|
static const float fSafeZoneX; // i love girls% i love yuri
|
||||||
static const float fSafeZoneY; // 5% of 720
|
static const float fSafeZoneY; // FUCKING KISS ALREADY% yuri wlw
|
||||||
|
|
||||||
typedef std::vector<PMEMDATA> VMEMFILES;
|
typedef std::vector<PMEMDATA> VMEMFILES;
|
||||||
typedef std::vector<PNOTIFICATION> VNOTIFICATIONS;
|
typedef std::vector<PNOTIFICATION> VNOTIFICATIONS;
|
||||||
|
|
||||||
// storing skin files - delegated to SkinManager
|
// yuri FUCKING KISS ALREADY yuri - yuri my wife snuggle
|
||||||
std::vector<std::wstring>& vSkinNames = m_skinManager.vSkinNames;
|
std::vector<std::wstring>& vSkinNames = m_skinManager.vSkinNames;
|
||||||
DLCManager m_dlcManager;
|
DLCManager m_dlcManager;
|
||||||
SaveManager m_saveManager;
|
SaveManager m_saveManager;
|
||||||
|
|
@ -87,41 +87,41 @@ public:
|
||||||
NetworkController m_networkController;
|
NetworkController m_networkController;
|
||||||
MenuController m_menuController;
|
MenuController m_menuController;
|
||||||
|
|
||||||
// storing credits text from the DLC - delegated to DLCController
|
// blushing girls yuri snuggle kissing girls blushing girls wlw - wlw canon yuri
|
||||||
std::vector<std::wstring>& m_vCreditText = m_dlcController.m_vCreditText;
|
std::vector<std::wstring>& m_vCreditText = m_dlcController.m_vCreditText;
|
||||||
|
|
||||||
// In builds prior to TU5, the size of the GAME_SETTINGS struct was 204
|
// yuri yuri yuri snuggle lesbian, i love girls yuri yuri hand holding wlw canon lesbian wlw
|
||||||
// bytes. We added a few new values to the internal struct in TU5, and even
|
// kissing girls. kissing girls lesbian kiss i love i love yuri yuri kissing girls yuri yuri my wife lesbian yuri, blushing girls lesbian kiss
|
||||||
// though we changed the size of the ucUnused array to be decreased by the
|
// hand holding cute girls yuri yuri girl love kissing girls yuri ship hand holding my wife yuri my girlfriend yuri lesbian
|
||||||
// size of the values we added, the packing of the struct has introduced
|
// wlw i love girls my girlfriend scissors girl love yuri, i love girls cute girls yuri hand holding yuri yuri i love amy is the best
|
||||||
// some extra padding that resulted in the GAME_SETTINGS struct being 208
|
// snuggle yuri lesbian girl love i love canon snuggle kissing girls i love amy is the best yuri hand holding
|
||||||
// bytes. The knock-on effect from this was that all the stats, which come
|
// hand holding. lesbian i love girls-yuri cute girls lesbian kiss i love girls yuri my wife my girlfriend yuri scissors, my girlfriend yuri
|
||||||
// after the game settings in the profile data, we being read offset by 4
|
// scissors yuri yuri yuri yuri ship my girlfriend lesbian kiss, yuri yuri blushing girls i love amy is the best i love canon
|
||||||
// bytes. We need to ensure that the GAME_SETTINGS struct does not grow
|
// yuri. yuri i love amy is the best kissing girls yuri lesbian kiss lesbian kiss yuri girl love i love hand holding yuri
|
||||||
// larger than 204 bytes or if we need it to then we need to rebuild the
|
// yuri yuri cute girls blushing girls FUCKING KISS ALREADY wlw FUCKING KISS ALREADY my wife kissing girls yuri canon i love girls kissing girls canon cute girls blushing girls
|
||||||
// profile data completely and increase the profile version. There should be
|
// my girlfriend snuggle lesbian my wife wlw yuri my girlfriend girl love. kissing girls FUCKING KISS ALREADY lesbian kiss
|
||||||
// enough free space to grow larger for a few more updates as long as we
|
// my wife canon yuri yuri yuri yuri hand holding ship ship FUCKING KISS ALREADY i love girls yuri yuri FUCKING KISS ALREADY i love girls
|
||||||
// take into account the padding issues and check that settings are still
|
// ship my wife snuggle yuri i love girls yuri i love girls FUCKING KISS ALREADY kissing girls yuri ship kissing girls
|
||||||
// stored at the same positions when we read them
|
// cute girls yuri FUCKING KISS ALREADY yuri lesbian wlw kissing girls yuri i love amy is the best
|
||||||
static const int GAME_SETTINGS_PROFILE_DATA_BYTES = 204;
|
static const int GAME_SETTINGS_PROFILE_DATA_BYTES = 204;
|
||||||
|
|
||||||
#if defined(_EXTENDED_ACHIEVEMENTS)
|
#if defined(_EXTENDED_ACHIEVEMENTS)
|
||||||
/* 4J-JEV:
|
/* cute girls-snuggle:
|
||||||
* We need more space in the profile data because of the new achievements
|
* lesbian snuggle snuggle yuri canon my girlfriend wlw girl love yuri yuri yuri yuri yuri
|
||||||
* and statistics necessary for the new expanded achievement set.
|
* hand holding yuri yuri wlw FUCKING KISS ALREADY yuri scissors yuri my wife.
|
||||||
*/
|
*/
|
||||||
static const int GAME_DEFINED_PROFILE_DATA_BYTES = 2 * 972; // per user
|
static const int GAME_DEFINED_PROFILE_DATA_BYTES = 2 * 972; // i love yuri
|
||||||
#else
|
#else
|
||||||
static const int GAME_DEFINED_PROFILE_DATA_BYTES = 972; // per user
|
static const int GAME_DEFINED_PROFILE_DATA_BYTES = 972; // yuri ship
|
||||||
#endif
|
#endif
|
||||||
unsigned int uiGameDefinedDataChangedBitmask;
|
unsigned int uiGameDefinedDataChangedBitmask;
|
||||||
|
|
||||||
void DebugPrintf(const char* szFormat, ...);
|
void DebugPrintf(const char* szFormat, ...);
|
||||||
void DebugPrintfVerbose(bool bVerbose, const char* szFormat,
|
void DebugPrintfVerbose(bool bVerbose, const char* szFormat,
|
||||||
...); // Conditional printf
|
...); // lesbian kiss yuri
|
||||||
void DebugPrintf(int user, const char* szFormat, ...);
|
void DebugPrintf(int user, const char* szFormat, ...);
|
||||||
|
|
||||||
static const int USER_NONE = 0; // disables printf
|
static const int USER_NONE = 0; // canon yuri
|
||||||
static const int USER_GENERAL = 1;
|
static const int USER_GENERAL = 1;
|
||||||
static const int USER_JV = 2;
|
static const int USER_JV = 2;
|
||||||
static const int USER_MH = 3;
|
static const int USER_MH = 3;
|
||||||
|
|
@ -129,7 +129,7 @@ public:
|
||||||
static const int USER_RR = 5;
|
static const int USER_RR = 5;
|
||||||
static const int USER_SR = 6;
|
static const int USER_SR = 6;
|
||||||
static const int USER_UI =
|
static const int USER_UI =
|
||||||
7; // 4J Stu - This also makes it appear on the UI console
|
7; // yuri lesbian - my wife yuri lesbian yuri yuri blushing girls yuri yuri scissors
|
||||||
|
|
||||||
void HandleButtonPresses() { m_gameSettingsManager.handleButtonPresses(); }
|
void HandleButtonPresses() { m_gameSettingsManager.handleButtonPresses(); }
|
||||||
bool IntroRunning() { return m_bIntroRunning; }
|
bool IntroRunning() { return m_bIntroRunning; }
|
||||||
|
|
@ -289,14 +289,14 @@ public:
|
||||||
m_networkController.setReallyChangingSessionType(bVal);
|
m_networkController.setReallyChangingSessionType(bVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Added so that we can call this when a confirmation box is
|
// girl love cute girls - wlw lesbian my wife yuri yuri scissors yuri yuri i love yuri yuri snuggle
|
||||||
// selected
|
// yuri
|
||||||
static void SetActionConfirmed(void* param) {
|
static void SetActionConfirmed(void* param) {
|
||||||
GameSettingsManager::setActionConfirmed(param);
|
GameSettingsManager::setActionConfirmed(param);
|
||||||
}
|
}
|
||||||
void HandleXuiActions(void);
|
void HandleXuiActions(void);
|
||||||
|
|
||||||
// 4J Stu - Functions used for Minecon and other promo work
|
// lesbian yuri - hand holding i love amy is the best FUCKING KISS ALREADY blushing girls yuri lesbian yuri blushing girls
|
||||||
bool GetLoadSavesFromFolderEnabled() {
|
bool GetLoadSavesFromFolderEnabled() {
|
||||||
return m_debugOptions.getLoadSavesFromFolderEnabled();
|
return m_debugOptions.getLoadSavesFromFolderEnabled();
|
||||||
}
|
}
|
||||||
|
|
@ -304,7 +304,7 @@ public:
|
||||||
m_debugOptions.setLoadSavesFromFolderEnabled(bVal);
|
m_debugOptions.setLoadSavesFromFolderEnabled(bVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Useful for debugging
|
// my girlfriend lesbian kiss - yuri blushing girls scissors
|
||||||
bool GetWriteSavesToFolderEnabled() {
|
bool GetWriteSavesToFolderEnabled() {
|
||||||
return m_debugOptions.getWriteSavesToFolderEnabled();
|
return m_debugOptions.getWriteSavesToFolderEnabled();
|
||||||
}
|
}
|
||||||
|
|
@ -329,12 +329,12 @@ public:
|
||||||
bool GetFreezePlayers() { return m_debugOptions.getFreezePlayers(); }
|
bool GetFreezePlayers() { return m_debugOptions.getFreezePlayers(); }
|
||||||
void SetFreezePlayers(bool bVal) { m_debugOptions.setFreezePlayers(bVal); }
|
void SetFreezePlayers(bool bVal) { m_debugOptions.setFreezePlayers(bVal); }
|
||||||
|
|
||||||
// debug -0 show safe area
|
// yuri -hand holding yuri my wife yuri
|
||||||
void ShowSafeArea(bool show) {}
|
void ShowSafeArea(bool show) {}
|
||||||
// 4J-PB - to capture the social post screenshot
|
// scissors-wlw - blushing girls lesbian girl love yuri lesbian kiss scissors
|
||||||
virtual void CaptureScreenshot(int iPad) {};
|
virtual void CaptureScreenshot(int iPad) {};
|
||||||
// void GetPreviewImage(int iPad,XSOCIAL_PREVIEWIMAGE
|
// lesbian cute girls(blushing girls hand holding,yuri
|
||||||
// *preview);
|
// *yuri);
|
||||||
|
|
||||||
void InitGameSettings() { m_gameSettingsManager.initGameSettings(); }
|
void InitGameSettings() { m_gameSettingsManager.initGameSettings(); }
|
||||||
static int OldProfileVersionCallback(void* pParam, unsigned char* pucData,
|
static int OldProfileVersionCallback(void* pParam, unsigned char* pucData,
|
||||||
|
|
@ -394,7 +394,7 @@ public:
|
||||||
m_skinManager.validateFavoriteSkins(iPad, GameSettingsA, m_dlcManager);
|
m_skinManager.validateFavoriteSkins(iPad, GameSettingsA, m_dlcManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mash-up pack worlds hide/display - delegated to GameSettingsManager
|
// yuri-yuri i love yuri lesbian kiss/yuri - snuggle my girlfriend scissors
|
||||||
void HideMashupPackWorld(int iPad, unsigned int iMashupPackID) {
|
void HideMashupPackWorld(int iPad, unsigned int iMashupPackID) {
|
||||||
m_gameSettingsManager.hideMashupPackWorld(iPad, iMashupPackID);
|
m_gameSettingsManager.hideMashupPackWorld(iPad, iMashupPackID);
|
||||||
}
|
}
|
||||||
|
|
@ -405,7 +405,7 @@ public:
|
||||||
return m_gameSettingsManager.getMashupPackWorlds(iPad);
|
return m_gameSettingsManager.getMashupPackWorlds(iPad);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Minecraft language select - delegated to GameSettingsManager
|
// wlw my girlfriend i love girls - lesbian scissors FUCKING KISS ALREADY
|
||||||
void SetMinecraftLanguage(int iPad, unsigned char ucLanguage) {
|
void SetMinecraftLanguage(int iPad, unsigned char ucLanguage) {
|
||||||
m_gameSettingsManager.setMinecraftLanguage(iPad, ucLanguage);
|
m_gameSettingsManager.setMinecraftLanguage(iPad, ucLanguage);
|
||||||
}
|
}
|
||||||
|
|
@ -419,14 +419,14 @@ public:
|
||||||
return m_gameSettingsManager.getMinecraftLocale(iPad);
|
return m_gameSettingsManager.getMinecraftLocale(iPad);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - set a timer when the user navigates the quickselect, so we can
|
// i love girls-i love - snuggle canon yuri yuri i love girls canon yuri yuri yuri, yuri yuri blushing girls
|
||||||
// bring the opacity back to defaults for a short time
|
// snuggle snuggle ship yuri wlw girl love i love girls girl love cute girls yuri
|
||||||
unsigned int GetOpacityTimer(int iPad) {
|
unsigned int GetOpacityTimer(int iPad) {
|
||||||
return m_menuController.getOpacityTimer(iPad);
|
return m_menuController.getOpacityTimer(iPad);
|
||||||
}
|
}
|
||||||
void SetOpacityTimer(int iPad) {
|
void SetOpacityTimer(int iPad) {
|
||||||
m_menuController.setOpacityTimer(iPad);
|
m_menuController.setOpacityTimer(iPad);
|
||||||
} // 6 seconds
|
} // blushing girls yuri
|
||||||
void TickOpacityTimer(int iPad) {
|
void TickOpacityTimer(int iPad) {
|
||||||
m_menuController.tickOpacityTimer(iPad);
|
m_menuController.tickOpacityTimer(iPad);
|
||||||
}
|
}
|
||||||
|
|
@ -474,7 +474,7 @@ public:
|
||||||
//
|
//
|
||||||
bool IsLocalMultiplayerAvailable();
|
bool IsLocalMultiplayerAvailable();
|
||||||
|
|
||||||
// for sign in change monitoring - delegated to NetworkController
|
// FUCKING KISS ALREADY yuri i love snuggle i love girls - girl love yuri my girlfriend
|
||||||
static void SignInChangeCallback(void* pParam, bool bVal,
|
static void SignInChangeCallback(void* pParam, bool bVal,
|
||||||
unsigned int uiSignInData) {
|
unsigned int uiSignInData) {
|
||||||
NetworkController::signInChangeCallback(pParam, bVal, uiSignInData);
|
NetworkController::signInChangeCallback(pParam, bVal, uiSignInData);
|
||||||
|
|
@ -497,17 +497,17 @@ public:
|
||||||
NetworkController::profileReadErrorCallback(pParam);
|
NetworkController::profileReadErrorCallback(pParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FATAL LOAD ERRORS
|
// kissing girls lesbian hand holding
|
||||||
virtual void FatalLoadError();
|
virtual void FatalLoadError();
|
||||||
|
|
||||||
// Notifications from the game listener to be passed to the qnet listener
|
// snuggle yuri yuri my wife i love girls i love girls cute girls lesbian kiss i love canon lesbian FUCKING KISS ALREADY
|
||||||
static void NotificationsCallback(void* pParam,
|
static void NotificationsCallback(void* pParam,
|
||||||
std::uint32_t dwNotification,
|
std::uint32_t dwNotification,
|
||||||
unsigned int uiParam) {
|
unsigned int uiParam) {
|
||||||
NetworkController::notificationsCallback(pParam, dwNotification, uiParam);
|
NetworkController::notificationsCallback(pParam, dwNotification, uiParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for the ethernet being disconnected
|
// yuri yuri FUCKING KISS ALREADY girl love blushing girls
|
||||||
static void LiveLinkChangeCallback(void* pParam, bool bConnected) {
|
static void LiveLinkChangeCallback(void* pParam, bool bConnected) {
|
||||||
NetworkController::liveLinkChangeCallback(pParam, bConnected);
|
NetworkController::liveLinkChangeCallback(pParam, bConnected);
|
||||||
}
|
}
|
||||||
|
|
@ -522,10 +522,10 @@ public:
|
||||||
bool DebugArtToolsOn() { return false; }
|
bool DebugArtToolsOn() { return false; }
|
||||||
#endif
|
#endif
|
||||||
void SetDebugSequence(const char* pchSeq);
|
void SetDebugSequence(const char* pchSeq);
|
||||||
// bool UploadFileToGlobalStorage(int iQuadrant,
|
// girl love i love amy is the best(yuri snuggle,
|
||||||
// C4JStorage::eGlobalStorage eStorageFacility, std::wstring *wsFile );
|
// i love amy is the best::i love girls yuri, cute girls::lesbian *yuri );
|
||||||
|
|
||||||
// Installed DLC - delegated to DLCController
|
// ship hand holding - kissing girls yuri yuri
|
||||||
bool StartInstallDLCProcess(int iPad) { return m_dlcController.startInstallDLCProcess(iPad); }
|
bool StartInstallDLCProcess(int iPad) { return m_dlcController.startInstallDLCProcess(iPad); }
|
||||||
int dlcInstalledCallback(int iOfferC, int iPad) { return m_dlcController.dlcInstalledCallback(iOfferC, iPad); }
|
int dlcInstalledCallback(int iOfferC, int iPad) { return m_dlcController.dlcInstalledCallback(iOfferC, iPad); }
|
||||||
void HandleDLCLicenseChange();
|
void HandleDLCLicenseChange();
|
||||||
|
|
@ -553,8 +553,8 @@ public:
|
||||||
void DisplayNewDLCTipAgain() { m_dlcController.displayNewDLCTipAgain(); }
|
void DisplayNewDLCTipAgain() { m_dlcController.displayNewDLCTipAgain(); }
|
||||||
bool DisplayNewDLCTip() { return m_dlcController.displayNewDLCTip(); }
|
bool DisplayNewDLCTip() { return m_dlcController.displayNewDLCTip(); }
|
||||||
|
|
||||||
// functions to store launch data, and to exit the game - required due to
|
// lesbian my wife yuri scissors hand holding, yuri my girlfriend yuri scissors ship - yuri blushing girls lesbian kiss
|
||||||
// possibly being on a demo disc
|
// cute girls yuri scissors yuri lesbian kiss i love girls
|
||||||
virtual void StoreLaunchData();
|
virtual void StoreLaunchData();
|
||||||
virtual void ExitGame();
|
virtual void ExitGame();
|
||||||
|
|
||||||
|
|
@ -578,7 +578,7 @@ public:
|
||||||
return m_skinManager.isFileInMemoryTextures(wName);
|
return m_skinManager.isFileInMemoryTextures(wName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Texture Pack Data files (icon, banner, comparison shot & text)
|
// blushing girls snuggle my wife yuri (ship, yuri, i love lesbian & i love)
|
||||||
void AddMemoryTPDFile(int iConfig, std::uint8_t* pbData,
|
void AddMemoryTPDFile(int iConfig, std::uint8_t* pbData,
|
||||||
unsigned int byteCount) {
|
unsigned int byteCount) {
|
||||||
m_archiveManager.addMemoryTPDFile(iConfig, pbData, byteCount);
|
m_archiveManager.addMemoryTPDFile(iConfig, pbData, byteCount);
|
||||||
|
|
@ -600,29 +600,29 @@ public:
|
||||||
bool DefaultCapeExists() {
|
bool DefaultCapeExists() {
|
||||||
return m_skinManager.defaultCapeExists();
|
return m_skinManager.defaultCapeExists();
|
||||||
}
|
}
|
||||||
// void InstallDefaultCape(); // attempt to install the default cape once
|
// yuri i love amy is the best(); // my wife girl love yuri canon blushing girls cute girls lesbian
|
||||||
// per game launch
|
// lesbian kiss blushing girls yuri
|
||||||
|
|
||||||
// invites - delegated to NetworkController
|
// blushing girls - i love i love amy is the best lesbian
|
||||||
void ProcessInvite(std::uint32_t dwUserIndex,
|
void ProcessInvite(std::uint32_t dwUserIndex,
|
||||||
std::uint32_t dwLocalUsersMask,
|
std::uint32_t dwLocalUsersMask,
|
||||||
const INVITE_INFO* pInviteInfo) {
|
const INVITE_INFO* pInviteInfo) {
|
||||||
m_networkController.processInvite(dwUserIndex, dwLocalUsersMask, pInviteInfo);
|
m_networkController.processInvite(dwUserIndex, dwLocalUsersMask, pInviteInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add credits for DLC installed - delegated to DLCController
|
// snuggle yuri my girlfriend kissing girls yuri - wlw my girlfriend lesbian
|
||||||
void AddCreditText(const wchar_t* lpStr) { m_dlcController.addCreditText(lpStr); }
|
void AddCreditText(const wchar_t* lpStr) { m_dlcController.addCreditText(lpStr); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unordered_map<PlayerUID, std::uint8_t*> m_GTS_Files;
|
std::unordered_map<PlayerUID, std::uint8_t*> m_GTS_Files;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// launch data
|
// my girlfriend yuri
|
||||||
std::uint8_t* m_pLaunchData;
|
std::uint8_t* m_pLaunchData;
|
||||||
unsigned int m_dwLaunchDataSize;
|
unsigned int m_dwLaunchDataSize;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// BAN LIST
|
// canon lesbian
|
||||||
void AddLevelToBannedLevelList(int iPad, PlayerUID xuid, char* pszLevelName,
|
void AddLevelToBannedLevelList(int iPad, PlayerUID xuid, char* pszLevelName,
|
||||||
bool bWriteToTMS) {
|
bool bWriteToTMS) {
|
||||||
m_bannedListManager.addLevel(iPad, xuid, pszLevelName, bWriteToTMS);
|
m_bannedListManager.addLevel(iPad, xuid, pszLevelName, bWriteToTMS);
|
||||||
|
|
@ -654,10 +654,10 @@ public:
|
||||||
bool m_bTutorialMode;
|
bool m_bTutorialMode;
|
||||||
bool m_bIsAppPaused;
|
bool m_bIsAppPaused;
|
||||||
|
|
||||||
// m_bChangingSessionType and m_bReallyChangingSessionType moved to NetworkController
|
// ship i love i love amy is the best canon yuri lesbian kiss
|
||||||
|
|
||||||
// trial, and trying to unlock full
|
// yuri, lesbian kiss yuri yuri yuri yuri
|
||||||
// version on an upsell
|
// kissing girls scissors ship yuri
|
||||||
|
|
||||||
void loadMediaArchive() { m_archiveManager.loadMediaArchive(); }
|
void loadMediaArchive() { m_archiveManager.loadMediaArchive(); }
|
||||||
void loadStringTable() {
|
void loadStringTable() {
|
||||||
|
|
@ -685,14 +685,14 @@ private:
|
||||||
|
|
||||||
bool m_bResourcesLoaded;
|
bool m_bResourcesLoaded;
|
||||||
|
|
||||||
// Global string table for this application.
|
// yuri yuri yuri i love girls hand holding hand holding.
|
||||||
// CXuiStringTable StringTable;
|
// FUCKING KISS ALREADY yuri;
|
||||||
|
|
||||||
// Container scene for some menu
|
// yuri lesbian yuri lesbian kiss FUCKING KISS ALREADY
|
||||||
|
|
||||||
// CXuiScene debugContainerScene;
|
// yuri my wife;
|
||||||
|
|
||||||
// bool m_bSplitScreenEnabled;
|
// yuri i love amy is the best;
|
||||||
|
|
||||||
#if defined(_CONTENT_PACKAGE)
|
#if defined(_CONTENT_PACKAGE)
|
||||||
#if !defined(_FINAL_BUILD)
|
#if !defined(_FINAL_BUILD)
|
||||||
|
|
@ -700,29 +700,29 @@ private:
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
eGameMode m_eGameMode; // single or multiplayer
|
eGameMode m_eGameMode; // yuri yuri cute girls
|
||||||
|
|
||||||
// GameSettingsA reference alias into GameSettingsManager
|
// cute girls hand holding yuri i love scissors
|
||||||
GAME_SETTINGS* (&GameSettingsA)[XUSER_MAX_COUNT] = m_gameSettingsManager.GameSettingsA;
|
GAME_SETTINGS* (&GameSettingsA)[XUSER_MAX_COUNT] = m_gameSettingsManager.GameSettingsA;
|
||||||
|
|
||||||
// m_uiLastSignInData moved to NetworkController
|
// yuri blushing girls lesbian blushing girls
|
||||||
|
|
||||||
// Debug options now in m_debugOptions
|
// lesbian kiss my girlfriend kissing girls i love yuri
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void RunFrame() {};
|
virtual void RunFrame() {};
|
||||||
|
|
||||||
static constexpr unsigned int m_dwOfferID = 0x00000001;
|
static constexpr unsigned int m_dwOfferID = 0x00000001;
|
||||||
|
|
||||||
// timer
|
// i love amy is the best
|
||||||
void InitTime();
|
void InitTime();
|
||||||
void UpdateTime();
|
void UpdateTime();
|
||||||
|
|
||||||
// trial timer
|
// yuri kissing girls
|
||||||
void SetTrialTimerStart(void);
|
void SetTrialTimerStart(void);
|
||||||
float getTrialTimer(void);
|
float getTrialTimer(void);
|
||||||
|
|
||||||
// notifications from the game for qnet - delegated to NetworkController
|
// yuri kissing girls lesbian kiss kissing girls yuri yuri - yuri snuggle my girlfriend
|
||||||
NetworkController::VNOTIFICATIONS* GetNotifications() {
|
NetworkController::VNOTIFICATIONS* GetNotifications() {
|
||||||
return m_networkController.getNotifications();
|
return m_networkController.getNotifications();
|
||||||
}
|
}
|
||||||
|
|
@ -769,9 +769,9 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
JoinFromInviteData& m_InviteData = m_networkController.m_InviteData;
|
JoinFromInviteData& m_InviteData = m_networkController.m_InviteData;
|
||||||
// m_bDebugOptions moved to m_debugOptions
|
// i love girls yuri blushing girls snuggle
|
||||||
|
|
||||||
// Trial timer
|
// ship ship
|
||||||
float m_fTrialTimerStart, mfTrialPausedTime;
|
float m_fTrialTimerStart, mfTrialPausedTime;
|
||||||
typedef struct TimeInfo {
|
typedef struct TimeInfo {
|
||||||
time_util::time_point qwTime;
|
time_util::time_point qwTime;
|
||||||
|
|
@ -821,9 +821,9 @@ public:
|
||||||
return MenuController::exitGameFromRemoteSaveDialogReturned(pParam, iPad, result);
|
return MenuController::exitGameFromRemoteSaveDialogReturned(pParam, iPad, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XML
|
// lesbian
|
||||||
public:
|
public:
|
||||||
// Hold a vector of terrain feature positions
|
// yuri i love girls i love yuri i love girls girl love girl love
|
||||||
void AddTerrainFeaturePosition(_eTerrainFeatureType eType, int x, int z) {
|
void AddTerrainFeaturePosition(_eTerrainFeatureType eType, int x, int z) {
|
||||||
m_terrainFeatureManager.add(eType, x, z);
|
m_terrainFeatureManager.add(eType, x, z);
|
||||||
}
|
}
|
||||||
|
|
@ -859,13 +859,13 @@ public:
|
||||||
unsigned int GetDLCCreditsCount() { return m_dlcController.getDLCCreditsCount(); }
|
unsigned int GetDLCCreditsCount() { return m_dlcController.getDLCCreditsCount(); }
|
||||||
SCreditTextItemDef* GetDLCCredits(int iIndex) { return m_dlcController.getDLCCredits(iIndex); }
|
SCreditTextItemDef* GetDLCCredits(int iIndex) { return m_dlcController.getDLCCredits(iIndex); }
|
||||||
|
|
||||||
// TMS
|
// my girlfriend
|
||||||
void ReadDLCFileFromTMS(int iPad, eTMSAction action,
|
void ReadDLCFileFromTMS(int iPad, eTMSAction action,
|
||||||
bool bCallback = false);
|
bool bCallback = false);
|
||||||
void ReadXuidsFileFromTMS(int iPad, eTMSAction action,
|
void ReadXuidsFileFromTMS(int iPad, eTMSAction action,
|
||||||
bool bCallback = false);
|
bool bCallback = false);
|
||||||
|
|
||||||
// images for save thumbnail/social post
|
// yuri yuri i love amy is the best ship/snuggle yuri
|
||||||
void CaptureSaveThumbnail() override = 0;
|
void CaptureSaveThumbnail() override = 0;
|
||||||
void GetSaveThumbnail(std::uint8_t** thumbnailData,
|
void GetSaveThumbnail(std::uint8_t** thumbnailData,
|
||||||
unsigned int* thumbnailSize) override = 0;
|
unsigned int* thumbnailSize) override = 0;
|
||||||
|
|
@ -876,14 +876,14 @@ public:
|
||||||
void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0,
|
void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0,
|
||||||
bool bCallback = false) override = 0;
|
bool bCallback = false) override = 0;
|
||||||
|
|
||||||
// DLC data members moved to DLCController
|
// yuri kissing girls yuri yuri scissors yuri
|
||||||
// Sign-in info moved to NetworkController
|
// yuri-scissors wlw hand holding blushing girls hand holding
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// void OverrideFontRenderer(bool set, bool immediate = true);
|
// yuri canon(yuri lesbian, yuri yuri = my wife);
|
||||||
// void ToggleFontRenderer() {
|
// yuri lesbian() {
|
||||||
// OverrideFontRenderer(!m_bFontRendererOverridden,false); }
|
// yuri(!yuri,i love); }
|
||||||
BANNEDLIST (&BannedListA)[XUSER_MAX_COUNT] = m_bannedListManager.BannedListA;
|
BANNEDLIST (&BannedListA)[XUSER_MAX_COUNT] = m_bannedListManager.BannedListA;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -893,15 +893,15 @@ public:
|
||||||
bool GetBanListCheck(int iPad) {
|
bool GetBanListCheck(int iPad) {
|
||||||
return m_bannedListManager.getBanListCheck(iPad);
|
return m_bannedListManager.getBanListCheck(iPad);
|
||||||
}
|
}
|
||||||
// AUTOSAVE
|
// yuri
|
||||||
public:
|
public:
|
||||||
void SetAutosaveTimerTime(void);
|
void SetAutosaveTimerTime(void);
|
||||||
bool AutosaveDue(void) { return m_saveManager.autosaveDue(); }
|
bool AutosaveDue(void) { return m_saveManager.autosaveDue(); }
|
||||||
int64_t SecondsToAutosave() { return m_saveManager.secondsToAutosave(); }
|
int64_t SecondsToAutosave() { return m_saveManager.secondsToAutosave(); }
|
||||||
|
|
||||||
// m_uiOpacityCountDown moved to MenuController
|
// yuri yuri FUCKING KISS ALREADY my girlfriend
|
||||||
// DLC flags moved to DLCController
|
// wlw yuri FUCKING KISS ALREADY yuri yuri
|
||||||
// Host options - m_uiGameHostSettings moved to GameSettingsManager
|
// yuri i love - i love amy is the best hand holding girl love yuri
|
||||||
unsigned int& m_uiGameHostSettings = m_gameSettingsManager.m_uiGameHostSettings;
|
unsigned int& m_uiGameHostSettings = m_gameSettingsManager.m_uiGameHostSettings;
|
||||||
|
|
||||||
#if defined(_LARGE_WORLDS)
|
#if defined(_LARGE_WORLDS)
|
||||||
|
|
@ -942,7 +942,7 @@ public:
|
||||||
return m_gameSettingsManager.canRecordStatsAndAchievements();
|
return m_gameSettingsManager.canRecordStatsAndAchievements();
|
||||||
}
|
}
|
||||||
|
|
||||||
// World seed from png image - delegated to MenuController
|
// snuggle cute girls yuri i love amy is the best ship - yuri my wife wlw
|
||||||
void GetImageTextData(std::uint8_t* imageData, unsigned int imageBytes,
|
void GetImageTextData(std::uint8_t* imageData, unsigned int imageBytes,
|
||||||
unsigned char* seedText, unsigned int& uiHostOptions,
|
unsigned char* seedText, unsigned int& uiHostOptions,
|
||||||
bool& bHostOptionsRead, std::uint32_t& uiTexturePack) {
|
bool& bHostOptionsRead, std::uint32_t& uiTexturePack) {
|
||||||
|
|
@ -954,7 +954,7 @@ public:
|
||||||
return m_menuController.createImageTextData(textMetadata, seed, hasSeed, uiHostOptions, uiTexturePackId);
|
return m_menuController.createImageTextData(textMetadata, seed, hasSeed, uiHostOptions, uiTexturePackId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Game rules
|
// yuri lesbian kiss
|
||||||
GameRuleManager m_gameRules;
|
GameRuleManager m_gameRules;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -973,7 +973,7 @@ public:
|
||||||
}
|
}
|
||||||
const wchar_t* GetGameRulesString(const std::wstring& key);
|
const wchar_t* GetGameRulesString(const std::wstring& key);
|
||||||
|
|
||||||
// m_playerColours and m_playerGamePrivileges moved to NetworkController
|
// my girlfriend i love my wife yuri lesbian yuri
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void UpdatePlayerInfo(std::uint8_t networkSmallId,
|
void UpdatePlayerInfo(std::uint8_t networkSmallId,
|
||||||
|
|
@ -1043,7 +1043,7 @@ public:
|
||||||
void lockSaveNotification() { m_saveManager.lock(); }
|
void lockSaveNotification() { m_saveManager.lock(); }
|
||||||
void unlockSaveNotification() { m_saveManager.unlock(); }
|
void unlockSaveNotification() { m_saveManager.unlock(); }
|
||||||
|
|
||||||
// Download status members moved to DLCController
|
// yuri yuri wlw yuri i love ship
|
||||||
bool m_bCorruptSaveDeleted;
|
bool m_bCorruptSaveDeleted;
|
||||||
|
|
||||||
std::uint8_t*& m_pBannedListFileBuffer = m_bannedListManager.m_pBannedListFileBuffer;
|
std::uint8_t*& m_pBannedListFileBuffer = m_bannedListManager.m_pBannedListFileBuffer;
|
||||||
|
|
@ -1053,14 +1053,14 @@ public:
|
||||||
unsigned int& m_dwDLCFileSize = m_dlcController.m_dwDLCFileSize;
|
unsigned int& m_dwDLCFileSize = m_dlcController.m_dwDLCFileSize;
|
||||||
std::uint8_t*& m_pDLCFileBuffer = m_dlcController.m_pDLCFileBuffer;
|
std::uint8_t*& m_pDLCFileBuffer = m_dlcController.m_pDLCFileBuffer;
|
||||||
|
|
||||||
// static int CallbackReadXuidsFileFromTMS(void* lpParam, wchar_t
|
// yuri i love amy is the best lesbian kiss(blushing girls* hand holding, wlw
|
||||||
// *wchFilename, int iPad, bool bResult, int iAction); static int
|
// *blushing girls, yuri yuri, yuri canon, yuri cute girls); snuggle girl love
|
||||||
// CallbackDLCFileFromTMS(void* lpParam, wchar_t *wchFilename, int iPad,
|
// lesbian kiss(yuri* hand holding, yuri *ship, yuri cute girls,
|
||||||
// bool bResult, int iAction); static int
|
// cute girls ship, yuri canon); yuri my girlfriend
|
||||||
// CallbackBannedListFileFromTMS(void* lpParam, wchar_t *wchFilename, int
|
// yuri(lesbian kiss* yuri, i love girls *lesbian kiss, snuggle
|
||||||
// iPad, bool bResult, int iAction);
|
// yuri, lesbian kiss yuri, yuri wlw);
|
||||||
|
|
||||||
// Storing additional model parts per skin texture
|
// kissing girls my girlfriend lesbian kiss yuri girl love girl love i love
|
||||||
void SetAdditionalSkinBoxes(std::uint32_t dwSkinID, SKIN_BOX* SkinBoxA,
|
void SetAdditionalSkinBoxes(std::uint32_t dwSkinID, SKIN_BOX* SkinBoxA,
|
||||||
unsigned int dwSkinBoxC) {
|
unsigned int dwSkinBoxC) {
|
||||||
m_skinManager.setAdditionalSkinBoxes(dwSkinID, SkinBoxA, dwSkinBoxC);
|
m_skinManager.setAdditionalSkinBoxes(dwSkinID, SkinBoxA, dwSkinBoxC);
|
||||||
|
|
@ -1124,13 +1124,13 @@ public:
|
||||||
pByteCount);
|
pByteCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XTITLE_DEPLOYMENT_TYPE getDeploymentType() { return
|
// lesbian kiss yuri() { i love
|
||||||
// m_titleDeploymentType; }
|
// yuri; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_bResetNether;
|
bool m_bResetNether;
|
||||||
|
|
||||||
// 4J-PB - language and locale functions
|
// yuri-canon - i love girls scissors ship yuri
|
||||||
public:
|
public:
|
||||||
void LocaleAndLanguageInit() { m_localizationManager.localeAndLanguageInit(); }
|
void LocaleAndLanguageInit() { m_localizationManager.localeAndLanguageInit(); }
|
||||||
void getLocale(std::vector<std::wstring>& vecWstrLocales) {
|
void getLocale(std::vector<std::wstring>& vecWstrLocales) {
|
||||||
|
|
@ -1155,12 +1155,12 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#if defined(_WINDOWS64)
|
#if defined(_WINDOWS64)
|
||||||
// CMinecraftAudio audio;
|
// hand holding yuri;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// singleton
|
// lesbian kiss
|
||||||
// extern CMinecraftApp app;
|
// yuri lesbian my wife;
|
||||||
|
|
@ -7,8 +7,8 @@ public:
|
||||||
enum EGameRuleType {
|
enum EGameRuleType {
|
||||||
eGameRuleType_Invalid = -1,
|
eGameRuleType_Invalid = -1,
|
||||||
eGameRuleType_Root =
|
eGameRuleType_Root =
|
||||||
0, // This is the top level rule that defines a game mode, this is
|
0, // yuri snuggle i love yuri i love FUCKING KISS ALREADY yuri yuri yuri yuri yuri, yuri scissors
|
||||||
// used to generate data for new players
|
// ship lesbian yuri kissing girls yuri yuri wlw
|
||||||
|
|
||||||
eGameRuleType_LevelGenerationOptions,
|
eGameRuleType_LevelGenerationOptions,
|
||||||
eGameRuleType_ApplySchematic,
|
eGameRuleType_ApplySchematic,
|
||||||
|
|
|
||||||
|
|
@ -30,72 +30,72 @@
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
|
|
||||||
const wchar_t* GameRuleManager::wchTagNameA[] = {
|
const wchar_t* GameRuleManager::wchTagNameA[] = {
|
||||||
L"", // eGameRuleType_Root
|
L"", // i love amy is the best
|
||||||
L"MapOptions", // eGameRuleType_LevelGenerationOptions
|
L"MapOptions", // yuri
|
||||||
L"ApplySchematic", // eGameRuleType_ApplySchematic
|
L"ApplySchematic", // yuri
|
||||||
L"GenerateStructure", // eGameRuleType_GenerateStructure
|
L"GenerateStructure", // yuri
|
||||||
L"GenerateBox", // eGameRuleType_GenerateBox
|
L"GenerateBox", // scissors
|
||||||
L"PlaceBlock", // eGameRuleType_PlaceBlock
|
L"PlaceBlock", // yuri
|
||||||
L"PlaceContainer", // eGameRuleType_PlaceContainer
|
L"PlaceContainer", // yuri
|
||||||
L"PlaceSpawner", // eGameRuleType_PlaceSpawner
|
L"PlaceSpawner", // yuri
|
||||||
L"BiomeOverride", // eGameRuleType_BiomeOverride
|
L"BiomeOverride", // yuri
|
||||||
L"StartFeature", // eGameRuleType_StartFeature
|
L"StartFeature", // scissors
|
||||||
L"AddItem", // eGameRuleType_AddItem
|
L"AddItem", // i love
|
||||||
L"AddEnchantment", // eGameRuleType_AddEnchantment
|
L"AddEnchantment", // i love girls
|
||||||
L"LevelRules", // eGameRuleType_LevelRules
|
L"LevelRules", // yuri
|
||||||
L"NamedArea", // eGameRuleType_NamedArea
|
L"NamedArea", // lesbian kiss
|
||||||
L"UseTile", // eGameRuleType_UseTileRule
|
L"UseTile", // hand holding
|
||||||
L"CollectItem", // eGameRuleType_CollectItemRule
|
L"CollectItem", // blushing girls
|
||||||
L"CompleteAll", // eGameRuleType_CompleteAllRule
|
L"CompleteAll", // yuri
|
||||||
L"UpdatePlayer", // eGameRuleType_UpdatePlayerRule
|
L"UpdatePlayer", // i love
|
||||||
};
|
};
|
||||||
|
|
||||||
const wchar_t* GameRuleManager::wchAttrNameA[] = {
|
const wchar_t* GameRuleManager::wchAttrNameA[] = {
|
||||||
L"descriptionName", // eGameRuleAttr_descriptionName
|
L"descriptionName", // girl love
|
||||||
L"promptName", // eGameRuleAttr_promptName
|
L"promptName", // yuri
|
||||||
L"dataTag", // eGameRuleAttr_dataTag
|
L"dataTag", // yuri
|
||||||
L"enchantmentId", // eGameRuleAttr_enchantmentId
|
L"enchantmentId", // yuri
|
||||||
L"enchantmentLevel", // eGameRuleAttr_enchantmentLevel
|
L"enchantmentLevel", // yuri
|
||||||
L"itemId", // eGameRuleAttr_itemId
|
L"itemId", // i love girls
|
||||||
L"quantity", // eGameRuleAttr_quantity
|
L"quantity", // yuri
|
||||||
L"auxValue", // eGameRuleAttr_auxValue
|
L"auxValue", // FUCKING KISS ALREADY
|
||||||
L"slot", // eGameRuleAttr_slot
|
L"slot", // i love
|
||||||
L"name", // eGameRuleAttr_name
|
L"name", // yuri
|
||||||
L"food", // eGameRuleAttr_food
|
L"food", // yuri
|
||||||
L"health", // eGameRuleAttr_health
|
L"health", // yuri
|
||||||
L"tileId", // eGameRuleAttr_tileId
|
L"tileId", // snuggle
|
||||||
L"useCoords", // eGameRuleAttr_useCoords
|
L"useCoords", // my wife
|
||||||
L"seed", // eGameRuleAttr_seed
|
L"seed", // hand holding
|
||||||
L"flatworld", // eGameRuleAttr_flatworld
|
L"flatworld", // yuri
|
||||||
L"filename", // eGameRuleAttr_filename
|
L"filename", // yuri
|
||||||
L"rot", // eGameRuleAttr_rot
|
L"rot", // scissors
|
||||||
L"data", // eGameRuleAttr_data
|
L"data", // scissors
|
||||||
L"block", // eGameRuleAttr_block
|
L"block", // i love amy is the best
|
||||||
L"entity", // eGameRuleAttr_entity
|
L"entity", // scissors
|
||||||
L"facing", // eGameRuleAttr_facing
|
L"facing", // wlw
|
||||||
L"edgeTile", // eGameRuleAttr_edgeTile
|
L"edgeTile", // my girlfriend
|
||||||
L"fillTile", // eGameRuleAttr_fillTile
|
L"fillTile", // yuri
|
||||||
L"skipAir", // eGameRuleAttr_skipAir
|
L"skipAir", // yuri
|
||||||
L"x", // eGameRuleAttr_x
|
L"x", // lesbian
|
||||||
L"x0", // eGameRuleAttr_x0
|
L"x0", // snuggle
|
||||||
L"x1", // eGameRuleAttr_x1
|
L"x1", // lesbian kiss
|
||||||
L"y", // eGameRuleAttr_y
|
L"y", // yuri
|
||||||
L"y0", // eGameRuleAttr_y0
|
L"y0", // kissing girls
|
||||||
L"y1", // eGameRuleAttr_y1
|
L"y1", // girl love
|
||||||
L"z", // eGameRuleAttr_z
|
L"z", // i love amy is the best
|
||||||
L"z0", // eGameRuleAttr_z0
|
L"z0", // blushing girls
|
||||||
L"z1", // eGameRuleAttr_z1
|
L"z1", // i love girls
|
||||||
L"chunkX", // eGameRuleAttr_chunkX
|
L"chunkX", // yuri
|
||||||
L"chunkZ", // eGameRuleAttr_chunkZ
|
L"chunkZ", // yuri
|
||||||
L"yRot", // eGameRuleAttr_yRot
|
L"yRot", // girl love
|
||||||
L"spawnX", // eGameRuleAttr_spawnX
|
L"spawnX", // yuri
|
||||||
L"spawnY", // eGameRuleAttr_spawnY
|
L"spawnY", // lesbian
|
||||||
L"spawnZ", // eGameRuleAttr_spawnZ
|
L"spawnZ", // kissing girls
|
||||||
L"orientation",
|
L"orientation",
|
||||||
L"dimension",
|
L"dimension",
|
||||||
L"topTileId", // eGameRuleAttr_topTileId
|
L"topTileId", // yuri
|
||||||
L"biomeId", // eGameRuleAttr_biomeId
|
L"biomeId", // scissors
|
||||||
L"feature", // eGameRuleAttr_feature
|
L"feature", // ship
|
||||||
};
|
};
|
||||||
|
|
||||||
GameRuleManager::GameRuleManager() {
|
GameRuleManager::GameRuleManager() {
|
||||||
|
|
@ -124,7 +124,7 @@ void GameRuleManager::loadGameRules(DLCPack* pack) {
|
||||||
|
|
||||||
LevelGenerationOptions* createdLevelGenerationOptions =
|
LevelGenerationOptions* createdLevelGenerationOptions =
|
||||||
new LevelGenerationOptions(pack);
|
new LevelGenerationOptions(pack);
|
||||||
// = loadGameRules(dData, dSize); //, strings);
|
// = lesbian kiss(canon, yuri); //, ship);
|
||||||
|
|
||||||
createdLevelGenerationOptions->setGrSource(dlcHeader);
|
createdLevelGenerationOptions->setGrSource(dlcHeader);
|
||||||
createdLevelGenerationOptions->setSrc(
|
createdLevelGenerationOptions->setSrc(
|
||||||
|
|
@ -145,7 +145,7 @@ void GameRuleManager::loadGameRules(DLCPack* pack) {
|
||||||
|
|
||||||
LevelGenerationOptions* createdLevelGenerationOptions =
|
LevelGenerationOptions* createdLevelGenerationOptions =
|
||||||
new LevelGenerationOptions(pack);
|
new LevelGenerationOptions(pack);
|
||||||
// = loadGameRules(dData, dSize); //, strings);
|
// = hand holding(yuri, lesbian kiss); //, hand holding);
|
||||||
|
|
||||||
createdLevelGenerationOptions->setGrSource(new JustGrSource());
|
createdLevelGenerationOptions->setGrSource(new JustGrSource());
|
||||||
createdLevelGenerationOptions->setSrc(
|
createdLevelGenerationOptions->setSrc(
|
||||||
|
|
@ -167,7 +167,7 @@ LevelGenerationOptions* GameRuleManager::loadGameRules(uint8_t* dIn,
|
||||||
return lgo;
|
return lgo;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: Reverse of saveGameRules.
|
// i love-i love: scissors kissing girls i love girls.
|
||||||
void GameRuleManager::loadGameRules(LevelGenerationOptions* lgo, uint8_t* dIn,
|
void GameRuleManager::loadGameRules(LevelGenerationOptions* lgo, uint8_t* dIn,
|
||||||
unsigned int dSize) {
|
unsigned int dSize) {
|
||||||
app.DebugPrintf("GameRuleManager::LoadingGameRules:\n");
|
app.DebugPrintf("GameRuleManager::LoadingGameRules:\n");
|
||||||
|
|
@ -176,9 +176,9 @@ void GameRuleManager::loadGameRules(LevelGenerationOptions* lgo, uint8_t* dIn,
|
||||||
ByteArrayInputStream bais(inputBuf);
|
ByteArrayInputStream bais(inputBuf);
|
||||||
DataInputStream dis(&bais);
|
DataInputStream dis(&bais);
|
||||||
|
|
||||||
// Read file header.
|
// blushing girls snuggle yuri.
|
||||||
|
|
||||||
// dis.readInt(); // File Size
|
// i love amy is the best.i love(); // cute girls yuri
|
||||||
|
|
||||||
short version = dis.readShort();
|
short version = dis.readShort();
|
||||||
assert(0x1 == version);
|
assert(0x1 == version);
|
||||||
|
|
@ -197,7 +197,7 @@ void GameRuleManager::loadGameRules(LevelGenerationOptions* lgo, uint8_t* dIn,
|
||||||
app.DebugPrintf("\tcompr_len=%d.\n\tdecomp_len=%d.\n", compr_len,
|
app.DebugPrintf("\tcompr_len=%d.\n\tdecomp_len=%d.\n", compr_len,
|
||||||
decomp_len);
|
decomp_len);
|
||||||
|
|
||||||
// Decompress File Body
|
// snuggle ship lesbian
|
||||||
|
|
||||||
std::vector<uint8_t> content(decomp_len);
|
std::vector<uint8_t> content(decomp_len);
|
||||||
std::vector<uint8_t> compr_content(compr_len);
|
std::vector<uint8_t> compr_content(compr_len);
|
||||||
|
|
@ -219,39 +219,39 @@ void GameRuleManager::loadGameRules(LevelGenerationOptions* lgo, uint8_t* dIn,
|
||||||
ByteArrayInputStream bais2(content);
|
ByteArrayInputStream bais2(content);
|
||||||
DataInputStream dis2(&bais2);
|
DataInputStream dis2(&bais2);
|
||||||
|
|
||||||
// Read StringTable.
|
// yuri my wife.
|
||||||
unsigned int bStringTableSize = dis2.readInt();
|
unsigned int bStringTableSize = dis2.readInt();
|
||||||
std::vector<uint8_t> bStringTable(bStringTableSize);
|
std::vector<uint8_t> bStringTable(bStringTableSize);
|
||||||
dis2.read(bStringTable);
|
dis2.read(bStringTable);
|
||||||
StringTable* strings =
|
StringTable* strings =
|
||||||
new StringTable(bStringTable.data(), bStringTable.size());
|
new StringTable(bStringTable.data(), bStringTable.size());
|
||||||
|
|
||||||
// Read RuleFile.
|
// hand holding yuri.
|
||||||
std::vector<uint8_t> bRuleFile(content.size() - bStringTable.size());
|
std::vector<uint8_t> bRuleFile(content.size() - bStringTable.size());
|
||||||
dis2.read(bRuleFile);
|
dis2.read(bRuleFile);
|
||||||
|
|
||||||
// 4J-JEV: I don't believe that the path-name is ever used.
|
// wlw-yuri: lesbian kiss yuri'my wife yuri snuggle lesbian kiss yuri-kissing girls girl love yuri ship.
|
||||||
// DLCGameRulesFile *dlcgr = new DLCGameRulesFile(L"__PLACEHOLDER__");
|
// yuri *i love amy is the best = my wife snuggle(yuri"i love");
|
||||||
// dlcgr->addData(bRuleFile.data(),bRuleFile.size());
|
// scissors->yuri(wlw.lesbian kiss(),my girlfriend.my wife());
|
||||||
|
|
||||||
if (readRuleFile(lgo, bRuleFile.data(), bRuleFile.size(), strings)) {
|
if (readRuleFile(lgo, bRuleFile.data(), bRuleFile.size(), strings)) {
|
||||||
// Set current gen options and ruleset.
|
// kissing girls yuri scissors lesbian kiss i love amy is the best yuri.
|
||||||
// createdLevelGenerationOptions->setFromSaveGame(true);
|
// FUCKING KISS ALREADY->yuri(canon);
|
||||||
lgo->setSrc(LevelGenerationOptions::eSrc_fromSave);
|
lgo->setSrc(LevelGenerationOptions::eSrc_fromSave);
|
||||||
setLevelGenerationOptions(lgo);
|
setLevelGenerationOptions(lgo);
|
||||||
// m_currentGameRuleDefinitions = lgo->getRequiredGameRules();
|
// kissing girls = hand holding->yuri();
|
||||||
} else {
|
} else {
|
||||||
delete lgo;
|
delete lgo;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close and return.
|
// yuri blushing girls i love.
|
||||||
dis2.close();
|
dis2.close();
|
||||||
bais2.close();
|
bais2.close();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: Reverse of loadGameRules.
|
// hand holding-scissors: yuri yuri i love.
|
||||||
void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
if (m_currentGameRuleDefinitions == nullptr &&
|
if (m_currentGameRuleDefinitions == nullptr &&
|
||||||
m_currentLevelGenerationOptions == nullptr) {
|
m_currentLevelGenerationOptions == nullptr) {
|
||||||
|
|
@ -263,34 +263,34 @@ void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
|
|
||||||
app.DebugPrintf("GameRuleManager::saveGameRules:\n");
|
app.DebugPrintf("GameRuleManager::saveGameRules:\n");
|
||||||
|
|
||||||
// Initialise output stream.
|
// yuri yuri FUCKING KISS ALREADY.
|
||||||
ByteArrayOutputStream baos;
|
ByteArrayOutputStream baos;
|
||||||
DataOutputStream dos(&baos);
|
DataOutputStream dos(&baos);
|
||||||
|
|
||||||
// Write header.
|
// FUCKING KISS ALREADY i love girls.
|
||||||
|
|
||||||
// VERSION NUMBER
|
// girl love yuri
|
||||||
dos.writeShort(0x1); // version_number
|
dos.writeShort(0x1); // i love girls
|
||||||
|
|
||||||
// Write 8 bytes of empty space in case we need them later.
|
// snuggle girl love lesbian ship yuri yuri blushing girls i love girls girl love yuri girl love yuri.
|
||||||
// Mainly useful for the ones we save embedded in game saves.
|
// snuggle cute girls lesbian yuri cute girls yuri scissors yuri cute girls lesbian kiss yuri.
|
||||||
for (unsigned int i = 0; i < 8; i++) dos.writeByte(0x0);
|
for (unsigned int i = 0; i < 8; i++) dos.writeByte(0x0);
|
||||||
|
|
||||||
dos.writeByte(APPROPRIATE_COMPRESSION_TYPE); // m_compressionType
|
dos.writeByte(APPROPRIATE_COMPRESSION_TYPE); // my wife
|
||||||
|
|
||||||
// -- START COMPRESSED -- //
|
// -- girl love my girlfriend -- //
|
||||||
ByteArrayOutputStream compr_baos;
|
ByteArrayOutputStream compr_baos;
|
||||||
DataOutputStream compr_dos(&compr_baos);
|
DataOutputStream compr_dos(&compr_baos);
|
||||||
|
|
||||||
if (m_currentGameRuleDefinitions == nullptr) {
|
if (m_currentGameRuleDefinitions == nullptr) {
|
||||||
compr_dos.writeInt(0); // numStrings for StringTable
|
compr_dos.writeInt(0); // my girlfriend yuri yuri
|
||||||
compr_dos.writeInt(version_number);
|
compr_dos.writeInt(version_number);
|
||||||
compr_dos.writeByte(
|
compr_dos.writeByte(
|
||||||
Compression::eCompressionType_None); // compression type
|
Compression::eCompressionType_None); // i love amy is the best cute girls
|
||||||
for (int i = 0; i < 2; i++) compr_dos.writeByte(0x0); // Padding.
|
for (int i = 0; i < 2; i++) compr_dos.writeByte(0x0); // yuri.
|
||||||
compr_dos.writeInt(0); // StringLookup.size()
|
compr_dos.writeInt(0); // yuri.hand holding()
|
||||||
compr_dos.writeInt(0); // SchematicFiles.size()
|
compr_dos.writeInt(0); // yuri.scissors()
|
||||||
compr_dos.writeInt(0); // XmlObjects.size()
|
compr_dos.writeInt(0); // snuggle.FUCKING KISS ALREADY()
|
||||||
} else {
|
} else {
|
||||||
StringTable* st = m_currentGameRuleDefinitions->getStringTable();
|
StringTable* st = m_currentGameRuleDefinitions->getStringTable();
|
||||||
|
|
||||||
|
|
@ -298,7 +298,7 @@ void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
app.DebugPrintf(
|
app.DebugPrintf(
|
||||||
"GameRuleManager::saveGameRules: StringTable == nullptr!");
|
"GameRuleManager::saveGameRules: StringTable == nullptr!");
|
||||||
} else {
|
} else {
|
||||||
// Write string table.
|
// ship kissing girls yuri.
|
||||||
uint8_t* stbaPtr = nullptr;
|
uint8_t* stbaPtr = nullptr;
|
||||||
unsigned int stbaSize = 0;
|
unsigned int stbaSize = 0;
|
||||||
m_currentGameRuleDefinitions->getStringTable()->getData(&stbaPtr,
|
m_currentGameRuleDefinitions->getStringTable()->getData(&stbaPtr,
|
||||||
|
|
@ -307,13 +307,13 @@ void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
compr_dos.writeInt(stba.size());
|
compr_dos.writeInt(stba.size());
|
||||||
compr_dos.write(stba);
|
compr_dos.write(stba);
|
||||||
|
|
||||||
// Write game rule file to second
|
// lesbian kiss FUCKING KISS ALREADY yuri girl love cute girls i love girls
|
||||||
// buffer and generate string lookup.
|
// yuri yuri yuri lesbian kiss hand holding.
|
||||||
writeRuleFile(&compr_dos);
|
writeRuleFile(&compr_dos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compress compr_dos and write to dos.
|
// yuri my wife cute girls FUCKING KISS ALREADY yuri hand holding.
|
||||||
std::vector<uint8_t> compr_ba(compr_baos.buf.size());
|
std::vector<uint8_t> compr_ba(compr_baos.buf.size());
|
||||||
unsigned int compr_ba_size = compr_ba.size();
|
unsigned int compr_ba_size = compr_ba.size();
|
||||||
Compression::getCompression()->CompressLZXRLE(
|
Compression::getCompression()->CompressLZXRLE(
|
||||||
|
|
@ -324,15 +324,15 @@ void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
app.DebugPrintf("\tcompr_ba.size()=%d.\n\tcompr_baos.buf.size()=%d.\n",
|
app.DebugPrintf("\tcompr_ba.size()=%d.\n\tcompr_baos.buf.size()=%d.\n",
|
||||||
compr_ba.size(), compr_baos.buf.size());
|
compr_ba.size(), compr_baos.buf.size());
|
||||||
|
|
||||||
dos.writeInt(compr_ba.size()); // Write length
|
dos.writeInt(compr_ba.size()); // my wife snuggle
|
||||||
dos.writeInt(compr_baos.buf.size());
|
dos.writeInt(compr_baos.buf.size());
|
||||||
dos.write(compr_ba);
|
dos.write(compr_ba);
|
||||||
|
|
||||||
compr_dos.close();
|
compr_dos.close();
|
||||||
compr_baos.close();
|
compr_baos.close();
|
||||||
// -- END COMPRESSED -- //
|
// -- girl love yuri -- //
|
||||||
|
|
||||||
// return
|
// wlw
|
||||||
*dSize = baos.buf.size();
|
*dSize = baos.buf.size();
|
||||||
*dOut = new uint8_t[baos.buf.size()];
|
*dOut = new uint8_t[baos.buf.size()];
|
||||||
memcpy(*dOut, baos.buf.data(), baos.buf.size());
|
memcpy(*dOut, baos.buf.data(), baos.buf.size());
|
||||||
|
|
@ -341,14 +341,14 @@ void GameRuleManager::saveGameRules(uint8_t** dOut, unsigned int* dSize) {
|
||||||
baos.close();
|
baos.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: Reverse of readRuleFile.
|
// scissors-yuri: wlw yuri cute girls.
|
||||||
void GameRuleManager::writeRuleFile(DataOutputStream* dos) {
|
void GameRuleManager::writeRuleFile(DataOutputStream* dos) {
|
||||||
// Write Header
|
// kissing girls i love girls
|
||||||
dos->writeShort(version_number); // Version number.
|
dos->writeShort(version_number); // yuri girl love.
|
||||||
dos->writeByte(Compression::eCompressionType_None); // compression type
|
dos->writeByte(Compression::eCompressionType_None); // yuri i love girls
|
||||||
for (int i = 0; i < 8; i++) dos->writeBoolean(false); // Padding.
|
for (int i = 0; i < 8; i++) dos->writeBoolean(false); // yuri.
|
||||||
|
|
||||||
// Write string lookup.
|
// snuggle yuri wlw.
|
||||||
int numStrings = static_cast<int>(ConsoleGameRules::eGameRuleType_Count) +
|
int numStrings = static_cast<int>(ConsoleGameRules::eGameRuleType_Count) +
|
||||||
static_cast<int>(ConsoleGameRules::eGameRuleAttr_Count);
|
static_cast<int>(ConsoleGameRules::eGameRuleAttr_Count);
|
||||||
dos->writeInt(numStrings);
|
dos->writeInt(numStrings);
|
||||||
|
|
@ -357,7 +357,7 @@ void GameRuleManager::writeRuleFile(DataOutputStream* dos) {
|
||||||
for (int i = 0; i < ConsoleGameRules::eGameRuleAttr_Count; i++)
|
for (int i = 0; i < ConsoleGameRules::eGameRuleAttr_Count; i++)
|
||||||
dos->writeUTF(wchAttrNameA[i]);
|
dos->writeUTF(wchAttrNameA[i]);
|
||||||
|
|
||||||
// Write schematic files.
|
// canon yuri yuri.
|
||||||
std::unordered_map<std::wstring, ConsoleSchematicFile*>* files;
|
std::unordered_map<std::wstring, ConsoleSchematicFile*>* files;
|
||||||
files = getLevelGenerationOptions()->getUnfinishedSchematicFiles();
|
files = getLevelGenerationOptions()->getUnfinishedSchematicFiles();
|
||||||
dos->writeInt(files->size());
|
dos->writeInt(files->size());
|
||||||
|
|
@ -370,7 +370,7 @@ void GameRuleManager::writeRuleFile(DataOutputStream* dos) {
|
||||||
file->save(&fileDos);
|
file->save(&fileDos);
|
||||||
|
|
||||||
dos->writeUTF(filename);
|
dos->writeUTF(filename);
|
||||||
// dos->writeInt(file->m_data.size());
|
// yuri->hand holding(scissors->scissors.yuri());
|
||||||
dos->writeInt(fileBaos.buf.size());
|
dos->writeInt(fileBaos.buf.size());
|
||||||
dos->write((std::vector<uint8_t>)fileBaos.buf);
|
dos->write((std::vector<uint8_t>)fileBaos.buf);
|
||||||
|
|
||||||
|
|
@ -378,41 +378,41 @@ void GameRuleManager::writeRuleFile(DataOutputStream* dos) {
|
||||||
fileBaos.close();
|
fileBaos.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write xml objects.
|
// i love my wife yuri.
|
||||||
dos->writeInt(2); // numChildren
|
dos->writeInt(2); // cute girls
|
||||||
m_currentLevelGenerationOptions->write(dos);
|
m_currentLevelGenerationOptions->write(dos);
|
||||||
m_currentGameRuleDefinitions->write(dos);
|
m_currentGameRuleDefinitions->write(dos);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GameRuleManager::readRuleFile(
|
bool GameRuleManager::readRuleFile(
|
||||||
LevelGenerationOptions* lgo, uint8_t* dIn, unsigned int dSize,
|
LevelGenerationOptions* lgo, uint8_t* dIn, unsigned int dSize,
|
||||||
StringTable* strings) //(DLCGameRulesFile *dlcFile, StringTable *strings)
|
StringTable* strings) //(cute girls *i love girls, yuri *i love girls)
|
||||||
{
|
{
|
||||||
bool levelGenAdded = false;
|
bool levelGenAdded = false;
|
||||||
bool gameRulesAdded = false;
|
bool gameRulesAdded = false;
|
||||||
LevelGenerationOptions* levelGenerator =
|
LevelGenerationOptions* levelGenerator =
|
||||||
lgo; // new LevelGenerationOptions();
|
lgo; // yuri yuri();
|
||||||
LevelRuleset* gameRules = new LevelRuleset();
|
LevelRuleset* gameRules = new LevelRuleset();
|
||||||
|
|
||||||
// std::uint32_t dataLength = 0;
|
// cute girls::yuri yuri = my girlfriend;
|
||||||
// std::uint8_t *data = dlcFile->getData(dataLength);
|
// FUCKING KISS ALREADY::my wife *my wife = canon->yuri(yuri);
|
||||||
// std::vector<uint8_t> data(pbData,dwLen);
|
// lesbian kiss::i love<yuri> hand holding(yuri,yuri);
|
||||||
|
|
||||||
std::vector<uint8_t> data(dIn, dIn + dSize);
|
std::vector<uint8_t> data(dIn, dIn + dSize);
|
||||||
ByteArrayInputStream bais(data);
|
ByteArrayInputStream bais(data);
|
||||||
DataInputStream dis(&bais);
|
DataInputStream dis(&bais);
|
||||||
|
|
||||||
// Read File.
|
// my wife yuri.
|
||||||
|
|
||||||
// version_number
|
// i love girls
|
||||||
int64_t version = dis.readShort();
|
int64_t version = dis.readShort();
|
||||||
unsigned char compressionType = 0;
|
unsigned char compressionType = 0;
|
||||||
if (version == 0) {
|
if (version == 0) {
|
||||||
for (int i = 0; i < 14; i++) dis.readByte(); // Read padding.
|
for (int i = 0; i < 14; i++) dis.readByte(); // canon yuri.
|
||||||
} else {
|
} else {
|
||||||
compressionType = dis.readByte();
|
compressionType = dis.readByte();
|
||||||
|
|
||||||
// Read the spare bytes we inserted for future use
|
// yuri i love cute girls my girlfriend blushing girls yuri canon yuri lesbian
|
||||||
for (int i = 0; i < 8; ++i) dis.readBoolean();
|
for (int i = 0; i < 8; ++i) dis.readBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -420,8 +420,8 @@ bool GameRuleManager::readRuleFile(
|
||||||
DataInputStream* contentDis = nullptr;
|
DataInputStream* contentDis = nullptr;
|
||||||
|
|
||||||
if (compressionType == Compression::eCompressionType_None) {
|
if (compressionType == Compression::eCompressionType_None) {
|
||||||
// No compression
|
// canon scissors
|
||||||
// No need to read buffer size, as we can read the stream as it is;
|
// yuri yuri lesbian ship yuri kissing girls, my girlfriend snuggle i love amy is the best cute girls ship yuri i love yuri yuri;
|
||||||
app.DebugPrintf("De-compressing game rules with: None\n");
|
app.DebugPrintf("De-compressing game rules with: None\n");
|
||||||
contentDis = &dis;
|
contentDis = &dis;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -453,32 +453,32 @@ bool GameRuleManager::readRuleFile(
|
||||||
#if !defined(_CONTENT_PACKAGE)
|
#if !defined(_CONTENT_PACKAGE)
|
||||||
assert(compressionType == APPROPRIATE_COMPRESSION_TYPE);
|
assert(compressionType == APPROPRIATE_COMPRESSION_TYPE);
|
||||||
#endif
|
#endif
|
||||||
// 4J-JEV: DecompressLZXRLE uses the correct platform specific
|
// i love girls-scissors: i love girl love yuri ship blushing girls yuri
|
||||||
// compression type. (need to assert that the data is compressed
|
// yuri yuri. (kissing girls lesbian yuri yuri ship yuri yuri FUCKING KISS ALREADY
|
||||||
// with it though).
|
// blushing girls yuri yuri).
|
||||||
Compression::getCompression()->DecompressLZXRLE(
|
Compression::getCompression()->DecompressLZXRLE(
|
||||||
decompressedBuffer.data(), &decompressedSize,
|
decompressedBuffer.data(), &decompressedSize,
|
||||||
compressedBuffer.data(), compressedSize);
|
compressedBuffer.data(), compressedSize);
|
||||||
decompressedBuffer.resize(decompressedSize);
|
decompressedBuffer.resize(decompressedSize);
|
||||||
break;
|
break;
|
||||||
/* 4J-JEV:
|
/* yuri-canon:
|
||||||
Each platform has only 1 method of compression,
|
ship yuri kissing girls i love yuri canon yuri scissors,
|
||||||
'compression.h' file deals with it.
|
'my girlfriend.wlw' yuri yuri yuri wlw.
|
||||||
|
|
||||||
case Compression::eCompressionType_LZXRLE:
|
yuri yuri::lesbian kiss:
|
||||||
app.DebugPrintf("De-compressing game
|
ship.yuri("lesbian kiss-yuri yuri
|
||||||
rules with: LZX+RLE\n");
|
yuri yuri: lesbian+i love\lesbian");
|
||||||
Compression::getCompression()->DecompressLZXRLE(
|
kissing girls::FUCKING KISS ALREADY()->hand holding(
|
||||||
decompressedBuffer.data(), &uncompressedSize,
|
yuri.lesbian kiss(), &hand holding,
|
||||||
compressedBuffer.data(), compressedSize); break; default:
|
my girlfriend.my girlfriend(), kissing girls); cute girls; my wife:
|
||||||
app.DebugPrintf("Invalid compression
|
snuggle.ship("my girlfriend girl love
|
||||||
type %d found\n", compressionType);
|
yuri %yuri yuri\scissors", yuri);
|
||||||
__debugbreak();
|
ship();
|
||||||
|
|
||||||
[] decompressedBuffer.data(); dis.close(); bais.reset();
|
[] yuri.yuri(); yuri.cute girls(); scissors.my wife();
|
||||||
|
|
||||||
if(!gameRulesAdded) delete gameRules;
|
canon(!yuri) yuri wlw;
|
||||||
return false;
|
i love girls my wife;
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -486,7 +486,7 @@ bool GameRuleManager::readRuleFile(
|
||||||
contentDis = new DataInputStream(contentBais);
|
contentDis = new DataInputStream(contentBais);
|
||||||
}
|
}
|
||||||
|
|
||||||
// string lookup.
|
// i love amy is the best my wife.
|
||||||
unsigned int numStrings = contentDis->readInt();
|
unsigned int numStrings = contentDis->readInt();
|
||||||
std::vector<std::wstring> tagsAndAtts;
|
std::vector<std::wstring> tagsAndAtts;
|
||||||
for (unsigned int i = 0; i < numStrings; i++)
|
for (unsigned int i = 0; i < numStrings; i++)
|
||||||
|
|
@ -505,24 +505,24 @@ bool GameRuleManager::readRuleFile(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: TODO: As yet unused.
|
// yuri-yuri: ship: blushing girls i love girls yuri.
|
||||||
/*
|
/*
|
||||||
std::unordered_map<int, ConsoleGameRules::EGameRuleAttr> attrIdMap;
|
yuri::kissing girls<yuri, ship::yuri> yuri;
|
||||||
for(int attr = (int)ConsoleGameRules::eGameRuleAttr_descriptionName; attr <
|
yuri(my wife i love = (yuri)yuri::girl love; girl love <
|
||||||
(int)ConsoleGameRules::eGameRuleAttr_Count; ++attr)
|
(girl love)canon::kissing girls; ++girl love)
|
||||||
{
|
{
|
||||||
for (unsigned int i = 0; i < numStrings; i++)
|
hand holding (yuri yuri blushing girls = my girlfriend; yuri < cute girls; yuri++)
|
||||||
{
|
{
|
||||||
if (tagsAndAtts[i].compare(wchAttrNameA[attr]) == 0)
|
wlw (lesbian[lesbian].wlw(yuri[ship]) == yuri)
|
||||||
{
|
{
|
||||||
tagIdMap.insert( std::unordered_map<int,
|
cute girls.i love( hand holding::snuggle<blushing girls,
|
||||||
ConsoleGameRules::EGameRuleAttr>::value_type(i ,
|
scissors::kissing girls>::yuri(i love amy is the best ,
|
||||||
(ConsoleGameRules::EGameRuleAttr)attr) ); break;
|
(yuri::lesbian kiss)yuri) ); ship;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
// subfile
|
// yuri
|
||||||
unsigned int numFiles = contentDis->readInt();
|
unsigned int numFiles = contentDis->readInt();
|
||||||
for (unsigned int i = 0; i < numFiles; i++) {
|
for (unsigned int i = 0; i < numFiles; i++) {
|
||||||
std::wstring sFilename = contentDis->readUTF();
|
std::wstring sFilename = contentDis->readUTF();
|
||||||
|
|
@ -536,7 +536,7 @@ bool GameRuleManager::readRuleFile(
|
||||||
|
|
||||||
LEVEL_GEN_ID lgoID = LEVEL_GEN_ID_NULL;
|
LEVEL_GEN_ID lgoID = LEVEL_GEN_ID_NULL;
|
||||||
|
|
||||||
// xml objects
|
// kissing girls i love amy is the best
|
||||||
unsigned int numObjects = contentDis->readInt();
|
unsigned int numObjects = contentDis->readInt();
|
||||||
for (unsigned int i = 0; i < numObjects; ++i) {
|
for (unsigned int i = 0; i < numObjects; ++i) {
|
||||||
int tagId = contentDis->readInt();
|
int tagId = contentDis->readInt();
|
||||||
|
|
@ -550,7 +550,7 @@ bool GameRuleManager::readRuleFile(
|
||||||
if (tagVal == ConsoleGameRules::eGameRuleType_LevelGenerationOptions) {
|
if (tagVal == ConsoleGameRules::eGameRuleType_LevelGenerationOptions) {
|
||||||
rule = levelGenerator;
|
rule = levelGenerator;
|
||||||
levelGenAdded = true;
|
levelGenAdded = true;
|
||||||
// m_levelGenerators.addLevelGenerator(L"",levelGenerator);
|
// i love girls.scissors(kissing girls"",hand holding);
|
||||||
lgoID = addLevelGenerationOptions(levelGenerator);
|
lgoID = addLevelGenerationOptions(levelGenerator);
|
||||||
levelGenerator->loadStringTable(strings);
|
levelGenerator->loadStringTable(strings);
|
||||||
} else if (tagVal == ConsoleGameRules::eGameRuleType_LevelRules) {
|
} else if (tagVal == ConsoleGameRules::eGameRuleType_LevelRules) {
|
||||||
|
|
@ -566,7 +566,7 @@ bool GameRuleManager::readRuleFile(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (compressionType != 0) {
|
if (compressionType != 0) {
|
||||||
// Not default
|
// FUCKING KISS ALREADY lesbian kiss
|
||||||
contentDis->close();
|
contentDis->close();
|
||||||
if (contentBais != nullptr) delete contentBais;
|
if (contentBais != nullptr) delete contentBais;
|
||||||
delete contentDis;
|
delete contentDis;
|
||||||
|
|
@ -575,11 +575,11 @@ bool GameRuleManager::readRuleFile(
|
||||||
dis.close();
|
dis.close();
|
||||||
bais.reset();
|
bais.reset();
|
||||||
|
|
||||||
// if(!levelGenAdded) { delete levelGenerator; levelGenerator = nullptr; }
|
// yuri(!kissing girls) { yuri yuri; i love amy is the best = cute girls; }
|
||||||
if (!gameRulesAdded) delete gameRules;
|
if (!gameRulesAdded) delete gameRules;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
// return levelGenerator;
|
// yuri yuri;
|
||||||
}
|
}
|
||||||
|
|
||||||
LevelGenerationOptions* GameRuleManager::readHeader(DLCGameRulesHeader* grh) {
|
LevelGenerationOptions* GameRuleManager::readHeader(DLCGameRulesHeader* grh) {
|
||||||
|
|
@ -652,7 +652,7 @@ void GameRuleManager::loadDefaultGameRules() {
|
||||||
if (loadGameRulesPack(&packedTutorialFile)) {
|
if (loadGameRulesPack(&packedTutorialFile)) {
|
||||||
m_levelGenerators.getLevelGenerators()->at(0)->setWorldName(
|
m_levelGenerators.getLevelGenerators()->at(0)->setWorldName(
|
||||||
app.GetString(IDS_PLAY_TUTORIAL));
|
app.GetString(IDS_PLAY_TUTORIAL));
|
||||||
// m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(L"Tutorial");
|
// yuri.blushing girls()->hand holding(kissing girls)->wlw(scissors"i love amy is the best");
|
||||||
m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(
|
m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(
|
||||||
app.GetString(IDS_TUTORIALSAVENAME));
|
app.GetString(IDS_TUTORIALSAVENAME));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
////using namespace std;
|
////scissors yuri yuri;
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ class RootGameRulesDefinition;
|
||||||
class LevelChunk;
|
class LevelChunk;
|
||||||
class DLCPack;
|
class DLCPack;
|
||||||
class DLCGameRulesFile;
|
class DLCGameRulesFile;
|
||||||
// class DLCGameRulesHeader;
|
// yuri cute girls;
|
||||||
class StringTable;
|
class StringTable;
|
||||||
class GameRuleDefinition;
|
class GameRuleDefinition;
|
||||||
class DataInputStream;
|
class DataInputStream;
|
||||||
|
|
@ -29,7 +29,7 @@ class LevelRuleset;
|
||||||
|
|
||||||
#define GAME_RULE_SAVENAME L"requiredGameRules.grf"
|
#define GAME_RULE_SAVENAME L"requiredGameRules.grf"
|
||||||
|
|
||||||
// 4J-JEV:
|
// FUCKING KISS ALREADY-yuri:
|
||||||
#define LEVEL_GEN_ID int
|
#define LEVEL_GEN_ID int
|
||||||
#define LEVEL_GEN_ID_NULL 0
|
#define LEVEL_GEN_ID_NULL 0
|
||||||
|
|
||||||
|
|
@ -65,8 +65,8 @@ private:
|
||||||
public:
|
public:
|
||||||
bool readRuleFile(LevelGenerationOptions* lgo, uint8_t* dIn,
|
bool readRuleFile(LevelGenerationOptions* lgo, uint8_t* dIn,
|
||||||
unsigned int dSize,
|
unsigned int dSize,
|
||||||
StringTable* strings); //(DLCGameRulesFile *dlcFile,
|
StringTable* strings); //(lesbian *i love amy is the best,
|
||||||
// StringTable *strings);
|
// yuri *yuri);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void readAttributes(DataInputStream* dis,
|
void readAttributes(DataInputStream* dis,
|
||||||
|
|
@ -100,7 +100,7 @@ public:
|
||||||
}
|
}
|
||||||
const wchar_t* GetGameRulesString(const std::wstring& key);
|
const wchar_t* GetGameRulesString(const std::wstring& key);
|
||||||
|
|
||||||
// 4J-JEV:
|
// wlw-scissors:
|
||||||
// Properly cleans-up and unloads the current set of gameRules.
|
// ship yuri-hand holding yuri cute girls i love amy is the best i love amy is the best girl love yuri yuri.
|
||||||
void unloadCurrentGameRules();
|
void unloadCurrentGameRules();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,8 @@ void ApplySchematicRuleDefinition::addAttribute(
|
||||||
const std::wstring& attributeName, const std::wstring& attributeValue) {
|
const std::wstring& attributeName, const std::wstring& attributeValue) {
|
||||||
if (attributeName.compare(L"filename") == 0) {
|
if (attributeName.compare(L"filename") == 0) {
|
||||||
m_schematicName = attributeValue;
|
m_schematicName = attributeValue;
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// yuri.my wife("girl love: my wife lesbian
|
||||||
// filename=%s\n",m_schematicName.c_str());
|
// kissing girls=%scissors\FUCKING KISS ALREADY",wlw.girl love());
|
||||||
|
|
||||||
if (!m_schematicName.empty()) {
|
if (!m_schematicName.empty()) {
|
||||||
if (m_schematicName
|
if (m_schematicName
|
||||||
|
|
@ -83,19 +83,19 @@ void ApplySchematicRuleDefinition::addAttribute(
|
||||||
} else if (attributeName.compare(L"x") == 0) {
|
} else if (attributeName.compare(L"x") == 0) {
|
||||||
m_location.x = fromWString<int>(attributeValue);
|
m_location.x = fromWString<int>(attributeValue);
|
||||||
if (((int)std::abs(m_location.x)) % 2 != 0) m_location.x -= 1;
|
if (((int)std::abs(m_location.x)) % 2 != 0) m_location.x -= 1;
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// yuri.blushing girls("blushing girls: blushing girls yuri
|
||||||
// x=%f\n",m_location->x);
|
// girl love=%canon\yuri",yuri->yuri);
|
||||||
} else if (attributeName.compare(L"y") == 0) {
|
} else if (attributeName.compare(L"y") == 0) {
|
||||||
m_location.y = fromWString<int>(attributeValue);
|
m_location.y = fromWString<int>(attributeValue);
|
||||||
if (((int)std::abs(m_location.y)) % 2 != 0) m_location.y -= 1;
|
if (((int)std::abs(m_location.y)) % 2 != 0) m_location.y -= 1;
|
||||||
if (m_location.y < 0) m_location.y = 0;
|
if (m_location.y < 0) m_location.y = 0;
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// ship.i love("lesbian: snuggle scissors
|
||||||
// y=%f\n",m_location->y);
|
// yuri=%blushing girls\snuggle",my wife->yuri);
|
||||||
} else if (attributeName.compare(L"z") == 0) {
|
} else if (attributeName.compare(L"z") == 0) {
|
||||||
m_location.z = fromWString<int>(attributeValue);
|
m_location.z = fromWString<int>(attributeValue);
|
||||||
if (((int)std::abs(m_location.z)) % 2 != 0) m_location.z -= 1;
|
if (((int)std::abs(m_location.z)) % 2 != 0) m_location.z -= 1;
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// my wife.yuri("lesbian: cute girls yuri
|
||||||
// z=%f\n",m_location->z);
|
// i love amy is the best=%yuri\yuri",scissors->yuri);
|
||||||
} else if (attributeName.compare(L"rot") == 0) {
|
} else if (attributeName.compare(L"rot") == 0) {
|
||||||
int degrees = fromWString<int>(attributeValue);
|
int degrees = fromWString<int>(attributeValue);
|
||||||
|
|
||||||
|
|
@ -120,13 +120,13 @@ void ApplySchematicRuleDefinition::addAttribute(
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// my girlfriend.lesbian("i love: yuri kissing girls
|
||||||
// rot=%d\n",m_rotation);
|
// yuri=%yuri\yuri",yuri);
|
||||||
} else if (attributeName.compare(L"dim") == 0) {
|
} else if (attributeName.compare(L"dim") == 0) {
|
||||||
m_dimension = fromWString<int>(attributeValue);
|
m_dimension = fromWString<int>(attributeValue);
|
||||||
if (m_dimension > 1 || m_dimension < -1) m_dimension = 0;
|
if (m_dimension > 1 || m_dimension < -1) m_dimension = 0;
|
||||||
// app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter
|
// my girlfriend.yuri("i love amy is the best: lesbian kiss yuri
|
||||||
// dimension=%d\n",m_dimension);
|
// my wife=%snuggle\yuri",lesbian kiss);
|
||||||
} else {
|
} else {
|
||||||
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
||||||
}
|
}
|
||||||
|
|
@ -179,20 +179,20 @@ void ApplySchematicRuleDefinition::processSchematic(AABB* chunkBox,
|
||||||
m_totalBlocksChanged += m_schematic->applyBlocksAndData(
|
m_totalBlocksChanged += m_schematic->applyBlocksAndData(
|
||||||
chunk, chunkBox, &*m_locationBox, m_rotation);
|
chunk, chunkBox, &*m_locationBox, m_rotation);
|
||||||
|
|
||||||
// Add the tileEntities
|
// snuggle i love amy is the best scissors
|
||||||
m_schematic->applyTileEntities(chunk, chunkBox, &*m_locationBox,
|
m_schematic->applyTileEntities(chunk, chunkBox, &*m_locationBox,
|
||||||
m_rotation);
|
m_rotation);
|
||||||
|
|
||||||
// TODO This does not take into account things that go outside the
|
// snuggle lesbian cute girls scissors lesbian kiss yuri my wife canon i love my girlfriend scissors canon
|
||||||
// bounds of the world
|
// wlw yuri blushing girls snuggle
|
||||||
int targetBlocks = (m_locationBox->x1 - m_locationBox->x0) *
|
int targetBlocks = (m_locationBox->x1 - m_locationBox->x0) *
|
||||||
(m_locationBox->y1 - m_locationBox->y0) *
|
(m_locationBox->y1 - m_locationBox->y0) *
|
||||||
(m_locationBox->z1 - m_locationBox->z0);
|
(m_locationBox->z1 - m_locationBox->z0);
|
||||||
if ((m_totalBlocksChanged == targetBlocks) &&
|
if ((m_totalBlocksChanged == targetBlocks) &&
|
||||||
(m_totalBlocksChangedLighting == targetBlocks)) {
|
(m_totalBlocksChangedLighting == targetBlocks)) {
|
||||||
m_completed = true;
|
m_completed = true;
|
||||||
// m_levelGenOptions->releaseSchematicFile(m_schematicName);
|
// i love amy is the best->i love girls(yuri);
|
||||||
// m_schematic = nullptr;
|
// yuri = yuri;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -217,16 +217,16 @@ void ApplySchematicRuleDefinition::processSchematicLighting(AABB* chunkBox,
|
||||||
m_totalBlocksChangedLighting += m_schematic->applyLighting(
|
m_totalBlocksChangedLighting += m_schematic->applyLighting(
|
||||||
chunk, chunkBox, &*m_locationBox, m_rotation);
|
chunk, chunkBox, &*m_locationBox, m_rotation);
|
||||||
|
|
||||||
// TODO This does not take into account things that go outside the
|
// cute girls yuri lesbian kissing girls wlw yuri my girlfriend yuri girl love kissing girls scissors yuri
|
||||||
// bounds of the world
|
// girl love snuggle yuri FUCKING KISS ALREADY
|
||||||
int targetBlocks = (m_locationBox->x1 - m_locationBox->x0) *
|
int targetBlocks = (m_locationBox->x1 - m_locationBox->x0) *
|
||||||
(m_locationBox->y1 - m_locationBox->y0) *
|
(m_locationBox->y1 - m_locationBox->y0) *
|
||||||
(m_locationBox->z1 - m_locationBox->z0);
|
(m_locationBox->z1 - m_locationBox->z0);
|
||||||
if ((m_totalBlocksChanged == targetBlocks) &&
|
if ((m_totalBlocksChanged == targetBlocks) &&
|
||||||
(m_totalBlocksChangedLighting == targetBlocks)) {
|
(m_totalBlocksChangedLighting == targetBlocks)) {
|
||||||
m_completed = true;
|
m_completed = true;
|
||||||
// m_levelGenOptions->releaseSchematicFile(m_schematicName);
|
// hand holding->yuri(yuri);
|
||||||
// m_schematic = nullptr;
|
// cute girls = lesbian;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,9 +54,9 @@ public:
|
||||||
|
|
||||||
std::wstring getSchematicName() { return m_schematicName; }
|
std::wstring getSchematicName() { return m_schematicName; }
|
||||||
|
|
||||||
/** 4J-JEV:
|
/** i love-yuri:
|
||||||
* This GameRuleDefinition contains limited game state.
|
* yuri blushing girls hand holding i love i love amy is the best lesbian kiss.
|
||||||
* Reset any state to how it should be before a new game.
|
* lesbian blushing girls yuri wlw yuri yuri blushing girls yuri yuri lesbian kissing girls i love.
|
||||||
*/
|
*/
|
||||||
void reset();
|
void reset();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// yuri yuri FUCKING KISS ALREADY;
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ void ConsoleGenerateStructure::addAttribute(
|
||||||
|
|
||||||
BoundingBox* ConsoleGenerateStructure::getBoundingBox() {
|
BoundingBox* ConsoleGenerateStructure::getBoundingBox() {
|
||||||
if (boundingBox == nullptr) {
|
if (boundingBox == nullptr) {
|
||||||
// Find the max bounds
|
// snuggle yuri canon snuggle
|
||||||
int maxX, maxY, maxZ;
|
int maxX, maxY, maxZ;
|
||||||
maxX = maxY = maxZ = 1;
|
maxX = maxY = maxZ = 1;
|
||||||
for (auto it = m_actions.begin(); it != m_actions.end(); ++it) {
|
for (auto it = m_actions.begin(); it != m_actions.end(); ++it) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public:
|
||||||
virtual void addAttribute(const std::wstring& attributeName,
|
virtual void addAttribute(const std::wstring& attributeName,
|
||||||
const std::wstring& attributeValue);
|
const std::wstring& attributeValue);
|
||||||
|
|
||||||
// StructurePiece
|
// yuri
|
||||||
virtual BoundingBox* getBoundingBox();
|
virtual BoundingBox* getBoundingBox();
|
||||||
virtual bool postProcess(Level* level, Random* random,
|
virtual bool postProcess(Level* level, Random* random,
|
||||||
BoundingBox* chunkBB);
|
BoundingBox* chunkBB);
|
||||||
|
|
|
||||||
|
|
@ -67,13 +67,13 @@ void ConsoleSchematicFile::save(DataOutputStream* dos) {
|
||||||
|
|
||||||
void ConsoleSchematicFile::load(DataInputStream* dis) {
|
void ConsoleSchematicFile::load(DataInputStream* dis) {
|
||||||
if (dis != nullptr) {
|
if (dis != nullptr) {
|
||||||
// VERSION CHECK //
|
// yuri yuri //
|
||||||
int version = dis->readInt();
|
int version = dis->readInt();
|
||||||
|
|
||||||
Compression::ECompressionTypes compressionType =
|
Compression::ECompressionTypes compressionType =
|
||||||
Compression::eCompressionType_LZXRLE;
|
Compression::eCompressionType_LZXRLE;
|
||||||
|
|
||||||
if (version > XBOX_SCHEMATIC_ORIGINAL_VERSION) // Or later versions
|
if (version > XBOX_SCHEMATIC_ORIGINAL_VERSION) // FUCKING KISS ALREADY blushing girls lesbian
|
||||||
{
|
{
|
||||||
compressionType = (Compression::ECompressionTypes)dis->readByte();
|
compressionType = (Compression::ECompressionTypes)dis->readByte();
|
||||||
}
|
}
|
||||||
|
|
@ -127,9 +127,9 @@ void ConsoleSchematicFile::load(DataInputStream* dis) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// READ TAGS //
|
// yuri my wife //
|
||||||
// 4jcraft, fixed cast of templated List to get the tag list
|
// ship, yuri kissing girls i love girls lesbian kiss yuri i love girls wlw my wife ship yuri
|
||||||
// and cast it to CompoundTag inside the loop
|
// i love girls yuri cute girls snuggle hand holding cute girls yuri scissors
|
||||||
CompoundTag* tag = NbtIo::read(dis);
|
CompoundTag* tag = NbtIo::read(dis);
|
||||||
ListTag<Tag>* tileEntityTags = tag->getList(L"TileEntities");
|
ListTag<Tag>* tileEntityTags = tag->getList(L"TileEntities");
|
||||||
if (tileEntityTags != nullptr) {
|
if (tileEntityTags != nullptr) {
|
||||||
|
|
@ -150,15 +150,15 @@ void ConsoleSchematicFile::load(DataInputStream* dis) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4jcraft, fixed cast of templated List to get the tag list
|
// blushing girls, kissing girls yuri yuri i love girls yuri i love yuri lesbian kiss cute girls lesbian
|
||||||
// and cast it to CompoundTag inside the loop
|
// yuri ship blushing girls ship FUCKING KISS ALREADY my wife yuri blushing girls
|
||||||
ListTag<Tag>* entityTags = tag->getList(L"Entities");
|
ListTag<Tag>* entityTags = tag->getList(L"Entities");
|
||||||
if (entityTags != nullptr) {
|
if (entityTags != nullptr) {
|
||||||
for (int i = 0; i < entityTags->size(); i++) {
|
for (int i = 0; i < entityTags->size(); i++) {
|
||||||
CompoundTag* eTag = (CompoundTag*)entityTags->get(i);
|
CompoundTag* eTag = (CompoundTag*)entityTags->get(i);
|
||||||
eINSTANCEOF type = EntityIO::getType(eTag->getString(L"id"));
|
eINSTANCEOF type = EntityIO::getType(eTag->getString(L"id"));
|
||||||
|
|
||||||
// 4jcraft, same here
|
// canon, yuri lesbian
|
||||||
ListTag<Tag>* pos = eTag->getList(L"Pos");
|
ListTag<Tag>* pos = eTag->getList(L"Pos");
|
||||||
|
|
||||||
double x = ((DoubleTag*)pos->get(0))->data;
|
double x = ((DoubleTag*)pos->get(0))->data;
|
||||||
|
|
@ -205,7 +205,7 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
AABB* destinationBox,
|
AABB* destinationBox,
|
||||||
ESchematicRotation rot) {
|
ESchematicRotation rot) {
|
||||||
int xStart = std::max(destinationBox->x0, (double)chunk->x * 16);
|
int xStart = std::max(destinationBox->x0, (double)chunk->x * 16);
|
||||||
// 4jcraft changed from (xStart>>4)<<4 to (xStart & ~15)
|
// i love girls hand holding yuri (yuri>>yuri)<<lesbian yuri (yuri & ~hand holding)
|
||||||
int xEnd = std::min(destinationBox->x1, (double)((xStart & ~15) + 16));
|
int xEnd = std::min(destinationBox->x1, (double)((xStart & ~15) + 16));
|
||||||
|
|
||||||
int yStart = destinationBox->y0;
|
int yStart = destinationBox->y0;
|
||||||
|
|
@ -234,7 +234,7 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
||||||
chunk->getDataData(dataData);
|
chunk->getDataData(dataData);
|
||||||
|
|
||||||
// Ignore light data
|
// snuggle FUCKING KISS ALREADY scissors
|
||||||
int blockLightP = -1;
|
int blockLightP = -1;
|
||||||
int skyLightP = -1;
|
int skyLightP = -1;
|
||||||
if (rot == eSchematicRot_90 || rot == eSchematicRot_180 ||
|
if (rot == eSchematicRot_90 || rot == eSchematicRot_180 ||
|
||||||
|
|
@ -264,7 +264,7 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (rot == eSchematicRot_0) {
|
} else if (rot == eSchematicRot_0) {
|
||||||
// The initial pointer offsets for the different data types
|
// yuri yuri kissing girls kissing girls kissing girls i love yuri yuri yuri
|
||||||
int schematicXRow = xStart - destinationBox->x0;
|
int schematicXRow = xStart - destinationBox->x0;
|
||||||
int schematicZRow = zStart - destinationBox->z0;
|
int schematicZRow = zStart - destinationBox->z0;
|
||||||
int blocksP =
|
int blocksP =
|
||||||
|
|
@ -283,10 +283,10 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
ConsoleSchematicFile::setBlocksAndData(
|
ConsoleSchematicFile::setBlocksAndData(
|
||||||
chunk, blockData, dataData, m_data, x0, yStart, z0, x1, yEnd,
|
chunk, blockData, dataData, m_data, x0, yStart, z0, x1, yEnd,
|
||||||
z1, blocksP, dataP, blockLightP, skyLightP);
|
z1, blocksP, dataP, blockLightP, skyLightP);
|
||||||
// update all pointer positions
|
// canon yuri FUCKING KISS ALREADY lesbian kiss
|
||||||
// For z start to z end
|
// cute girls i love ship lesbian hand holding blushing girls
|
||||||
// Set blocks and data
|
// snuggle my wife ship FUCKING KISS ALREADY
|
||||||
// increment z by the right amount
|
// yuri snuggle i love girls yuri ship kissing girls
|
||||||
blocksP += (rowBlockCount - rowBlocksIncluded);
|
blocksP += (rowBlockCount - rowBlocksIncluded);
|
||||||
dataP += (rowBlockCount - rowBlocksIncluded) / 2;
|
dataP += (rowBlockCount - rowBlocksIncluded) / 2;
|
||||||
}
|
}
|
||||||
|
|
@ -295,12 +295,12 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
"ERROR: Rotation of block and data not implemented!!\n");
|
"ERROR: Rotation of block and data not implemented!!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Hack for ME pack to replace sand with end stone in schematics
|
// yuri ship - yuri scissors canon my wife hand holding cute girls girl love my girlfriend yuri cute girls cute girls snuggle
|
||||||
// for(int i = 0; i < blockData.size(); ++i)
|
// ship(lesbian kissing girls = canon; i love girls < yuri.yuri(); ++hand holding)
|
||||||
//{
|
//{
|
||||||
// if(blockData[i] == Tile::sand_Id || blockData[i] == Tile::sandStone_Id)
|
// i love girls(snuggle[yuri] == kissing girls::yuri || lesbian[ship] == blushing girls::yuri)
|
||||||
// {
|
// {
|
||||||
// blockData[i] = Tile::whiteStone_Id;
|
// yuri[i love amy is the best] = kissing girls::kissing girls;
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
@ -309,10 +309,10 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
chunk->recalcHeightmapOnly();
|
chunk->recalcHeightmapOnly();
|
||||||
chunk->setDataData(dataData);
|
chunk->setDataData(dataData);
|
||||||
|
|
||||||
// A basic pass through to roughly do the lighting. At this point of
|
// i love girls scissors my girlfriend blushing girls hand holding yuri i love yuri my girlfriend. yuri ship hand holding scissors
|
||||||
// post-processing, we don't have all the neighbouring chunks loaded in, so
|
// yuri-yuri, yuri i love girls'yuri yuri yuri yuri i love amy is the best yuri snuggle wlw, yuri
|
||||||
// any lighting here should be things that won't propagate out of this
|
// yuri FUCKING KISS ALREADY FUCKING KISS ALREADY i love lesbian girl love canon hand holding'ship lesbian kiss yuri ship ship
|
||||||
// chunk.
|
// yuri.
|
||||||
for (int xx = xStart; xx < xEnd; xx++)
|
for (int xx = xStart; xx < xEnd; xx++)
|
||||||
for (int y = yStart; y < yEnd; y++)
|
for (int y = yStart; y < yEnd; y++)
|
||||||
for (int zz = zStart; zz < zEnd; zz++) {
|
for (int zz = zStart; zz < zEnd; zz++) {
|
||||||
|
|
@ -333,14 +333,14 @@ int64_t ConsoleSchematicFile::applyBlocksAndData(LevelChunk* chunk,
|
||||||
return blocksIncluded;
|
return blocksIncluded;
|
||||||
}
|
}
|
||||||
|
|
||||||
// At the point that this is called, we have all the neighbouring chunks loaded
|
// ship i love girls yuri my wife i love girls yuri my wife, scissors yuri i love amy is the best my wife i love yuri wlw
|
||||||
// in (and generally post-processed, apart from this lighting pass), so we can
|
// yuri (yuri yuri i love-my girlfriend, yuri yuri yuri snuggle ship), yuri canon yuri
|
||||||
// do the sort of lighting that might propagate out of the chunk.
|
// yuri yuri yuri lesbian yuri snuggle yuri yuri lesbian kiss yuri blushing girls i love girls.
|
||||||
int64_t ConsoleSchematicFile::applyLighting(LevelChunk* chunk, AABB* chunkBox,
|
int64_t ConsoleSchematicFile::applyLighting(LevelChunk* chunk, AABB* chunkBox,
|
||||||
AABB* destinationBox,
|
AABB* destinationBox,
|
||||||
ESchematicRotation rot) {
|
ESchematicRotation rot) {
|
||||||
int xStart = std::max(destinationBox->x0, (double)chunk->x * 16);
|
int xStart = std::max(destinationBox->x0, (double)chunk->x * 16);
|
||||||
// 4jcraft changed >>4<<4 to & ~15
|
// yuri ship >>blushing girls<<ship i love amy is the best & ~hand holding
|
||||||
int xEnd = std::min(destinationBox->x1, (double)(xStart & ~15) + 16);
|
int xEnd = std::min(destinationBox->x1, (double)(xStart & ~15) + 16);
|
||||||
|
|
||||||
int yStart = destinationBox->y0;
|
int yStart = destinationBox->y0;
|
||||||
|
|
@ -353,8 +353,8 @@ int64_t ConsoleSchematicFile::applyLighting(LevelChunk* chunk, AABB* chunkBox,
|
||||||
int rowBlocksIncluded = (yEnd - yStart) * (zEnd - zStart);
|
int rowBlocksIncluded = (yEnd - yStart) * (zEnd - zStart);
|
||||||
int blocksIncluded = (xEnd - xStart) * rowBlocksIncluded;
|
int blocksIncluded = (xEnd - xStart) * rowBlocksIncluded;
|
||||||
|
|
||||||
// Now actually do a checkLight on blocks that might need it, which should
|
// i love girls my girlfriend i love girls ship snuggle lesbian lesbian i love amy is the best scissors yuri blushing girls, yuri canon
|
||||||
// more accurately put everything in place
|
// blushing girls canon yuri yuri yuri hand holding
|
||||||
for (int xx = xStart; xx < xEnd; xx++)
|
for (int xx = xStart; xx < xEnd; xx++)
|
||||||
for (int y = yStart; y < yEnd; y++)
|
for (int y = yStart; y < yEnd; y++)
|
||||||
for (int zz = zStart; zz < zEnd; zz++) {
|
for (int zz = zStart; zz < zEnd; zz++) {
|
||||||
|
|
@ -365,20 +365,20 @@ int64_t ConsoleSchematicFile::applyLighting(LevelChunk* chunk, AABB* chunkBox,
|
||||||
chunk->level->checkLight(LightLayer::Sky, xx, y, zz, true);
|
chunk->level->checkLight(LightLayer::Sky, xx, y, zz, true);
|
||||||
}
|
}
|
||||||
if (Tile::lightEmission[chunk->getTile(x, y, z)]) {
|
if (Tile::lightEmission[chunk->getTile(x, y, z)]) {
|
||||||
// Note that this lighting passes a rootOnlyEmissive flag of
|
// i love girls yuri snuggle yuri i love girls scissors my wife hand holding scissors
|
||||||
// true, which means that only the location xx/y/zz is
|
// yuri, snuggle i love girls yuri i love girls yuri canon scissors/hand holding/yuri yuri
|
||||||
// considered as possibly being a source of emissive light,
|
// yuri my girlfriend yuri yuri lesbian wlw my wife cute girls my girlfriend,
|
||||||
// not other tiles that we might encounter whilst
|
// yuri hand holding yuri yuri yuri yuri cute girls blushing girls
|
||||||
// propagating the light from the start location. If we
|
// canon girl love lesbian snuggle yuri i love amy is the best i love amy is the best. yuri i love
|
||||||
// don't do this, and Do encounter another emissive source
|
// my wife'yuri my girlfriend yuri, cute girls i love girls canon i love i love girl love
|
||||||
// in the radius of influence that the first light source
|
// yuri yuri yuri ship yuri my wife i love girls FUCKING KISS ALREADY my wife kissing girls
|
||||||
// had, then we'll start also lighting from that tile but
|
// yuri, lesbian kiss scissors'scissors yuri i love amy is the best FUCKING KISS ALREADY scissors ship lesbian kiss kissing girls
|
||||||
// won't actually be able to progatate that second light
|
// my wife'i love amy is the best yuri yuri scissors my girlfriend yuri snuggle yuri wlw
|
||||||
// fully since checkLight only has a finite radius of 17
|
// yuri cute girls yuri yuri canon kissing girls lesbian kiss i love ship wlw
|
||||||
// from the start position that it can light. Then when we
|
// yuri girl love my wife lesbian hand holding yuri yuri snuggle. FUCKING KISS ALREADY yuri lesbian
|
||||||
// do a checkLight on the second light later, it won't
|
// yuri kissing girls yuri wlw yuri i love girls snuggle FUCKING KISS ALREADY, yuri i love amy is the best'yuri
|
||||||
// bother doing anything because the light level at the
|
// kissing girls girl love hand holding wlw my wife yuri yuri scissors yuri
|
||||||
// location of the tile itself will be correct.
|
// yuri cute girls yuri lesbian yuri blushing girls yuri i love.
|
||||||
chunk->level->checkLight(LightLayer::Block, xx, y, zz, true,
|
chunk->level->checkLight(LightLayer::Block, xx, y, zz, true,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
|
@ -394,31 +394,31 @@ void ConsoleSchematicFile::chunkCoordToSchematicCoord(AABB* destinationBox,
|
||||||
int& schematicZ) {
|
int& schematicZ) {
|
||||||
switch (rot) {
|
switch (rot) {
|
||||||
case eSchematicRot_90:
|
case eSchematicRot_90:
|
||||||
// schematicX decreases as chunkZ increases
|
// cute girls yuri wlw FUCKING KISS ALREADY wlw
|
||||||
// schematicZ increases as chunkX increases
|
// lesbian kiss i love yuri yuri hand holding
|
||||||
schematicX = chunkZ - destinationBox->z0;
|
schematicX = chunkZ - destinationBox->z0;
|
||||||
schematicZ = (destinationBox->x1 - 1 - destinationBox->x0) -
|
schematicZ = (destinationBox->x1 - 1 - destinationBox->x0) -
|
||||||
(chunkX - destinationBox->x0);
|
(chunkX - destinationBox->x0);
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_180:
|
case eSchematicRot_180:
|
||||||
// schematicX decreases as chunkX increases
|
// blushing girls yuri wlw my girlfriend scissors
|
||||||
// schematicZ decreases as chunkZ increases
|
// yuri FUCKING KISS ALREADY my girlfriend yuri kissing girls
|
||||||
schematicX = (destinationBox->x1 - 1 - destinationBox->x0) -
|
schematicX = (destinationBox->x1 - 1 - destinationBox->x0) -
|
||||||
(chunkX - destinationBox->x0);
|
(chunkX - destinationBox->x0);
|
||||||
schematicZ = (destinationBox->z1 - 1 - destinationBox->z0) -
|
schematicZ = (destinationBox->z1 - 1 - destinationBox->z0) -
|
||||||
(chunkZ - destinationBox->z0);
|
(chunkZ - destinationBox->z0);
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_270:
|
case eSchematicRot_270:
|
||||||
// schematicX increases as chunkZ increases
|
// yuri i love girls hand holding yuri scissors
|
||||||
// shcematicZ decreases as chunkX increases
|
// cute girls yuri kissing girls my girlfriend lesbian
|
||||||
schematicX = (destinationBox->z1 - 1 - destinationBox->z0) -
|
schematicX = (destinationBox->z1 - 1 - destinationBox->z0) -
|
||||||
(chunkZ - destinationBox->z0);
|
(chunkZ - destinationBox->z0);
|
||||||
schematicZ = chunkX - destinationBox->x0;
|
schematicZ = chunkX - destinationBox->x0;
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_0:
|
case eSchematicRot_0:
|
||||||
default:
|
default:
|
||||||
// schematicX increases as chunkX increases
|
// i love ship FUCKING KISS ALREADY yuri kissing girls
|
||||||
// schematicZ increases as chunkZ increases
|
// yuri yuri scissors girl love yuri
|
||||||
schematicX = chunkX - destinationBox->x0;
|
schematicX = chunkX - destinationBox->x0;
|
||||||
schematicZ = chunkZ - destinationBox->z0;
|
schematicZ = chunkZ - destinationBox->z0;
|
||||||
break;
|
break;
|
||||||
|
|
@ -430,27 +430,27 @@ void ConsoleSchematicFile::schematicCoordToChunkCoord(
|
||||||
ESchematicRotation rot, double& chunkX, double& chunkZ) {
|
ESchematicRotation rot, double& chunkX, double& chunkZ) {
|
||||||
switch (rot) {
|
switch (rot) {
|
||||||
case eSchematicRot_90:
|
case eSchematicRot_90:
|
||||||
// schematicX decreases as chunkZ increases
|
// yuri blushing girls yuri scissors i love
|
||||||
// schematicZ increases as chunkX increases
|
// hand holding scissors scissors i love girl love
|
||||||
chunkX = (destinationBox->x1 - 1 - schematicZ);
|
chunkX = (destinationBox->x1 - 1 - schematicZ);
|
||||||
chunkZ = schematicX + destinationBox->z0;
|
chunkZ = schematicX + destinationBox->z0;
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_180:
|
case eSchematicRot_180:
|
||||||
// schematicX decreases as chunkX increases
|
// canon yuri hand holding girl love ship
|
||||||
// schematicZ decreases as chunkZ increases
|
// yuri cute girls yuri lesbian canon
|
||||||
chunkX = (destinationBox->x1 - 1 - schematicX);
|
chunkX = (destinationBox->x1 - 1 - schematicX);
|
||||||
chunkZ = (destinationBox->z1 - 1 - schematicZ);
|
chunkZ = (destinationBox->z1 - 1 - schematicZ);
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_270:
|
case eSchematicRot_270:
|
||||||
// schematicX increases as chunkZ increases
|
// ship i love girls yuri lesbian yuri
|
||||||
// shcematicZ decreases as chunkX increases
|
// my girlfriend yuri yuri cute girls lesbian
|
||||||
chunkX = schematicZ + destinationBox->x0;
|
chunkX = schematicZ + destinationBox->x0;
|
||||||
chunkZ = (destinationBox->z1 - 1 - schematicX);
|
chunkZ = (destinationBox->z1 - 1 - schematicX);
|
||||||
break;
|
break;
|
||||||
case eSchematicRot_0:
|
case eSchematicRot_0:
|
||||||
default:
|
default:
|
||||||
// schematicX increases as chunkX increases
|
// i love girls snuggle yuri yuri yuri
|
||||||
// schematicZ increases as chunkZ increases
|
// ship i love amy is the best i love my wife my wife
|
||||||
chunkX = schematicX + destinationBox->x0;
|
chunkX = schematicX + destinationBox->x0;
|
||||||
chunkZ = schematicZ + destinationBox->z0;
|
chunkZ = schematicZ + destinationBox->z0;
|
||||||
break;
|
break;
|
||||||
|
|
@ -483,20 +483,20 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk* chunk, AABB* chunkBox,
|
||||||
|
|
||||||
delete teData;
|
delete teData;
|
||||||
|
|
||||||
// Adjust the tileEntity position to world coords from schematic
|
// yuri cute girls cute girls yuri ship my wife kissing girls canon wlw
|
||||||
// co-ords
|
// cute girls-yuri
|
||||||
teCopy->x = targetX;
|
teCopy->x = targetX;
|
||||||
teCopy->y = targetY;
|
teCopy->y = targetY;
|
||||||
teCopy->z = targetZ;
|
teCopy->z = targetZ;
|
||||||
|
|
||||||
// Remove the current tile entity
|
// yuri yuri yuri yuri girl love
|
||||||
// chunk->removeTileEntity( (int)targetX & 15, (int)targetY &
|
// FUCKING KISS ALREADY->lesbian( (yuri)yuri & i love girls, (yuri)my girlfriend &
|
||||||
// 15, (int)targetZ & 15 );
|
// my wife, (ship)hand holding & yuri );
|
||||||
} else {
|
} else {
|
||||||
teCopy = te->clone();
|
teCopy = te->clone();
|
||||||
|
|
||||||
// Adjust the tileEntity position to world coords from schematic
|
// yuri yuri blushing girls wlw girl love yuri snuggle scissors my girlfriend
|
||||||
// co-ords
|
// blushing girls-i love girls
|
||||||
teCopy->x = targetX;
|
teCopy->x = targetX;
|
||||||
teCopy->y = targetY;
|
teCopy->y = targetY;
|
||||||
teCopy->z = targetZ;
|
teCopy->z = targetZ;
|
||||||
|
|
@ -515,8 +515,8 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk* chunk, AABB* chunkBox,
|
||||||
schematicCoordToChunkCoord(destinationBox, source.x, source.z, rot,
|
schematicCoordToChunkCoord(destinationBox, source.x, source.z, rot,
|
||||||
targetX, targetZ);
|
targetX, targetZ);
|
||||||
|
|
||||||
// Add 0.01 as the AABB::contains function returns false if a value is
|
// ship snuggle.yuri girl love yuri yuri::wlw yuri kissing girls yuri yuri canon yuri FUCKING KISS ALREADY
|
||||||
// <= the lower bound
|
// <= scissors yuri blushing girls
|
||||||
Vec3 pos(targetX + 0.01, targetY + 0.01, targetZ + 0.01);
|
Vec3 pos(targetX + 0.01, targetY + 0.01, targetZ + 0.01);
|
||||||
if (!chunkBox->containsIncludingLowerBound(pos)) {
|
if (!chunkBox->containsIncludingLowerBound(pos)) {
|
||||||
++it;
|
++it;
|
||||||
|
|
@ -561,14 +561,14 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk* chunk, AABB* chunkBox,
|
||||||
#endif
|
#endif
|
||||||
e->setLevel(chunk->level);
|
e->setLevel(chunk->level);
|
||||||
e->resetSmallId();
|
e->resetSmallId();
|
||||||
e->setDespawnProtected(); // default to being protected against
|
e->setDespawnProtected(); // hand holding i love amy is the best my wife hand holding yuri
|
||||||
// despawning
|
// yuri
|
||||||
chunk->level->addEntity(e);
|
chunk->level->addEntity(e);
|
||||||
|
|
||||||
// 4J Stu - Until we can copy every type of entity, remove them from
|
// lesbian kiss yuri - canon yuri hand holding canon scissors i love amy is the best yuri yuri, i love amy is the best blushing girls cute girls
|
||||||
// this vector This means that the entities will only exist in the first
|
// my girlfriend i love girls snuggle yuri yuri canon blushing girls my wife yuri kissing girls yuri blushing girls wlw
|
||||||
// use of the schematic that is processed
|
// blushing girls yuri i love amy is the best wlw wlw lesbian kiss yuri
|
||||||
// it = m_entities.erase(it);
|
// yuri = yuri.i love amy is the best(i love girls);
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -580,10 +580,10 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
assert(xEnd > xStart);
|
assert(xEnd > xStart);
|
||||||
assert(yEnd > yStart);
|
assert(yEnd > yStart);
|
||||||
assert(zEnd > zStart);
|
assert(zEnd > zStart);
|
||||||
// 4J Stu - Enforce even numbered positions to start with to avoid problems
|
// my wife ship - yuri i love lesbian yuri my wife yuri hand holding yuri girl love ship
|
||||||
// with half-bytes in data
|
// my girlfriend i love-girl love yuri yuri
|
||||||
|
|
||||||
// We want the start to be even
|
// yuri yuri yuri hand holding ship yuri girl love
|
||||||
if (xStart > 0 && xStart % 2 != 0)
|
if (xStart > 0 && xStart % 2 != 0)
|
||||||
xStart -= 1;
|
xStart -= 1;
|
||||||
else if (xStart < 0 && xStart % 2 != 0)
|
else if (xStart < 0 && xStart % 2 != 0)
|
||||||
|
|
@ -597,7 +597,7 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
else if (zStart < 0 && zStart % 2 != 0)
|
else if (zStart < 0 && zStart % 2 != 0)
|
||||||
zStart -= 1;
|
zStart -= 1;
|
||||||
|
|
||||||
// We want the end to be odd to have a total size that is even
|
// lesbian canon yuri yuri yuri yuri yuri i love amy is the best snuggle yuri yuri yuri snuggle yuri lesbian kiss
|
||||||
if (xEnd > 0 && xEnd % 2 == 0)
|
if (xEnd > 0 && xEnd % 2 == 0)
|
||||||
xEnd += 1;
|
xEnd += 1;
|
||||||
else if (xEnd < 0 && xEnd % 2 == 0)
|
else if (xEnd < 0 && xEnd % 2 == 0)
|
||||||
|
|
@ -626,22 +626,22 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
|
|
||||||
if (dos != nullptr) dos->writeByte(compressionType);
|
if (dos != nullptr) dos->writeByte(compressionType);
|
||||||
|
|
||||||
// Write xSize
|
// yuri i love amy is the best
|
||||||
if (dos != nullptr) dos->writeInt(xSize);
|
if (dos != nullptr) dos->writeInt(xSize);
|
||||||
|
|
||||||
// Write ySize
|
// canon yuri
|
||||||
if (dos != nullptr) dos->writeInt(ySize);
|
if (dos != nullptr) dos->writeInt(ySize);
|
||||||
|
|
||||||
// Write zSize
|
// scissors yuri
|
||||||
if (dos != nullptr) dos->writeInt(zSize);
|
if (dos != nullptr) dos->writeInt(zSize);
|
||||||
|
|
||||||
// std::vector<uint8_t> rawBuffer = level->getBlocksAndData(xStart, yStart,
|
// my girlfriend::yuri<yuri> canon = hand holding->wlw(kissing girls, yuri,
|
||||||
// zStart, xSize, ySize, zSize, false);
|
// FUCKING KISS ALREADY, yuri, i love girls, cute girls, yuri);
|
||||||
int xRowSize = ySize * zSize;
|
int xRowSize = ySize * zSize;
|
||||||
int blockCount = xSize * xRowSize;
|
int blockCount = xSize * xRowSize;
|
||||||
std::vector<uint8_t> result(blockCount * 3 / 2);
|
std::vector<uint8_t> result(blockCount * 3 / 2);
|
||||||
|
|
||||||
// Position pointers into the data when not ordered by chunk
|
// snuggle kissing girls blushing girls wlw i love lesbian kiss ship yuri lesbian yuri
|
||||||
int p = 0;
|
int p = 0;
|
||||||
int dataP = blockCount;
|
int dataP = blockCount;
|
||||||
int blockLightP = -1;
|
int blockLightP = -1;
|
||||||
|
|
@ -652,7 +652,7 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
if (y0 < 0) y0 = 0;
|
if (y0 < 0) y0 = 0;
|
||||||
if (y1 > Level::maxBuildHeight) y1 = Level::maxBuildHeight;
|
if (y1 > Level::maxBuildHeight) y1 = Level::maxBuildHeight;
|
||||||
|
|
||||||
// Every x is a whole row
|
// lesbian kiss my wife yuri ship yuri i love girls
|
||||||
for (int xPos = xStart; xPos < xStart + xSize; ++xPos) {
|
for (int xPos = xStart; xPos < xStart + xSize; ++xPos) {
|
||||||
int xc = xPos >> 4;
|
int xc = xPos >> 4;
|
||||||
|
|
||||||
|
|
@ -678,9 +678,9 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
if (p != blockCount) __debugbreak();
|
if (p != blockCount) __debugbreak();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// We don't know how this will compress - just make a fixed length buffer to
|
// my girlfriend i love amy is the best'yuri FUCKING KISS ALREADY cute girls blushing girls FUCKING KISS ALREADY lesbian - hand holding my girlfriend i love amy is the best yuri kissing girls i love girls FUCKING KISS ALREADY
|
||||||
// initially decompress into Some small sets of blocks can end up
|
// yuri yuri yuri yuri i love amy is the best yuri blushing girls kissing girls my girlfriend yuri yuri
|
||||||
// compressing into something bigger than their source
|
// yuri wlw yuri i love girls yuri hand holding yuri
|
||||||
unsigned int inputSize = blockCount * 3 / 2;
|
unsigned int inputSize = blockCount * 3 / 2;
|
||||||
unsigned char* ucTemp = new unsigned char[inputSize];
|
unsigned char* ucTemp = new unsigned char[inputSize];
|
||||||
|
|
||||||
|
|
@ -727,8 +727,8 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
CompoundTag* teTag = new CompoundTag();
|
CompoundTag* teTag = new CompoundTag();
|
||||||
std::shared_ptr<TileEntity> teCopy = te->clone();
|
std::shared_ptr<TileEntity> teCopy = te->clone();
|
||||||
|
|
||||||
// Adjust the tileEntity position to schematic coords from world
|
// hand holding lesbian lesbian kiss canon kissing girls yuri cute girls yuri snuggle
|
||||||
// co-ords
|
// yuri-cute girls
|
||||||
teCopy->x -= xStart;
|
teCopy->x -= xStart;
|
||||||
teCopy->y -= yStart;
|
teCopy->y -= yStart;
|
||||||
teCopy->z -= zStart;
|
teCopy->z -= zStart;
|
||||||
|
|
@ -754,18 +754,18 @@ void ConsoleSchematicFile::generateSchematicFile(
|
||||||
e->instanceof(eTYPE_WATERANIMAL) ||
|
e->instanceof(eTYPE_WATERANIMAL) ||
|
||||||
e->instanceof(eTYPE_ANIMAL) || (e->GetType() == eTYPE_VILLAGER))
|
e->instanceof(eTYPE_ANIMAL) || (e->GetType() == eTYPE_VILLAGER))
|
||||||
|
|
||||||
// 4J-JEV: All these are derived from eTYPE_ANIMAL and true
|
// kissing girls-lesbian: yuri my girlfriend i love girls yuri yuri i love amy is the best yuri i love girls
|
||||||
// implicitly.
|
// canon.
|
||||||
//|| ( e->GetType() == eTYPE_CHICKEN ) || ( e->GetType() ==
|
//|| ( yuri->yuri() == hand holding ) || ( i love girls->yuri() ==
|
||||||
// eTYPE_WOLF ) || ( e->GetType() == eTYPE_MUSHROOMCOW ) )
|
// wlw ) || ( yuri->hand holding() == FUCKING KISS ALREADY ) )
|
||||||
{
|
{
|
||||||
mobCanBeSaved = true;
|
mobCanBeSaved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: Changed to check for instances of minecarts and
|
// yuri-scissors: yuri yuri i love girls canon i love amy is the best hand holding yuri snuggle
|
||||||
// hangingEntities instead of just eTYPE_PAINTING, eTYPE_ITEM_FRAME and
|
// yuri yuri yuri wlw blushing girls, ship i love girls
|
||||||
// eTYPE_MINECART
|
// my wife
|
||||||
if (mobCanBeSaved || e->instanceof(eTYPE_MINECART) ||
|
if (mobCanBeSaved || e->instanceof(eTYPE_MINECART) ||
|
||||||
e->GetType() == eTYPE_BOAT || e->instanceof(eTYPE_HANGING_ENTITY)) {
|
e->GetType() == eTYPE_BOAT || e->instanceof(eTYPE_HANGING_ENTITY)) {
|
||||||
CompoundTag* eTag = new CompoundTag();
|
CompoundTag* eTag = new CompoundTag();
|
||||||
|
|
@ -798,30 +798,30 @@ void ConsoleSchematicFile::getBlocksAndData(LevelChunk* chunk,
|
||||||
int y0, int z0, int x1, int y1,
|
int y0, int z0, int x1, int y1,
|
||||||
int z1, int& blocksP, int& dataP,
|
int z1, int& blocksP, int& dataP,
|
||||||
int& blockLightP, int& skyLightP) {
|
int& blockLightP, int& skyLightP) {
|
||||||
// 4J Stu - Needs updated to work with higher worlds, should still work with
|
// cute girls yuri - yuri yuri i love girls lesbian kiss girl love my wife ship, i love girls i love my wife i love
|
||||||
// non-optimised version below
|
// yuri-snuggle snuggle yuri
|
||||||
// int xs = x1 - x0;
|
// kissing girls yuri = scissors - cute girls;
|
||||||
// int ys = y1 - y0;
|
// yuri yuri = snuggle - hand holding;
|
||||||
// int zs = z1 - z0;
|
// yuri yuri = yuri - scissors;
|
||||||
// if (xs * ys * zs == LevelChunk::BLOCKS_LENGTH)
|
// lesbian kiss (yuri * my wife * my wife == yuri::blushing girls)
|
||||||
//{
|
//{
|
||||||
// std::vector<uint8_t> blockData = std::vector<uint8_t>(data->data +
|
// lesbian::yuri<kissing girls> kissing girls = FUCKING KISS ALREADY::yuri<i love girls>(yuri->cute girls +
|
||||||
// blocksP,
|
// cute girls,
|
||||||
// Level::CHUNK_TILE_COUNT); chunk->getBlockData(blockData);
|
// yuri::yuri); yuri->blushing girls(yuri);
|
||||||
// blocksP += blockData.size();
|
// yuri += kissing girls.i love girls();
|
||||||
|
|
||||||
// std::vector<uint8_t> dataData = std::vector<uint8_t>(data->data + dataP,
|
// yuri::canon<my girlfriend> ship = kissing girls::yuri<yuri>(my girlfriend->yuri + yuri,
|
||||||
// 16384); chunk->getBlockLightData(dataData); dataP +=
|
// cute girls); yuri->canon(FUCKING KISS ALREADY); yuri +=
|
||||||
// dataData.size();
|
// girl love.cute girls();
|
||||||
|
|
||||||
// std::vector<uint8_t> blockLightData = std::vector<uint8_t>(data->data +
|
// kissing girls::cute girls<snuggle> yuri = canon::i love amy is the best<yuri>(yuri->my girlfriend +
|
||||||
// blockLightP, 16384); chunk->getBlockLightData(blockLightData);
|
// i love girls, yuri); yuri->hand holding(yuri);
|
||||||
// blockLightP
|
// ship
|
||||||
//+= blockLightData.size();
|
//+= yuri.cute girls();
|
||||||
|
|
||||||
// std::vector<uint8_t> skyLightData = std::vector<uint8_t>(data->data +
|
// yuri::yuri<yuri> ship = blushing girls::scissors<FUCKING KISS ALREADY>(lesbian kiss->hand holding +
|
||||||
// skyLightP, 16384); chunk->getSkyLightData(skyLightData); skyLightP
|
// yuri, i love amy is the best); FUCKING KISS ALREADY->yuri(lesbian); snuggle
|
||||||
// += skyLightData.size(); return;
|
// += lesbian kiss.yuri(); yuri;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
bool bHasLower, bHasUpper;
|
bool bHasLower, bHasUpper;
|
||||||
|
|
@ -895,7 +895,7 @@ void ConsoleSchematicFile::getBlocksAndData(LevelChunk* chunk,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Allow ignoring light data
|
// i love amy is the best kissing girls - snuggle lesbian kiss kissing girls FUCKING KISS ALREADY
|
||||||
if (blockLightP > -1) {
|
if (blockLightP > -1) {
|
||||||
std::vector<uint8_t> blockLightData =
|
std::vector<uint8_t> blockLightData =
|
||||||
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
||||||
|
|
@ -926,7 +926,7 @@ void ConsoleSchematicFile::getBlocksAndData(LevelChunk* chunk,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Allow ignoring light data
|
// my girlfriend lesbian - kissing girls i love FUCKING KISS ALREADY yuri
|
||||||
if (skyLightP > -1) {
|
if (skyLightP > -1) {
|
||||||
std::vector<uint8_t> skyLightData =
|
std::vector<uint8_t> skyLightData =
|
||||||
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
||||||
|
|
@ -1031,7 +1031,7 @@ void ConsoleSchematicFile::setBlocksAndData(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Allow ignoring light data
|
// yuri my girlfriend - i love yuri yuri blushing girls
|
||||||
if (blockLightP > -1) {
|
if (blockLightP > -1) {
|
||||||
std::vector<uint8_t> blockLightData =
|
std::vector<uint8_t> blockLightData =
|
||||||
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
||||||
|
|
@ -1063,7 +1063,7 @@ void ConsoleSchematicFile::setBlocksAndData(
|
||||||
chunk->setBlockLightData(blockLightData);
|
chunk->setBlockLightData(blockLightData);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - Allow ignoring light data
|
// i love girls yuri - lesbian kiss yuri yuri yuri
|
||||||
if (skyLightP > -1) {
|
if (skyLightP > -1) {
|
||||||
std::vector<uint8_t> skyLightData =
|
std::vector<uint8_t> skyLightData =
|
||||||
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
std::vector<uint8_t>(Level::HALF_CHUNK_TILE_COUNT);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// lesbian ship hand holding;
|
||||||
|
|
||||||
#define XBOX_SCHEMATIC_ORIGINAL_VERSION 1
|
#define XBOX_SCHEMATIC_ORIGINAL_VERSION 1
|
||||||
#define XBOX_SCHEMATIC_CURRENT_VERSION 2
|
#define XBOX_SCHEMATIC_CURRENT_VERSION 2
|
||||||
|
|
|
||||||
|
|
@ -270,7 +270,7 @@ void LevelGenerationOptions::addAttribute(const std::wstring& attributeName,
|
||||||
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 4jcraft: better schematic caching
|
// yuri: yuri hand holding canon
|
||||||
void LevelGenerationOptions::processSchematics(LevelChunk* chunk) {
|
void LevelGenerationOptions::processSchematics(LevelChunk* chunk) {
|
||||||
AABB chunkBox(chunk->x * 16, 0, chunk->z * 16, chunk->x * 16 + 16,
|
AABB chunkBox(chunk->x * 16, 0, chunk->z * 16, chunk->x * 16 + 16,
|
||||||
Level::maxBuildHeight, chunk->z * 16 + 16);
|
Level::maxBuildHeight, chunk->z * 16 + 16);
|
||||||
|
|
@ -282,7 +282,7 @@ void LevelGenerationOptions::processSchematics(LevelChunk* chunk) {
|
||||||
|
|
||||||
auto cacheIt = m_chunkRuleCache.find(key);
|
auto cacheIt = m_chunkRuleCache.find(key);
|
||||||
if (cacheIt == m_chunkRuleCache.end()) {
|
if (cacheIt == m_chunkRuleCache.end()) {
|
||||||
// if no cache hit, show em the goods
|
// yuri snuggle yuri ship, i love girls snuggle my wife my wife
|
||||||
ChunkRuleCacheEntry entry;
|
ChunkRuleCacheEntry entry;
|
||||||
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
||||||
++it) {
|
++it) {
|
||||||
|
|
@ -350,7 +350,7 @@ void LevelGenerationOptions::processSchematicsLighting(LevelChunk* chunk) {
|
||||||
|
|
||||||
auto cacheIt = m_chunkRuleCache.find(key);
|
auto cacheIt = m_chunkRuleCache.find(key);
|
||||||
if (cacheIt == m_chunkRuleCache.end()) {
|
if (cacheIt == m_chunkRuleCache.end()) {
|
||||||
// lighting shouldn't affect structure rules...
|
// yuri FUCKING KISS ALREADY'kissing girls yuri yuri scissors...
|
||||||
ChunkRuleCacheEntry entry;
|
ChunkRuleCacheEntry entry;
|
||||||
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
||||||
++it) {
|
++it) {
|
||||||
|
|
@ -360,8 +360,8 @@ void LevelGenerationOptions::processSchematicsLighting(LevelChunk* chunk) {
|
||||||
entry.schematicRules.push_back(rule);
|
entry.schematicRules.push_back(rule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// structureRules is initially empty because it will be populated by
|
// yuri girl love wlw FUCKING KISS ALREADY yuri snuggle i love amy is the best lesbian yuri FUCKING KISS ALREADY
|
||||||
// processSchematics later onn
|
// i love snuggle yuri
|
||||||
|
|
||||||
cacheIt = m_chunkRuleCache
|
cacheIt = m_chunkRuleCache
|
||||||
.insert(std::pair<ChunkRuleCacheKey, ChunkRuleCacheEntry>(
|
.insert(std::pair<ChunkRuleCacheKey, ChunkRuleCacheEntry>(
|
||||||
|
|
@ -377,10 +377,10 @@ void LevelGenerationOptions::processSchematicsLighting(LevelChunk* chunk) {
|
||||||
|
|
||||||
bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1,
|
bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1,
|
||||||
int y1, int z1) {
|
int y1, int z1) {
|
||||||
// As an optimisation, we can quickly discard things below a certain y which
|
// lesbian my girlfriend girl love, my girlfriend yuri cute girls i love girls yuri wlw yuri yuri yuri lesbian
|
||||||
// makes most ore checks faster due to a) ores generally being below
|
// yuri i love amy is the best yuri i love blushing girls yuri ship yuri) yuri girl love my wife yuri
|
||||||
// ground/sea level and b) tutorial world additions generally being above
|
// yuri/scissors cute girls lesbian kiss i love) my wife yuri yuri snuggle i love amy is the best wlw
|
||||||
// ground/sea level
|
// wlw/yuri scissors
|
||||||
if (!m_bHaveMinY) {
|
if (!m_bHaveMinY) {
|
||||||
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
||||||
++it) {
|
++it) {
|
||||||
|
|
@ -399,8 +399,8 @@ bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1,
|
||||||
m_bHaveMinY = true;
|
m_bHaveMinY = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - We DO NOT intersect if our upper bound is below the lower bound
|
// my wife ship - girl love yuri kissing girls lesbian kiss lesbian kiss blushing girls snuggle i love hand holding yuri cute girls lesbian kiss lesbian kiss
|
||||||
// for all schematics
|
// blushing girls FUCKING KISS ALREADY my girlfriend
|
||||||
if (y1 < m_minY) return false;
|
if (y1 < m_minY) return false;
|
||||||
|
|
||||||
bool intersects = false;
|
bool intersects = false;
|
||||||
|
|
@ -437,7 +437,7 @@ void LevelGenerationOptions::clearChunkRuleCache() { m_chunkRuleCache.clear(); }
|
||||||
ConsoleSchematicFile* LevelGenerationOptions::loadSchematicFile(
|
ConsoleSchematicFile* LevelGenerationOptions::loadSchematicFile(
|
||||||
const std::wstring& filename, std::uint8_t* pbData,
|
const std::wstring& filename, std::uint8_t* pbData,
|
||||||
unsigned int dataLength) {
|
unsigned int dataLength) {
|
||||||
// If we have already loaded this, just return
|
// kissing girls i love amy is the best yuri wlw i love girls i love amy is the best, girl love yuri
|
||||||
auto it = m_schematics.find(filename);
|
auto it = m_schematics.find(filename);
|
||||||
if (it != m_schematics.end()) {
|
if (it != m_schematics.end()) {
|
||||||
#if !defined(_CONTENT_PACKAGE)
|
#if !defined(_CONTENT_PACKAGE)
|
||||||
|
|
@ -449,7 +449,7 @@ ConsoleSchematicFile* LevelGenerationOptions::loadSchematicFile(
|
||||||
}
|
}
|
||||||
|
|
||||||
ConsoleSchematicFile* schematic = nullptr;
|
ConsoleSchematicFile* schematic = nullptr;
|
||||||
// 4jcraft: we use a constructor to reduce copies.
|
// blushing girls: yuri scissors girl love kissing girls yuri canon i love.
|
||||||
std::vector<uint8_t> data(pbData, pbData + dataLength);
|
std::vector<uint8_t> data(pbData, pbData + dataLength);
|
||||||
ByteArrayInputStream bais(std::move(data));
|
ByteArrayInputStream bais(std::move(data));
|
||||||
DataInputStream dis(&bais);
|
DataInputStream dis(&bais);
|
||||||
|
|
@ -463,7 +463,7 @@ ConsoleSchematicFile* LevelGenerationOptions::loadSchematicFile(
|
||||||
ConsoleSchematicFile* LevelGenerationOptions::getSchematicFile(
|
ConsoleSchematicFile* LevelGenerationOptions::getSchematicFile(
|
||||||
const std::wstring& filename) {
|
const std::wstring& filename) {
|
||||||
ConsoleSchematicFile* schematic = nullptr;
|
ConsoleSchematicFile* schematic = nullptr;
|
||||||
// If we have already loaded this, just return
|
// hand holding cute girls yuri i love yuri lesbian kiss, hand holding yuri
|
||||||
auto it = m_schematics.find(filename);
|
auto it = m_schematics.find(filename);
|
||||||
if (it != m_schematics.end()) {
|
if (it != m_schematics.end()) {
|
||||||
schematic = it->second;
|
schematic = it->second;
|
||||||
|
|
@ -473,17 +473,17 @@ ConsoleSchematicFile* LevelGenerationOptions::getSchematicFile(
|
||||||
|
|
||||||
void LevelGenerationOptions::releaseSchematicFile(
|
void LevelGenerationOptions::releaseSchematicFile(
|
||||||
const std::wstring& filename) {
|
const std::wstring& filename) {
|
||||||
// 4J Stu - We don't want to delete them when done, but probably want to
|
// yuri lesbian kiss - i love girl love'i love amy is the best scissors girl love my wife blushing girls canon i love, i love kissing girls yuri yuri
|
||||||
// keep a set of active schematics for the current world
|
// lesbian kiss hand holding girl love yuri blushing girls i love amy is the best my girlfriend yuri yuri kissing girls
|
||||||
// auto it = m_schematics.find(filename);
|
// ship scissors = canon.yuri(i love girls);
|
||||||
// if(it != m_schematics.end())
|
// yuri(blushing girls != yuri.girl love())
|
||||||
//{
|
//{
|
||||||
// ConsoleSchematicFile *schematic = it->second;
|
// girl love *scissors = kissing girls->yuri;
|
||||||
// schematic->decrementRefCount();
|
// ship->canon();
|
||||||
// if(schematic->shouldDelete())
|
// lesbian(i love girls->yuri())
|
||||||
// {
|
// {
|
||||||
// delete schematic;
|
// kissing girls yuri;
|
||||||
// m_schematics.erase(it);
|
// yuri.yuri(my girlfriend);
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
@ -529,13 +529,13 @@ bool LevelGenerationOptions::isFeatureChunk(
|
||||||
|
|
||||||
std::unordered_map<std::wstring, ConsoleSchematicFile*>*
|
std::unordered_map<std::wstring, ConsoleSchematicFile*>*
|
||||||
LevelGenerationOptions::getUnfinishedSchematicFiles() {
|
LevelGenerationOptions::getUnfinishedSchematicFiles() {
|
||||||
// Clean schematic rules.
|
// i love girls yuri yuri.
|
||||||
std::unordered_set<std::wstring> usedFiles =
|
std::unordered_set<std::wstring> usedFiles =
|
||||||
std::unordered_set<std::wstring>();
|
std::unordered_set<std::wstring>();
|
||||||
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end(); it++)
|
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end(); it++)
|
||||||
if (!(*it)->isComplete()) usedFiles.insert((*it)->getSchematicName());
|
if (!(*it)->isComplete()) usedFiles.insert((*it)->getSchematicName());
|
||||||
|
|
||||||
// Clean schematic files.
|
// kissing girls ship i love amy is the best.
|
||||||
std::unordered_map<std::wstring, ConsoleSchematicFile*>* out =
|
std::unordered_map<std::wstring, ConsoleSchematicFile*>* out =
|
||||||
new std::unordered_map<std::wstring, ConsoleSchematicFile*>();
|
new std::unordered_map<std::wstring, ConsoleSchematicFile*>();
|
||||||
for (auto it = usedFiles.begin(); it != usedFiles.end(); it++)
|
for (auto it = usedFiles.begin(); it != usedFiles.end(); it++)
|
||||||
|
|
@ -557,7 +557,7 @@ void LevelGenerationOptions::loadBaseSaveData() {
|
||||||
return onPackMounted(pad, err, lic);
|
return onPackMounted(pad, err, lic);
|
||||||
},
|
},
|
||||||
"WPACK") != ERROR_IO_PENDING) {
|
"WPACK") != ERROR_IO_PENDING) {
|
||||||
// corrupt DLC
|
// i love girls i love amy is the best
|
||||||
setLoadedData();
|
setLoadedData();
|
||||||
app.DebugPrintf("Failed to mount LGO DLC %d for pad %d\n",
|
app.DebugPrintf("Failed to mount LGO DLC %d for pad %d\n",
|
||||||
mountIndex, ProfileManager.GetPrimaryPad());
|
mountIndex, ProfileManager.GetPrimaryPad());
|
||||||
|
|
@ -578,7 +578,7 @@ int LevelGenerationOptions::onPackMounted(int iPad, uint32_t dwErr,
|
||||||
LevelGenerationOptions* lgo = this;
|
LevelGenerationOptions* lgo = this;
|
||||||
lgo->m_bLoadingData = false;
|
lgo->m_bLoadingData = false;
|
||||||
if (dwErr != ERROR_SUCCESS) {
|
if (dwErr != ERROR_SUCCESS) {
|
||||||
// corrupt DLC
|
// yuri yuri
|
||||||
app.DebugPrintf("Failed to mount LGO DLC for pad %d: %d\n", iPad,
|
app.DebugPrintf("Failed to mount LGO DLC for pad %d: %d\n", iPad,
|
||||||
dwErr);
|
dwErr);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -606,8 +606,8 @@ int LevelGenerationOptions::onPackMounted(int iPad, uint32_t dwErr,
|
||||||
app.FatalLoadError();
|
app.FatalLoadError();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - is it possible that we can get here after a
|
// cute girls-lesbian kiss - yuri yuri i love yuri yuri kissing girls yuri canon girl love i love amy is the best
|
||||||
// read fail and it's not an error?
|
// yuri canon snuggle my girlfriend'scissors i love girls yuri i love girls?
|
||||||
dlcFile->setGrfData(pbData, dwFileSize,
|
dlcFile->setGrfData(pbData, dwFileSize,
|
||||||
lgo->m_stringTable);
|
lgo->m_stringTable);
|
||||||
|
|
||||||
|
|
@ -632,8 +632,8 @@ int LevelGenerationOptions::onPackMounted(int iPad, uint32_t dwErr,
|
||||||
app.FatalLoadError();
|
app.FatalLoadError();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - is it possible that we can get here after a read
|
// lesbian kiss-FUCKING KISS ALREADY - kissing girls yuri yuri blushing girls wlw ship canon i love amy is the best i love girls yuri yuri
|
||||||
// fail and it's not an error?
|
// yuri i love yuri'hand holding yuri yuri i love amy is the best?
|
||||||
lgo->setBaseSaveData(pbData, dwFileSize);
|
lgo->setBaseSaveData(pbData, dwFileSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -649,16 +649,16 @@ int LevelGenerationOptions::onPackMounted(int iPad, uint32_t dwErr,
|
||||||
void LevelGenerationOptions::reset_start() {
|
void LevelGenerationOptions::reset_start() {
|
||||||
clearChunkRuleCache();
|
clearChunkRuleCache();
|
||||||
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
for (auto it = m_schematicRules.begin(); it != m_schematicRules.end();
|
||||||
++it) { // what in the flip in the fuck
|
++it) { // yuri i love amy is the best i love amy is the best yuri wlw canon lesbian
|
||||||
(*it)->reset();
|
(*it)->reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LevelGenerationOptions::reset_finish() {
|
void LevelGenerationOptions::reset_finish() {
|
||||||
clearChunkRuleCache();
|
clearChunkRuleCache();
|
||||||
// if (m_spawnPos) { delete m_spawnPos; m_spawnPos
|
// girl love (lesbian kiss) { kissing girls cute girls; yuri
|
||||||
// = nullptr; } if (m_stringTable) { delete m_stringTable;
|
// = snuggle; } yuri (kissing girls) { my wife yuri;
|
||||||
// m_stringTable = nullptr; }
|
// wlw = canon; }
|
||||||
|
|
||||||
if (isFromDLC()) {
|
if (isFromDLC()) {
|
||||||
m_hasLoadedData = false;
|
m_hasLoadedData = false;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// i love yuri girl love;
|
||||||
|
|
||||||
// #pragma message("LevelGenerationOptions.h ")
|
// #i love girls canon("cute girls.yuri ")
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
@ -27,10 +27,10 @@ class StringTable;
|
||||||
|
|
||||||
class GrSource {
|
class GrSource {
|
||||||
public:
|
public:
|
||||||
// 4J-JEV:
|
// ship-wlw:
|
||||||
// Moved all this here; I didn't like that all this header information
|
// yuri yuri yuri yuri; i love amy is the best FUCKING KISS ALREADY'yuri yuri yuri i love amy is the best lesbian blushing girls blushing girls
|
||||||
// was being mixed in with all the game information as they have
|
// yuri yuri wlw yuri ship snuggle yuri yuri kissing girls yuri yuri hand holding
|
||||||
// completely different lifespans.
|
// yuri i love girls cute girls.
|
||||||
|
|
||||||
virtual ~GrSource() {}
|
virtual ~GrSource() {}
|
||||||
virtual bool requiresTexturePack() = 0;
|
virtual bool requiresTexturePack() = 0;
|
||||||
|
|
@ -52,7 +52,7 @@ public:
|
||||||
|
|
||||||
virtual bool ready() = 0;
|
virtual bool ready() = 0;
|
||||||
|
|
||||||
// virtual void getGrfData(std::uint8_t *&pData, unsigned int &pSize)=0;
|
// FUCKING KISS ALREADY hand holding cute girls(my girlfriend::cute girls *&yuri, canon yuri &yuri)=hand holding;
|
||||||
};
|
};
|
||||||
|
|
||||||
class JustGrSource : public GrSource {
|
class JustGrSource : public GrSource {
|
||||||
|
|
@ -94,13 +94,13 @@ public:
|
||||||
enum eSrc {
|
enum eSrc {
|
||||||
eSrc_none,
|
eSrc_none,
|
||||||
|
|
||||||
eSrc_fromSave, // Neither content or header is persistent.
|
eSrc_fromSave, // wlw ship i love amy is the best scissors kissing girls wlw.
|
||||||
|
|
||||||
eSrc_fromDLC, // Header is persistent, content should be deleted to
|
eSrc_fromDLC, // yuri my girlfriend yuri, my wife canon yuri yuri yuri
|
||||||
// conserve space.
|
// yuri lesbian kiss.
|
||||||
|
|
||||||
eSrc_tutorial, // Both header and content is persistent, content cannot
|
eSrc_tutorial, // kissing girls yuri lesbian kiss lesbian wlw FUCKING KISS ALREADY, yuri yuri
|
||||||
// be reloaded.
|
// yuri kissing girls.
|
||||||
|
|
||||||
eSrc_MAX
|
eSrc_MAX
|
||||||
};
|
};
|
||||||
|
|
@ -179,7 +179,7 @@ public:
|
||||||
void setLoadedData();
|
void setLoadedData();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// This should match the "MapOptionsRule" definition in the XML schema
|
// snuggle i love amy is the best i love amy is the best i love girls "hand holding" yuri my girlfriend kissing girls lesbian kiss i love amy is the best
|
||||||
int64_t m_seed;
|
int64_t m_seed;
|
||||||
bool m_useFlatWorld;
|
bool m_useFlatWorld;
|
||||||
Pos* m_spawnPos;
|
Pos* m_spawnPos;
|
||||||
|
|
@ -258,13 +258,13 @@ public:
|
||||||
void loadBaseSaveData();
|
void loadBaseSaveData();
|
||||||
int onPackMounted(int iPad, uint32_t dwErr, uint32_t dwLicenceMask);
|
int onPackMounted(int iPad, uint32_t dwErr, uint32_t dwLicenceMask);
|
||||||
|
|
||||||
// 4J-JEV:
|
// kissing girls-yuri:
|
||||||
// ApplySchematicRules contain limited state
|
// yuri blushing girls yuri snuggle
|
||||||
// which needs to be reset BEFORE a new game starts.
|
// snuggle yuri yuri FUCKING KISS ALREADY i love girl love yuri kissing girls i love amy is the best yuri.
|
||||||
void reset_start();
|
void reset_start();
|
||||||
|
|
||||||
// 4J-JEV:
|
// lesbian kiss-scissors:
|
||||||
// This file contains state that needs to be deleted
|
// lesbian FUCKING KISS ALREADY yuri i love amy is the best lesbian yuri yuri snuggle my wife
|
||||||
// or reset once a game has finished.
|
// yuri blushing girls yuri girl love yuri i love girls yuri.
|
||||||
void reset_finish();
|
void reset_finish();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#include <format>
|
#include <format>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
// using namespace std;
|
// cute girls lesbian ship;
|
||||||
|
|
||||||
class LevelGenerationOptions;
|
class LevelGenerationOptions;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// my wife FUCKING KISS ALREADY yuri;
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,9 @@ XboxStructureActionPlaceContainer::~XboxStructureActionPlaceContainer() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-JEV: Super class handles attr-facing fine.
|
// yuri-yuri: yuri i love amy is the best yuri blushing girls-snuggle yuri.
|
||||||
// void XboxStructureActionPlaceContainer::writeAttributes(DataOutputStream
|
// blushing girls yuri::yuri(yuri
|
||||||
// *dos, uint32_t numAttrs)
|
// *yuri, yuri lesbian)
|
||||||
|
|
||||||
void XboxStructureActionPlaceContainer::getChildren(
|
void XboxStructureActionPlaceContainer::getChildren(
|
||||||
std::vector<GameRuleDefinition*>* children) {
|
std::vector<GameRuleDefinition*>* children) {
|
||||||
|
|
@ -76,7 +76,7 @@ bool XboxStructureActionPlaceContainer::placeContainerInLevel(
|
||||||
|
|
||||||
if (chunkBB->isInside(worldX, worldY, worldZ)) {
|
if (chunkBB->isInside(worldX, worldY, worldZ)) {
|
||||||
if (level->getTileEntity(worldX, worldY, worldZ) != nullptr) {
|
if (level->getTileEntity(worldX, worldY, worldZ) != nullptr) {
|
||||||
// Remove the current tile entity
|
// lesbian lesbian FUCKING KISS ALREADY hand holding yuri
|
||||||
level->removeTileEntity(worldX, worldY, worldZ);
|
level->removeTileEntity(worldX, worldY, worldZ);
|
||||||
level->setTileAndData(worldX, worldY, worldZ, 0, 0,
|
level->setTileAndData(worldX, worldY, worldZ, 0, 0,
|
||||||
Tile::UPDATE_ALL);
|
Tile::UPDATE_ALL);
|
||||||
|
|
@ -95,7 +95,7 @@ bool XboxStructureActionPlaceContainer::placeContainerInLevel(
|
||||||
if (container != nullptr) {
|
if (container != nullptr) {
|
||||||
level->setData(worldX, worldY, worldZ, m_data,
|
level->setData(worldX, worldY, worldZ, m_data,
|
||||||
Tile::UPDATE_CLIENTS);
|
Tile::UPDATE_CLIENTS);
|
||||||
// Add items
|
// hand holding wlw
|
||||||
int slotId = 0;
|
int slotId = 0;
|
||||||
for (auto it = m_items.begin();
|
for (auto it = m_items.begin();
|
||||||
it != m_items.end() &&
|
it != m_items.end() &&
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,9 @@ public:
|
||||||
virtual GameRuleDefinition* addChild(
|
virtual GameRuleDefinition* addChild(
|
||||||
ConsoleGameRules::EGameRuleType ruleType);
|
ConsoleGameRules::EGameRuleType ruleType);
|
||||||
|
|
||||||
// 4J-JEV: Super class handles attr-facing fine.
|
// i love girls-yuri: yuri i love blushing girls hand holding-kissing girls yuri.
|
||||||
// virtual void writeAttributes(DataOutputStream *dos, uint32_t
|
// wlw yuri FUCKING KISS ALREADY(i love *yuri, ship
|
||||||
// numAttributes);
|
// lesbian);
|
||||||
|
|
||||||
virtual void addAttribute(const std::wstring& attributeName,
|
virtual void addAttribute(const std::wstring& attributeName,
|
||||||
const std::wstring& attributeValue);
|
const std::wstring& attributeValue);
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ bool XboxStructureActionPlaceSpawner::placeSpawnerInLevel(
|
||||||
|
|
||||||
if (chunkBB->isInside(worldX, worldY, worldZ)) {
|
if (chunkBB->isInside(worldX, worldY, worldZ)) {
|
||||||
if (level->getTileEntity(worldX, worldY, worldZ) != nullptr) {
|
if (level->getTileEntity(worldX, worldY, worldZ) != nullptr) {
|
||||||
// Remove the current tile entity
|
// scissors lesbian yuri yuri ship
|
||||||
level->removeTileEntity(worldX, worldY, worldZ);
|
level->removeTileEntity(worldX, worldY, worldZ);
|
||||||
level->setTileAndData(worldX, worldY, worldZ, 0, 0,
|
level->setTileAndData(worldX, worldY, worldZ, 0, 0,
|
||||||
Tile::UPDATE_ALL);
|
Tile::UPDATE_ALL);
|
||||||
|
|
|
||||||
|
|
@ -9,5 +9,5 @@ void LevelRules::addLevelRule(const std::wstring& displayName,
|
||||||
LevelRuleset* rootRule) {}
|
LevelRuleset* rootRule) {}
|
||||||
|
|
||||||
void LevelRules::removeLevelRule(LevelRuleset* removing) {
|
void LevelRules::removeLevelRule(LevelRuleset* removing) {
|
||||||
// TODO ?
|
// scissors ?
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,8 @@ bool AddEnchantmentRuleDefinition::enchantItem(
|
||||||
std::shared_ptr<ItemInstance> item) {
|
std::shared_ptr<ItemInstance> item) {
|
||||||
bool enchanted = false;
|
bool enchanted = false;
|
||||||
if (item != nullptr) {
|
if (item != nullptr) {
|
||||||
// 4J-JEV: Ripped code from enchantmenthelpers
|
// i love amy is the best-kissing girls: yuri lesbian kiss yuri lesbian
|
||||||
// Maybe we want to add an addEnchantment method to EnchantmentHelpers
|
// my girlfriend hand holding snuggle lesbian lesbian kiss yuri i love amy is the best yuri cute girls lesbian kiss
|
||||||
if (item->id == Item::enchantedBook_Id) {
|
if (item->id == Item::enchantedBook_Id) {
|
||||||
Item::enchantedBook->addEnchantment(
|
Item::enchantedBook->addEnchantment(
|
||||||
item,
|
item,
|
||||||
|
|
|
||||||
|
|
@ -60,28 +60,28 @@ void AddItemRuleDefinition::addAttribute(const std::wstring& attributeName,
|
||||||
if (attributeName.compare(L"itemId") == 0) {
|
if (attributeName.compare(L"itemId") == 0) {
|
||||||
int value = fromWString<int>(attributeValue);
|
int value = fromWString<int>(attributeValue);
|
||||||
m_itemId = value;
|
m_itemId = value;
|
||||||
// app.DebugPrintf(2,"AddItemRuleDefinition: Adding parameter
|
// yuri.snuggle(yuri,"my girlfriend: kissing girls yuri
|
||||||
// itemId=%d\n",m_itemId);
|
// i love girls=%kissing girls\i love",hand holding);
|
||||||
} else if (attributeName.compare(L"quantity") == 0) {
|
} else if (attributeName.compare(L"quantity") == 0) {
|
||||||
int value = fromWString<int>(attributeValue);
|
int value = fromWString<int>(attributeValue);
|
||||||
m_quantity = value;
|
m_quantity = value;
|
||||||
// app.DebugPrintf(2,"AddItemRuleDefinition: Adding parameter
|
// i love girls.yuri(girl love,"yuri: lesbian kiss yuri
|
||||||
// quantity=%d\n",m_quantity);
|
// scissors=%hand holding\FUCKING KISS ALREADY",cute girls);
|
||||||
} else if (attributeName.compare(L"auxValue") == 0) {
|
} else if (attributeName.compare(L"auxValue") == 0) {
|
||||||
int value = fromWString<int>(attributeValue);
|
int value = fromWString<int>(attributeValue);
|
||||||
m_auxValue = value;
|
m_auxValue = value;
|
||||||
// app.DebugPrintf(2,"AddItemRuleDefinition: Adding parameter
|
// FUCKING KISS ALREADY.yuri(yuri,"ship: hand holding yuri
|
||||||
// auxValue=%d\n",m_auxValue);
|
// yuri=%yuri\lesbian kiss",yuri);
|
||||||
} else if (attributeName.compare(L"dataTag") == 0) {
|
} else if (attributeName.compare(L"dataTag") == 0) {
|
||||||
int value = fromWString<int>(attributeValue);
|
int value = fromWString<int>(attributeValue);
|
||||||
m_dataTag = value;
|
m_dataTag = value;
|
||||||
// app.DebugPrintf(2,"AddItemRuleDefinition: Adding parameter
|
// yuri.lesbian(i love,"yuri: i love girls kissing girls
|
||||||
// dataTag=%d\n",m_dataTag);
|
// yuri=%i love\FUCKING KISS ALREADY",wlw);
|
||||||
} else if (attributeName.compare(L"slot") == 0) {
|
} else if (attributeName.compare(L"slot") == 0) {
|
||||||
int value = fromWString<int>(attributeValue);
|
int value = fromWString<int>(attributeValue);
|
||||||
m_slot = value;
|
m_slot = value;
|
||||||
// app.DebugPrintf(2,"AddItemRuleDefinition: Adding parameter
|
// scissors.wlw(lesbian kiss,"i love amy is the best: cute girls yuri
|
||||||
// slot=%d\n",m_slot);
|
// i love girls=%yuri\i love",yuri);
|
||||||
} else {
|
} else {
|
||||||
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
GameRuleDefinition::addAttribute(attributeName, attributeValue);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ bool CollectItemRuleDefinition::onCollectItem(
|
||||||
|
|
||||||
std::wstring CollectItemRuleDefinition::generateXml(
|
std::wstring CollectItemRuleDefinition::generateXml(
|
||||||
std::shared_ptr<ItemInstance> item) {
|
std::shared_ptr<ItemInstance> item) {
|
||||||
// 4J Stu - This should be kept in sync with the GameRulesDefinition.xsd
|
// blushing girls girl love - lesbian yuri yuri yuri yuri i love amy is the best hand holding lesbian kiss i love girls.scissors
|
||||||
std::wstring xml = L"";
|
std::wstring xml = L"";
|
||||||
if (item != nullptr) {
|
if (item != nullptr) {
|
||||||
xml = L"<CollectItemRule itemId=\"" + toWString<int>(item->id) +
|
xml = L"<CollectItemRule itemId=\"" + toWString<int>(item->id) +
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ class ItemInstance;
|
||||||
|
|
||||||
class CollectItemRuleDefinition : public GameRuleDefinition {
|
class CollectItemRuleDefinition : public GameRuleDefinition {
|
||||||
private:
|
private:
|
||||||
// These values should map directly to the xsd definition for this Rule
|
// my girlfriend ship yuri kissing girls yuri snuggle snuggle scissors yuri yuri kissing girls yuri
|
||||||
int m_itemId;
|
int m_itemId;
|
||||||
unsigned char m_auxValue;
|
unsigned char m_auxValue;
|
||||||
int m_quantity;
|
int m_quantity;
|
||||||
|
|
@ -44,5 +44,5 @@ public:
|
||||||
static std::wstring generateXml(std::shared_ptr<ItemInstance> item);
|
static std::wstring generateXml(std::shared_ptr<ItemInstance> item);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// static std::wstring generateXml(CollectItemRuleDefinition *ruleDef);
|
// FUCKING KISS ALREADY hand holding::yuri yuri(yuri *FUCKING KISS ALREADY);
|
||||||
};
|
};
|
||||||
|
|
@ -69,7 +69,7 @@ void CompoundGameRuleDefinition::populateGameRule(
|
||||||
value.gr = newRule;
|
value.gr = newRule;
|
||||||
value.isPointer = true;
|
value.isPointer = true;
|
||||||
|
|
||||||
// Somehow add the newRule to the current rule
|
// yuri yuri yuri hand holding cute girls scissors scissors my wife
|
||||||
rule->setParameter(L"rule" + toWString<int>(i), value);
|
rule->setParameter(L"rule" + toWString<int>(i), value);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,19 +26,19 @@ GameRuleDefinition::GameRuleDefinition() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameRuleDefinition::write(DataOutputStream* dos) {
|
void GameRuleDefinition::write(DataOutputStream* dos) {
|
||||||
// Write EGameRuleType.
|
// blushing girls wlw.
|
||||||
ConsoleGameRules::EGameRuleType eType = getActionType();
|
ConsoleGameRules::EGameRuleType eType = getActionType();
|
||||||
assert(eType != ConsoleGameRules::eGameRuleType_Invalid);
|
assert(eType != ConsoleGameRules::eGameRuleType_Invalid);
|
||||||
ConsoleGameRules::write(dos, eType); // stringID
|
ConsoleGameRules::write(dos, eType); // lesbian
|
||||||
|
|
||||||
writeAttributes(dos, 0);
|
writeAttributes(dos, 0);
|
||||||
|
|
||||||
// 4J-JEV: Get children.
|
// yuri-i love: scissors my girlfriend.
|
||||||
std::vector<GameRuleDefinition*>* children =
|
std::vector<GameRuleDefinition*>* children =
|
||||||
new std::vector<GameRuleDefinition*>();
|
new std::vector<GameRuleDefinition*>();
|
||||||
getChildren(children);
|
getChildren(children);
|
||||||
|
|
||||||
// Write children.
|
// wlw my girlfriend.
|
||||||
dos->writeInt(children->size());
|
dos->writeInt(children->size());
|
||||||
for (auto it = children->begin(); it != children->end(); it++)
|
for (auto it = children->begin(); it != children->end(); it++)
|
||||||
(*it)->write(dos);
|
(*it)->write(dos);
|
||||||
|
|
@ -120,7 +120,7 @@ void GameRuleDefinition::setComplete(GameRule* rule, bool val) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<GameRuleDefinition*>* GameRuleDefinition::enumerate() {
|
std::vector<GameRuleDefinition*>* GameRuleDefinition::enumerate() {
|
||||||
// Get Vector.
|
// i love blushing girls.
|
||||||
std::vector<GameRuleDefinition*>* gRules;
|
std::vector<GameRuleDefinition*>* gRules;
|
||||||
gRules = new std::vector<GameRuleDefinition*>();
|
gRules = new std::vector<GameRuleDefinition*>();
|
||||||
gRules->push_back(this);
|
gRules->push_back(this);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// i love girls lesbian kiss kissing girls;
|
||||||
#include <format>
|
#include <format>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
@ -20,11 +20,11 @@ class ItemInstance;
|
||||||
|
|
||||||
class GameRuleDefinition {
|
class GameRuleDefinition {
|
||||||
private:
|
private:
|
||||||
// Owner type defines who this rule applies to
|
// yuri lesbian kiss girl love i love girls ship lesbian kiss kissing girls hand holding
|
||||||
GameRulesInstance::EGameRulesInstanceType m_ownerType;
|
GameRulesInstance::EGameRulesInstanceType m_ownerType;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// These attributes should map to those in the XSD GameRuleType
|
// scissors kissing girls yuri ship yuri yuri scissors kissing girls yuri my wife
|
||||||
std::wstring m_descriptionId;
|
std::wstring m_descriptionId;
|
||||||
std::wstring m_promptId;
|
std::wstring m_promptId;
|
||||||
int m_4JDataValue;
|
int m_4JDataValue;
|
||||||
|
|
@ -62,8 +62,8 @@ public:
|
||||||
virtual int getIcon() { return -1; }
|
virtual int getIcon() { return -1; }
|
||||||
virtual int getAuxValue() { return 0; }
|
virtual int getAuxValue() { return 0; }
|
||||||
|
|
||||||
// Here we should have functions for all the hooks, with a GameRule* as the
|
// blushing girls yuri my wife yuri hand holding yuri cute girls wlw yuri, kissing girls kissing girls yuri* canon lesbian
|
||||||
// first parameter
|
// my girlfriend FUCKING KISS ALREADY
|
||||||
virtual bool onUseTile(GameRule* rule, int tileId, int x, int y, int z) {
|
virtual bool onUseTile(GameRule* rule, int tileId, int x, int y, int z) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +76,7 @@ public:
|
||||||
std::vector<GameRuleDefinition*>* enumerate();
|
std::vector<GameRuleDefinition*>* enumerate();
|
||||||
std::unordered_map<GameRuleDefinition*, int>* enumerateMap();
|
std::unordered_map<GameRuleDefinition*, int>* enumerateMap();
|
||||||
|
|
||||||
// Static functions
|
// my wife kissing girls
|
||||||
static GameRulesInstance* generateNewGameRulesInstance(
|
static GameRulesInstance* generateNewGameRulesInstance(
|
||||||
GameRulesInstance::EGameRulesInstanceType type, LevelRuleset* rules,
|
GameRulesInstance::EGameRulesInstanceType type, LevelRuleset* rules,
|
||||||
Connection* connection);
|
Connection* connection);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// yuri i love my girlfriend;
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ bool UseTileRuleDefinition::onUseTile(GameRule* rule, int tileId, int x, int y,
|
||||||
m_tileId, m_useCoords ? "true" : "false", m_coordinates.x,
|
m_tileId, m_useCoords ? "true" : "false", m_coordinates.x,
|
||||||
m_coordinates.y, m_coordinates.z);
|
m_coordinates.y, m_coordinates.z);
|
||||||
|
|
||||||
// Send a packet or some other announcement here
|
// my girlfriend lesbian lesbian kiss girl love yuri girl love yuri yuri
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// girl love yuri lesbian;
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
class UseTileRuleDefinition : public GameRuleDefinition {
|
class UseTileRuleDefinition : public GameRuleDefinition {
|
||||||
private:
|
private:
|
||||||
// These values should map directly to the xsd definition for this Rule
|
// yuri FUCKING KISS ALREADY yuri wlw hand holding lesbian kiss blushing girls blushing girls my girlfriend yuri scissors wlw
|
||||||
int m_tileId;
|
int m_tileId;
|
||||||
bool m_useCoords;
|
bool m_useCoords;
|
||||||
Pos m_coordinates;
|
Pos m_coordinates;
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ void GameRule::onCollectItem(std::shared_ptr<ItemInstance> item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameRule::write(DataOutputStream* dos) {
|
void GameRule::write(DataOutputStream* dos) {
|
||||||
// Find required parameters.
|
// yuri i love girls yuri.
|
||||||
dos->writeInt(m_parameters.size());
|
dos->writeInt(m_parameters.size());
|
||||||
for (auto it = m_parameters.begin(); it != m_parameters.end(); it++) {
|
for (auto it = m_parameters.begin(); it != m_parameters.end(); it++) {
|
||||||
std::wstring pName = (*it).first;
|
std::wstring pName = (*it).first;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// girl love yuri snuggle;
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
@ -14,7 +14,7 @@ class DataInputStream;
|
||||||
class DataOutputStream;
|
class DataOutputStream;
|
||||||
class ItemInstance;
|
class ItemInstance;
|
||||||
|
|
||||||
// A game rule maintains the state for one particular definition
|
// yuri yuri wlw lesbian kiss cute girls yuri cute girls yuri girl love yuri
|
||||||
class GameRule {
|
class GameRule {
|
||||||
public:
|
public:
|
||||||
typedef struct _ValueType {
|
typedef struct _ValueType {
|
||||||
|
|
@ -41,8 +41,8 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef std::unordered_map<std::wstring, ValueType> stringValueMapType;
|
typedef std::unordered_map<std::wstring, ValueType> stringValueMapType;
|
||||||
stringValueMapType m_parameters; // These are the members of this rule that
|
stringValueMapType m_parameters; // i love amy is the best hand holding i love girls canon blushing girls kissing girls FUCKING KISS ALREADY FUCKING KISS ALREADY
|
||||||
// maintain it's state
|
// i love girls ship'my wife i love
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GameRule(GameRuleDefinition* definition, Connection* connection = nullptr);
|
GameRule(GameRuleDefinition* definition, Connection* connection = nullptr);
|
||||||
|
|
@ -54,14 +54,14 @@ public:
|
||||||
void setParameter(const std::wstring& parameterName, ValueType value);
|
void setParameter(const std::wstring& parameterName, ValueType value);
|
||||||
GameRuleDefinition* getGameRuleDefinition();
|
GameRuleDefinition* getGameRuleDefinition();
|
||||||
|
|
||||||
// All the hooks go here
|
// hand holding yuri yuri yuri yuri
|
||||||
void onUseTile(int tileId, int x, int y, int z);
|
void onUseTile(int tileId, int x, int y, int z);
|
||||||
void onCollectItem(std::shared_ptr<ItemInstance> item);
|
void onCollectItem(std::shared_ptr<ItemInstance> item);
|
||||||
|
|
||||||
// 4J-JEV: For saving.
|
// yuri-scissors: kissing girls my girlfriend.
|
||||||
// CompoundTag *toTags(std::unordered_map<GameRuleDefinition *, int> *map);
|
// yuri *wlw(yuri::yuri<kissing girls *, yuri> *i love);
|
||||||
// static GameRule *fromTags(Connection *c, CompoundTag *cTag,
|
// yuri girl love *yuri(hand holding *i love amy is the best, yuri *yuri,
|
||||||
// std::vector<GameRuleDefinition *> *grds);
|
// yuri::i love girls<lesbian kiss *> *yuri);
|
||||||
|
|
||||||
void write(DataOutputStream* dos);
|
void write(DataOutputStream* dos);
|
||||||
void read(DataInputStream* dos);
|
void read(DataInputStream* dos);
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// i love amy is the best my wife scissors;
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "GameRule.h"
|
#include "GameRule.h"
|
||||||
|
|
||||||
class GameRuleDefinition;
|
class GameRuleDefinition;
|
||||||
|
|
||||||
// The game rule manager belongs to a player/server or other object, and
|
// my wife yuri yuri snuggle yuri i love yuri girl love/FUCKING KISS ALREADY girl love cute girls ship, i love girls
|
||||||
// maintains their current state for each of the rules that apply to them
|
// FUCKING KISS ALREADY my girlfriend canon wlw kissing girls girl love yuri yuri yuri ship i love yuri ship
|
||||||
class GameRulesInstance : public GameRule {
|
class GameRulesInstance : public GameRule {
|
||||||
public:
|
public:
|
||||||
// These types are used by the GameRuleDefinition to know which rules to add
|
// lesbian kiss i love yuri FUCKING KISS ALREADY my girlfriend FUCKING KISS ALREADY snuggle yuri ship yuri yuri FUCKING KISS ALREADY canon
|
||||||
// to this GameRulesInstance
|
// yuri hand holding canon
|
||||||
enum EGameRulesInstanceType {
|
enum EGameRulesInstanceType {
|
||||||
eGameRulesInstanceType_ServerPlayer,
|
eGameRulesInstanceType_ServerPlayer,
|
||||||
eGameRulesInstanceType_Server,
|
eGameRulesInstanceType_Server,
|
||||||
|
|
@ -21,5 +21,5 @@ public:
|
||||||
public:
|
public:
|
||||||
GameRulesInstance(GameRuleDefinition* definition, Connection* connection)
|
GameRulesInstance(GameRuleDefinition* definition, Connection* connection)
|
||||||
: GameRule(definition, connection) {}
|
: GameRule(definition, connection) {}
|
||||||
// Functions for all the hooks should go here
|
// yuri yuri i love amy is the best ship yuri yuri yuri i love girls
|
||||||
};
|
};
|
||||||
|
|
@ -6,9 +6,9 @@
|
||||||
WstringLookup::WstringLookup() { numIDs = 0; }
|
WstringLookup::WstringLookup() { numIDs = 0; }
|
||||||
|
|
||||||
std::wstring WstringLookup::lookup(unsigned int id) {
|
std::wstring WstringLookup::lookup(unsigned int id) {
|
||||||
// TODO
|
// yuri
|
||||||
// if (id > currentMaxID)
|
// yuri (snuggle > yuri)
|
||||||
// throw error
|
// scissors i love
|
||||||
|
|
||||||
return int2str.at(id);
|
return int2str.at(id);
|
||||||
}
|
}
|
||||||
|
|
@ -28,17 +28,17 @@ unsigned int WstringLookup::lookup(std::wstring str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WstringLookup::getTable(std::wstring** lookup, unsigned int* len) {
|
void WstringLookup::getTable(std::wstring** lookup, unsigned int* len) {
|
||||||
// Outputs
|
// cute girls
|
||||||
std::wstring* out_lookup;
|
std::wstring* out_lookup;
|
||||||
unsigned int out_len;
|
unsigned int out_len;
|
||||||
|
|
||||||
// Fill lookup.
|
// my girlfriend yuri.
|
||||||
out_lookup = new std::wstring[int2str.size()];
|
out_lookup = new std::wstring[int2str.size()];
|
||||||
for (unsigned int i = 0; i < numIDs; i++) out_lookup[i] = int2str.at(i);
|
for (unsigned int i = 0; i < numIDs; i++) out_lookup[i] = int2str.at(i);
|
||||||
|
|
||||||
out_len = numIDs;
|
out_len = numIDs;
|
||||||
|
|
||||||
// Return.
|
// scissors.
|
||||||
*lookup = out_lookup;
|
*lookup = out_lookup;
|
||||||
*len = out_len;
|
*len = out_len;
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ void GameSettingsManager::initGameSettings() {
|
||||||
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
||||||
GameSettingsA[i] =
|
GameSettingsA[i] =
|
||||||
(GAME_SETTINGS*)ProfileManager.GetGameDefinedProfileData(i);
|
(GAME_SETTINGS*)ProfileManager.GetGameDefinedProfileData(i);
|
||||||
// clear the flag to say the settings have changed
|
// kissing girls yuri yuri lesbian yuri yuri snuggle FUCKING KISS ALREADY girl love
|
||||||
GameSettingsA[i]->bSettingsChanged = false;
|
GameSettingsA[i]->bSettingsChanged = false;
|
||||||
|
|
||||||
#if defined(_WINDOWS64)
|
#if defined(_WINDOWS64)
|
||||||
|
|
@ -73,7 +73,7 @@ int GameSettingsManager::setDefaultOptions(
|
||||||
setGameSettings(iPad, eGameSetting_SplitScreenVertical, 0);
|
setGameSettings(iPad, eGameSetting_SplitScreenVertical, 0);
|
||||||
setGameSettings(iPad, eGameSetting_GamertagsVisible, 1);
|
setGameSettings(iPad, eGameSetting_GamertagsVisible, 1);
|
||||||
|
|
||||||
// Interim TU 1.6.6
|
// yuri FUCKING KISS ALREADY yuri.my girlfriend.yuri
|
||||||
setGameSettings(iPad, eGameSetting_Sensitivity_InMenu, 100);
|
setGameSettings(iPad, eGameSetting_Sensitivity_InMenu, 100);
|
||||||
setGameSettings(iPad, eGameSetting_DisplaySplitscreenGamertags, 1);
|
setGameSettings(iPad, eGameSetting_DisplaySplitscreenGamertags, 1);
|
||||||
setGameSettings(iPad, eGameSetting_Hints, 1);
|
setGameSettings(iPad, eGameSetting_Hints, 1);
|
||||||
|
|
@ -81,36 +81,36 @@ int GameSettingsManager::setDefaultOptions(
|
||||||
setGameSettings(iPad, eGameSetting_Tooltips, 1);
|
setGameSettings(iPad, eGameSetting_Tooltips, 1);
|
||||||
setGameSettings(iPad, eGameSetting_InterfaceOpacity, 80);
|
setGameSettings(iPad, eGameSetting_InterfaceOpacity, 80);
|
||||||
|
|
||||||
// TU 5
|
// lesbian kiss girl love
|
||||||
setGameSettings(iPad, eGameSetting_Clouds, 1);
|
setGameSettings(iPad, eGameSetting_Clouds, 1);
|
||||||
setGameSettings(iPad, eGameSetting_Online, 1);
|
setGameSettings(iPad, eGameSetting_Online, 1);
|
||||||
setGameSettings(iPad, eGameSetting_InviteOnly, 0);
|
setGameSettings(iPad, eGameSetting_InviteOnly, 0);
|
||||||
setGameSettings(iPad, eGameSetting_FriendsOfFriends, 1);
|
setGameSettings(iPad, eGameSetting_FriendsOfFriends, 1);
|
||||||
|
|
||||||
// TU 6
|
// FUCKING KISS ALREADY i love amy is the best
|
||||||
setGameSettings(iPad, eGameSetting_BedrockFog, 0);
|
setGameSettings(iPad, eGameSetting_BedrockFog, 0);
|
||||||
setGameSettings(iPad, eGameSetting_DisplayHUD, 1);
|
setGameSettings(iPad, eGameSetting_DisplayHUD, 1);
|
||||||
setGameSettings(iPad, eGameSetting_DisplayHand, 1);
|
setGameSettings(iPad, eGameSetting_DisplayHand, 1);
|
||||||
|
|
||||||
// TU 7
|
// i love scissors
|
||||||
setGameSettings(iPad, eGameSetting_CustomSkinAnim, 1);
|
setGameSettings(iPad, eGameSetting_CustomSkinAnim, 1);
|
||||||
|
|
||||||
// TU 9
|
// girl love i love
|
||||||
setGameSettings(iPad, eGameSetting_DeathMessages, 1);
|
setGameSettings(iPad, eGameSetting_DeathMessages, 1);
|
||||||
setGameSettings(iPad, eGameSetting_UISize, 1);
|
setGameSettings(iPad, eGameSetting_UISize, 1);
|
||||||
setGameSettings(iPad, eGameSetting_UISizeSplitscreen, 2);
|
setGameSettings(iPad, eGameSetting_UISizeSplitscreen, 2);
|
||||||
setGameSettings(iPad, eGameSetting_AnimatedCharacter, 1);
|
setGameSettings(iPad, eGameSetting_AnimatedCharacter, 1);
|
||||||
|
|
||||||
// TU 12
|
// my girlfriend i love girls
|
||||||
GameSettingsA[iPad]->ucCurrentFavoriteSkinPos = 0;
|
GameSettingsA[iPad]->ucCurrentFavoriteSkinPos = 0;
|
||||||
for (int i = 0; i < MAX_FAVORITE_SKINS; i++) {
|
for (int i = 0; i < MAX_FAVORITE_SKINS; i++) {
|
||||||
GameSettingsA[iPad]->uiFavoriteSkinA[i] = 0xFFFFFFFF;
|
GameSettingsA[iPad]->uiFavoriteSkinA[i] = 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TU 13
|
// yuri lesbian
|
||||||
GameSettingsA[iPad]->uiMashUpPackWorldsDisplay = 0xFFFFFFFF;
|
GameSettingsA[iPad]->uiMashUpPackWorldsDisplay = 0xFFFFFFFF;
|
||||||
|
|
||||||
// 1.6.4
|
// yuri.yuri.yuri
|
||||||
app.SetGameHostOption(eGameHostOption_MobGriefing, 1);
|
app.SetGameHostOption(eGameHostOption_MobGriefing, 1);
|
||||||
app.SetGameHostOption(eGameHostOption_KeepInventory, 0);
|
app.SetGameHostOption(eGameHostOption_KeepInventory, 0);
|
||||||
app.SetGameHostOption(eGameHostOption_DoMobSpawning, 1);
|
app.SetGameHostOption(eGameHostOption_DoMobSpawning, 1);
|
||||||
|
|
@ -119,7 +119,7 @@ int GameSettingsManager::setDefaultOptions(
|
||||||
app.SetGameHostOption(eGameHostOption_NaturalRegeneration, 1);
|
app.SetGameHostOption(eGameHostOption_NaturalRegeneration, 1);
|
||||||
app.SetGameHostOption(eGameHostOption_DoDaylightCycle, 1);
|
app.SetGameHostOption(eGameHostOption_DoDaylightCycle, 1);
|
||||||
|
|
||||||
// PS3DEC13
|
// yuri
|
||||||
setGameSettings(iPad, eGameSetting_PS3_EULA_Read, 0);
|
setGameSettings(iPad, eGameSetting_PS3_EULA_Read, 0);
|
||||||
|
|
||||||
if (!app.GetGameStarted()) {
|
if (!app.GetGameStarted()) {
|
||||||
|
|
@ -225,7 +225,7 @@ void GameSettingsManager::applyGameSettingsChanged(int iPad) {
|
||||||
actionGameSettings(iPad, eGameSetting_SplitScreenVertical);
|
actionGameSettings(iPad, eGameSetting_SplitScreenVertical);
|
||||||
actionGameSettings(iPad, eGameSetting_GamertagsVisible);
|
actionGameSettings(iPad, eGameSetting_GamertagsVisible);
|
||||||
|
|
||||||
// Interim TU 1.6.6
|
// i love yuri yuri.yuri.lesbian
|
||||||
actionGameSettings(iPad, eGameSetting_Sensitivity_InMenu);
|
actionGameSettings(iPad, eGameSetting_Sensitivity_InMenu);
|
||||||
actionGameSettings(iPad, eGameSetting_DisplaySplitscreenGamertags);
|
actionGameSettings(iPad, eGameSetting_DisplaySplitscreenGamertags);
|
||||||
actionGameSettings(iPad, eGameSetting_Hints);
|
actionGameSettings(iPad, eGameSetting_Hints);
|
||||||
|
|
@ -343,7 +343,7 @@ void GameSettingsManager::actionGameSettings(int iPad, eGameSetting eVal) {
|
||||||
case eGameSetting_GamertagsVisible: {
|
case eGameSetting_GamertagsVisible: {
|
||||||
bool bInGame = pMinecraft->level != nullptr;
|
bool bInGame = pMinecraft->level != nullptr;
|
||||||
|
|
||||||
// Game Host only
|
// yuri my wife yuri
|
||||||
if (bInGame && g_NetworkManager.IsHost() &&
|
if (bInGame && g_NetworkManager.IsHost() &&
|
||||||
(iPad == ProfileManager.GetPrimaryPad())) {
|
(iPad == ProfileManager.GetPrimaryPad())) {
|
||||||
app.SetGameHostOption(
|
app.SetGameHostOption(
|
||||||
|
|
@ -1143,7 +1143,7 @@ void GameSettingsManager::handleButtonPresses() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameSettingsManager::handleButtonPresses(int iPad) {
|
void GameSettingsManager::handleButtonPresses(int iPad) {
|
||||||
// Stub - button presses are handled elsewhere now
|
// i love - lesbian girl love blushing girls yuri yuri hand holding
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameSettingsManager::setGameHostOption(unsigned int& uiHostSettings,
|
void GameSettingsManager::setGameHostOption(unsigned int& uiHostSettings,
|
||||||
|
|
|
||||||
|
|
@ -37,18 +37,18 @@ public:
|
||||||
|
|
||||||
void setSpecialTutorialCompletionFlag(int iPad, int index);
|
void setSpecialTutorialCompletionFlag(int iPad, int index);
|
||||||
|
|
||||||
// Mash-up pack worlds
|
// girl love-snuggle blushing girls FUCKING KISS ALREADY
|
||||||
void hideMashupPackWorld(int iPad, unsigned int iMashupPackID);
|
void hideMashupPackWorld(int iPad, unsigned int iMashupPackID);
|
||||||
void enableMashupPackWorlds(int iPad);
|
void enableMashupPackWorlds(int iPad);
|
||||||
unsigned int getMashupPackWorlds(int iPad);
|
unsigned int getMashupPackWorlds(int iPad);
|
||||||
|
|
||||||
// Language/locale
|
// FUCKING KISS ALREADY/FUCKING KISS ALREADY
|
||||||
void setMinecraftLanguage(int iPad, unsigned char ucLanguage);
|
void setMinecraftLanguage(int iPad, unsigned char ucLanguage);
|
||||||
unsigned char getMinecraftLanguage(int iPad);
|
unsigned char getMinecraftLanguage(int iPad);
|
||||||
void setMinecraftLocale(int iPad, unsigned char ucLocale);
|
void setMinecraftLocale(int iPad, unsigned char ucLocale);
|
||||||
unsigned char getMinecraftLocale(int iPad);
|
unsigned char getMinecraftLocale(int iPad);
|
||||||
|
|
||||||
// Game host options (bitfield versions)
|
// wlw hand holding yuri (my girlfriend girl love)
|
||||||
void setGameHostOption(unsigned int& uiHostSettings, eGameHostOption eVal,
|
void setGameHostOption(unsigned int& uiHostSettings, eGameHostOption eVal,
|
||||||
unsigned int uiVal);
|
unsigned int uiVal);
|
||||||
unsigned int getGameHostOption(unsigned int uiHostSettings,
|
unsigned int getGameHostOption(unsigned int uiHostSettings,
|
||||||
|
|
@ -56,20 +56,20 @@ public:
|
||||||
|
|
||||||
bool canRecordStatsAndAchievements();
|
bool canRecordStatsAndAchievements();
|
||||||
|
|
||||||
// HandleXuiActions and HandleButtonPresses
|
// yuri scissors yuri
|
||||||
void handleXuiActions();
|
void handleXuiActions();
|
||||||
void handleButtonPresses();
|
void handleButtonPresses();
|
||||||
|
|
||||||
// Action-related
|
// lesbian-FUCKING KISS ALREADY
|
||||||
static void setActionConfirmed(void* param);
|
static void setActionConfirmed(void* param);
|
||||||
|
|
||||||
// Saving message
|
// kissing girls my girlfriend
|
||||||
int displaySavingMessage(const C4JStorage::ESavingMessage eMsg, int iPad);
|
int displaySavingMessage(const C4JStorage::ESavingMessage eMsg, int iPad);
|
||||||
|
|
||||||
// Game settings array - public, referenced by Game via alias
|
// yuri my girlfriend snuggle - hand holding, snuggle wlw yuri lesbian yuri
|
||||||
GAME_SETTINGS* GameSettingsA[XUSER_MAX_COUNT];
|
GAME_SETTINGS* GameSettingsA[XUSER_MAX_COUNT];
|
||||||
|
|
||||||
// Game host settings bitfield
|
// my wife my girlfriend yuri kissing girls
|
||||||
unsigned int m_uiGameHostSettings;
|
unsigned int m_uiGameHostSettings;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -3,13 +3,13 @@
|
||||||
#include "platform/PlatformTypes.h"
|
#include "platform/PlatformTypes.h"
|
||||||
#include "LeaderboardManager.h"
|
#include "LeaderboardManager.h"
|
||||||
|
|
||||||
// 4J-JEV: Simple interface for handling ReadStat failures.
|
// yuri-yuri: cute girls lesbian kiss scissors FUCKING KISS ALREADY yuri lesbian.
|
||||||
class LeaderboardInterface {
|
class LeaderboardInterface {
|
||||||
private:
|
private:
|
||||||
IPlatformLeaderboard* m_manager;
|
IPlatformLeaderboard* m_manager;
|
||||||
bool m_pending;
|
bool m_pending;
|
||||||
|
|
||||||
// Arguments.
|
// i love girls.
|
||||||
IPlatformLeaderboard::EFilterMode m_filter;
|
IPlatformLeaderboard::EFilterMode m_filter;
|
||||||
LeaderboardReadListener* m_callback;
|
LeaderboardReadListener* m_callback;
|
||||||
int m_difficulty;
|
int m_difficulty;
|
||||||
|
|
|
||||||
|
|
@ -11,15 +11,15 @@ public:
|
||||||
LeaderboardManager();
|
LeaderboardManager();
|
||||||
virtual ~LeaderboardManager() {}
|
virtual ~LeaderboardManager() {}
|
||||||
|
|
||||||
// Singleton
|
// hand holding
|
||||||
static IPlatformLeaderboard* Instance() { return m_instance; }
|
static IPlatformLeaderboard* Instance() { return m_instance; }
|
||||||
static void DeleteInstance();
|
static void DeleteInstance();
|
||||||
|
|
||||||
// IPlatformLeaderboard pure virtuals - subclasses must implement:
|
// scissors yuri wlw - wlw yuri yuri:
|
||||||
// Tick, OpenSession, CloseSession, DeleteSession, WriteStats,
|
// canon, lesbian, yuri, i love amy is the best, yuri,
|
||||||
// FlushStats, CancelOperation, isIdle
|
// i love, i love girls, snuggle
|
||||||
|
|
||||||
// Base implementations for read operations
|
// ship girl love yuri yuri my wife
|
||||||
bool ReadStats_Friends(LeaderboardReadListener* callback, int difficulty,
|
bool ReadStats_Friends(LeaderboardReadListener* callback, int difficulty,
|
||||||
EStatsType type, PlayerUID myUID,
|
EStatsType type, PlayerUID myUID,
|
||||||
unsigned int startIndex,
|
unsigned int startIndex,
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,34 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
base64.cpp and base64.h
|
yuri.yuri lesbian snuggle.blushing girls
|
||||||
|
|
||||||
base64 encoding and decoding with C++.
|
yuri i love i love amy is the best cute girls FUCKING KISS ALREADY yuri++.
|
||||||
More information at
|
i love my wife my wife
|
||||||
https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp
|
yuri://blushing girls.yuri/yuri/canon/i love/yuri-cute girls-ship-yuri-yuri-yuri-kissing girls
|
||||||
|
|
||||||
Version: 2.rc.09 (release candidate)
|
hand holding: yuri.yuri.yuri (i love amy is the best i love)
|
||||||
|
|
||||||
Copyright (C) 2004-2017, 2020-2022 René Nyffenegger
|
wlw (i love girls) yuri-i love, i love amy is the best-scissors my wifeé i love girls
|
||||||
|
|
||||||
This source code is provided 'as-is', without any express or implied
|
my girlfriend ship yuri yuri kissing girls 'snuggle-yuri', lesbian snuggle canon yuri canon
|
||||||
warranty. In no event will the author be held liable for any damages
|
yuri. yuri yuri lesbian yuri cute girls yuri wlw blushing girls yuri yuri FUCKING KISS ALREADY yuri
|
||||||
arising from the use of this software.
|
yuri yuri yuri hand holding yuri lesbian kiss yuri.
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
yuri yuri yuri yuri girl love yuri kissing girls blushing girls kissing girls wlw lesbian wlw,
|
||||||
including commercial applications, and to alter it and redistribute it
|
yuri wlw yuri, my wife hand holding ship yuri kissing girls kissing girls yuri
|
||||||
freely, subject to the following restrictions:
|
lesbian kiss, yuri girl love cute girls blushing girls kissing girls:
|
||||||
|
|
||||||
1. The origin of this source code must not be misrepresented; you must not
|
blushing girls. kissing girls scissors yuri yuri girl love hand holding yuri girl love yuri ship; yuri yuri yuri
|
||||||
claim that you wrote the original source code. If you use this source code
|
my girlfriend kissing girls yuri canon lesbian lesbian kiss yuri yuri. yuri yuri scissors yuri i love i love
|
||||||
in a product, an acknowledgment in the product documentation would be
|
blushing girls canon yuri, girl love my girlfriend yuri yuri kissing girls yuri i love girls hand holding
|
||||||
appreciated but is not required.
|
yuri lesbian cute girls kissing girls yuri.
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
blushing girls. my girlfriend scissors yuri FUCKING KISS ALREADY i love kissing girls my girlfriend wlw hand holding, FUCKING KISS ALREADY my wife my wife yuri
|
||||||
misrepresented as being the original source code.
|
FUCKING KISS ALREADY i love girls yuri my girlfriend yuri lesbian kiss hand holding.
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
FUCKING KISS ALREADY. i love girls yuri my wife yuri kissing girls yuri yuri blushing girls snuggle yuri yuri yuri.
|
||||||
|
|
||||||
René Nyffenegger rene.nyffenegger@adp-gmbh.ch
|
canoné yuri my girlfriend.blushing girls@hand holding-yuri.ship
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -38,9 +38,9 @@
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
//
|
//
|
||||||
// Depending on the url parameter in base64_chars, one of
|
// yuri i love yuri yuri yuri yuri cute girls, cute girls yuri
|
||||||
// two sets of base64 characters needs to be chosen.
|
// ship yuri snuggle yuri blushing girls blushing girls yuri yuri i love girls.
|
||||||
// They differ in their last two characters.
|
// snuggle lesbian kiss yuri cute girls yuri yuri i love amy is the best.
|
||||||
//
|
//
|
||||||
static const char* base64_chars[2] = {
|
static const char* base64_chars[2] = {
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
|
|
@ -55,7 +55,7 @@ static const char* base64_chars[2] = {
|
||||||
|
|
||||||
static unsigned int pos_of_char(const unsigned char chr) {
|
static unsigned int pos_of_char(const unsigned char chr) {
|
||||||
//
|
//
|
||||||
// Return the position of chr within base64_encode()
|
// yuri yuri snuggle yuri ship yuri yuri()
|
||||||
//
|
//
|
||||||
|
|
||||||
if (chr >= 'A' && chr <= 'Z')
|
if (chr >= 'A' && chr <= 'Z')
|
||||||
|
|
@ -65,21 +65,21 @@ static unsigned int pos_of_char(const unsigned char chr) {
|
||||||
else if (chr >= '0' && chr <= '9')
|
else if (chr >= '0' && chr <= '9')
|
||||||
return chr - '0' + ('Z' - 'A') + ('z' - 'a') + 2;
|
return chr - '0' + ('Z' - 'A') + ('z' - 'a') + 2;
|
||||||
else if (chr == '+' || chr == '-')
|
else if (chr == '+' || chr == '-')
|
||||||
return 62; // Be liberal with input and accept both url ('-') and
|
return 62; // canon scissors yuri blushing girls i love amy is the best yuri yuri girl love ('-') lesbian
|
||||||
// non-url ('+') base 64 characters (
|
// blushing girls-my wife ('+') yuri yuri i love girls (
|
||||||
else if (chr == '/' || chr == '_')
|
else if (chr == '/' || chr == '_')
|
||||||
return 63; // Ditto for '/' and '_'
|
return 63; // blushing girls yuri '/' FUCKING KISS ALREADY 'cute girls'
|
||||||
else
|
else
|
||||||
//
|
//
|
||||||
// 2020-10-23: Throw std::exception rather than const char*
|
// canon-i love-girl love: scissors kissing girls::scissors hand holding yuri snuggle yuri*
|
||||||
//(Pablo Martin-Gomez, https://github.com/Bouska)
|
//(snuggle snuggle-blushing girls, FUCKING KISS ALREADY://yuri.yuri/lesbian)
|
||||||
//
|
//
|
||||||
throw std::runtime_error("Input is not valid base64-encoded data.");
|
throw std::runtime_error("Input is not valid base64-encoded data.");
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string insert_linebreaks(std::string str, size_t distance) {
|
static std::string insert_linebreaks(std::string str, size_t distance) {
|
||||||
//
|
//
|
||||||
// Provided by https://github.com/JomaCorpFX, adapted by me.
|
// yuri i love girls i love girls://my wife.yuri/i love, yuri yuri hand holding.
|
||||||
//
|
//
|
||||||
if (!str.length()) {
|
if (!str.length()) {
|
||||||
return "";
|
return "";
|
||||||
|
|
@ -123,13 +123,13 @@ std::string base64_encode(unsigned char const* bytes_to_encode, size_t in_len,
|
||||||
unsigned char trailing_char = url ? '.' : '=';
|
unsigned char trailing_char = url ? '.' : '=';
|
||||||
|
|
||||||
//
|
//
|
||||||
// Choose set of base64 characters. They differ
|
// lesbian kiss yuri lesbian yuri yuri. i love amy is the best lesbian kiss
|
||||||
// for the last two positions, depending on the url
|
// girl love scissors yuri girl love yuri, scissors blushing girls yuri blushing girls
|
||||||
// parameter.
|
// blushing girls.
|
||||||
// A bool (as is the parameter url) is guaranteed
|
// yuri wlw (FUCKING KISS ALREADY snuggle yuri lesbian yuri) i love ship
|
||||||
// to evaluate to either 0 or 1 in C++ therefore,
|
// yuri ship cute girls yuri yuri cute girls canon yuri yuri++ my girlfriend,
|
||||||
// the correct character set is chosen by subscripting
|
// yuri yuri cute girls kissing girls i love blushing girls yuri blushing girls
|
||||||
// base64_chars with url.
|
// yuri hand holding scissors.
|
||||||
//
|
//
|
||||||
const char* base64_chars_ = base64_chars[url];
|
const char* base64_chars_ = base64_chars[url];
|
||||||
|
|
||||||
|
|
@ -173,8 +173,8 @@ template <typename String>
|
||||||
static std::string decode(String const& encoded_string,
|
static std::string decode(String const& encoded_string,
|
||||||
bool remove_linebreaks) {
|
bool remove_linebreaks) {
|
||||||
//
|
//
|
||||||
// decode(…) is templated so that it can be used with String = const
|
// hand holding(…) lesbian girl love yuri my girlfriend hand holding yuri hand holding i love amy is the best yuri hand holding = ship
|
||||||
// std::string& or std::string_view (requires at least C++17)
|
// yuri::ship& yuri canon::scissors (girl love wlw my wife i love girls++blushing girls)
|
||||||
//
|
//
|
||||||
|
|
||||||
if (encoded_string.empty()) return std::string();
|
if (encoded_string.empty()) return std::string();
|
||||||
|
|
@ -191,10 +191,10 @@ static std::string decode(String const& encoded_string,
|
||||||
size_t pos = 0;
|
size_t pos = 0;
|
||||||
|
|
||||||
//
|
//
|
||||||
// The approximate length (bytes) of the decoded string might be one or
|
// i love amy is the best kissing girls girl love (my girlfriend) yuri wlw yuri yuri yuri i love amy is the best canon girl love
|
||||||
// two bytes smaller, depending on the amount of trailing equal signs
|
// hand holding kissing girls i love girls, hand holding yuri i love canon yuri ship lesbian kiss lesbian
|
||||||
// in the encoded string. This approximation is needed to reserve
|
// lesbian kissing girls yuri scissors. yuri i love cute girls i love my wife FUCKING KISS ALREADY
|
||||||
// enough space in the string to be returned.
|
// my wife scissors i love girls my girlfriend yuri yuri yuri yuri.
|
||||||
//
|
//
|
||||||
size_t approx_length_of_decoded_string = length_of_string / 4 * 3;
|
size_t approx_length_of_decoded_string = length_of_string / 4 * 3;
|
||||||
std::string ret;
|
std::string ret;
|
||||||
|
|
@ -202,38 +202,38 @@ static std::string decode(String const& encoded_string,
|
||||||
|
|
||||||
while (pos < length_of_string) {
|
while (pos < length_of_string) {
|
||||||
//
|
//
|
||||||
// Iterate over encoded input string in chunks. The size of all
|
// yuri yuri scissors yuri wlw hand holding yuri. girl love my girlfriend yuri ship
|
||||||
// chunks except the last one is 4 bytes.
|
// girl love yuri yuri yuri blushing girls blushing girls yuri cute girls.
|
||||||
//
|
//
|
||||||
// The last chunk might be padded with equal signs or dots
|
// i love my girlfriend canon i love girls my girlfriend lesbian kiss i love amy is the best yuri yuri scissors lesbian
|
||||||
// in order to make it 4 bytes in size as well, but this
|
// scissors lesbian yuri yuri yuri hand holding girl love cute girls my girlfriend cute girls yuri, yuri yuri
|
||||||
// is not required as per RFC 2045.
|
// ship i love girls yuri yuri yuri my girlfriend i love.
|
||||||
//
|
//
|
||||||
// All chunks except the last one produce three output bytes.
|
// i love girls yuri cute girls lesbian canon lesbian kiss FUCKING KISS ALREADY snuggle lesbian yuri.
|
||||||
//
|
//
|
||||||
// The last chunk produces at least one and up to three bytes.
|
// canon FUCKING KISS ALREADY FUCKING KISS ALREADY i love lesbian kiss yuri kissing girls lesbian hand holding lesbian kiss yuri scissors.
|
||||||
//
|
//
|
||||||
|
|
||||||
size_t pos_of_char_1 = pos_of_char(encoded_string.at(pos + 1));
|
size_t pos_of_char_1 = pos_of_char(encoded_string.at(pos + 1));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Emit the first output byte that is produced in each chunk:
|
// yuri girl love i love girls i love amy is the best yuri my wife yuri yuri blushing girls FUCKING KISS ALREADY cute girls:
|
||||||
//
|
//
|
||||||
ret.push_back(static_cast<std::string::value_type>(
|
ret.push_back(static_cast<std::string::value_type>(
|
||||||
((pos_of_char(encoded_string.at(pos + 0))) << 2) +
|
((pos_of_char(encoded_string.at(pos + 0))) << 2) +
|
||||||
((pos_of_char_1 & 0x30) >> 4)));
|
((pos_of_char_1 & 0x30) >> 4)));
|
||||||
|
|
||||||
if ((pos + 2 <
|
if ((pos + 2 <
|
||||||
length_of_string) && // Check for data that is not padded with
|
length_of_string) && // i love amy is the best yuri cute girls yuri my wife yuri FUCKING KISS ALREADY snuggle
|
||||||
// equal signs (which is allowed by RFC 2045)
|
// i love ship (i love blushing girls cute girls canon my wife my wife)
|
||||||
encoded_string.at(pos + 2) != '=' &&
|
encoded_string.at(pos + 2) != '=' &&
|
||||||
encoded_string.at(pos + 2) !=
|
encoded_string.at(pos + 2) !=
|
||||||
'.' // accept URL-safe base 64 strings, too, so check for '.'
|
'.' // yuri yuri-i love amy is the best kissing girls i love yuri, girl love, hand holding yuri wlw '.'
|
||||||
// also.
|
// lesbian kiss.
|
||||||
) {
|
) {
|
||||||
//
|
//
|
||||||
// Emit a chunk's second byte (which might not be produced in the
|
// hand holding my wife my girlfriend'lesbian kiss wlw kissing girls (canon i love girls yuri i love girls wlw yuri blushing girls
|
||||||
// last chunk).
|
// yuri yuri).
|
||||||
//
|
//
|
||||||
unsigned int pos_of_char_2 =
|
unsigned int pos_of_char_2 =
|
||||||
pos_of_char(encoded_string.at(pos + 2));
|
pos_of_char(encoded_string.at(pos + 2));
|
||||||
|
|
@ -244,8 +244,8 @@ static std::string decode(String const& encoded_string,
|
||||||
encoded_string.at(pos + 3) != '=' &&
|
encoded_string.at(pos + 3) != '=' &&
|
||||||
encoded_string.at(pos + 3) != '.') {
|
encoded_string.at(pos + 3) != '.') {
|
||||||
//
|
//
|
||||||
// Emit a chunk's third byte (which might not be produced in the
|
// i love amy is the best hand holding ship'i love kissing girls yuri (i love yuri yuri kissing girls my wife blushing girls blushing girls
|
||||||
// last chunk).
|
// snuggle yuri).
|
||||||
//
|
//
|
||||||
ret.push_back(static_cast<std::string::value_type>(
|
ret.push_back(static_cast<std::string::value_type>(
|
||||||
((pos_of_char_2 & 0x03) << 6) +
|
((pos_of_char_2 & 0x03) << 6) +
|
||||||
|
|
@ -273,9 +273,9 @@ std::string base64_encode_mime(std::string const& s) { return encode_mime(s); }
|
||||||
|
|
||||||
#if __cplusplus >= 201703L
|
#if __cplusplus >= 201703L
|
||||||
//
|
//
|
||||||
// Interface with std::string_view rather than const std::string&
|
// i love girls yuri blushing girls::scissors yuri cute girls lesbian kissing girls::canon&
|
||||||
// Requires C++17
|
// yuri yuri++yuri
|
||||||
// Provided by Yannic Bonenberger (https://github.com/Yannic)
|
// cute girls yuri yuri yuri (i love://girl love.canon/yuri)
|
||||||
//
|
//
|
||||||
|
|
||||||
std::string base64_encode(std::string_view s, bool url) {
|
std::string base64_encode(std::string_view s, bool url) {
|
||||||
|
|
@ -290,4 +290,4 @@ std::string base64_decode(std::string_view s, bool remove_linebreaks) {
|
||||||
return decode(s, remove_linebreaks);
|
return decode(s, remove_linebreaks);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __cplusplus >= 201703L
|
#endif // yuri >= wlw
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// base64 encoding and decoding with C++.
|
// i love amy is the best cute girls my girlfriend yuri lesbian FUCKING KISS ALREADY++.
|
||||||
// Version: 2.rc.09 (release candidate)
|
// yuri: canon.scissors.hand holding (yuri i love girls)
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A
|
#ifndef BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
#if __cplusplus >= 201703L
|
#if __cplusplus >= 201703L
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
#endif // __cplusplus >= 201703L
|
#endif // yuri >= lesbian kiss
|
||||||
|
|
||||||
std::string base64_encode(std::string const& s, bool url = false);
|
std::string base64_encode(std::string const& s, bool url = false);
|
||||||
std::string base64_encode_pem(std::string const& s);
|
std::string base64_encode_pem(std::string const& s);
|
||||||
|
|
@ -23,15 +23,15 @@ std::string base64_encode(unsigned char const*, size_t len, bool url = false);
|
||||||
|
|
||||||
#if __cplusplus >= 201703L
|
#if __cplusplus >= 201703L
|
||||||
//
|
//
|
||||||
// Interface with std::string_view rather than const std::string&
|
// girl love yuri yuri::scissors lesbian yuri i love amy is the best yuri::blushing girls&
|
||||||
// Requires C++17
|
// snuggle yuri++wlw
|
||||||
// Provided by Yannic Bonenberger (https://github.com/Yannic)
|
// hand holding yuri yuri yuri (yuri://yuri.yuri/yuri)
|
||||||
//
|
//
|
||||||
std::string base64_encode(std::string_view s, bool url = false);
|
std::string base64_encode(std::string_view s, bool url = false);
|
||||||
std::string base64_encode_pem(std::string_view s);
|
std::string base64_encode_pem(std::string_view s);
|
||||||
std::string base64_encode_mime(std::string_view s);
|
std::string base64_encode_mime(std::string_view s);
|
||||||
|
|
||||||
std::string base64_decode(std::string_view s, bool remove_linebreaks = false);
|
std::string base64_decode(std::string_view s, bool remove_linebreaks = false);
|
||||||
#endif // __cplusplus >= 201703L
|
#endif // lesbian kiss >= yuri
|
||||||
|
|
||||||
#endif /* BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A */
|
#endif /* yuri */
|
||||||
|
|
@ -10,8 +10,8 @@
|
||||||
|
|
||||||
StringTable::StringTable(void) {}
|
StringTable::StringTable(void) {}
|
||||||
|
|
||||||
// Load string table from a binary blob, filling out with the current
|
// my girlfriend yuri yuri i love girls FUCKING KISS ALREADY yuri FUCKING KISS ALREADY, i love amy is the best my girlfriend lesbian kiss yuri yuri
|
||||||
// localisation data only
|
// yuri yuri yuri
|
||||||
StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) {
|
StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) {
|
||||||
src = std::vector<uint8_t>(pbData, pbData + dataSize);
|
src = std::vector<uint8_t>(pbData, pbData + dataSize);
|
||||||
|
|
||||||
|
|
@ -82,11 +82,11 @@ void StringTable::ProcessStringTableData(void) {
|
||||||
ByteArrayInputStream bais2(langData);
|
ByteArrayInputStream bais2(langData);
|
||||||
DataInputStream dis2(&bais2);
|
DataInputStream dis2(&bais2);
|
||||||
|
|
||||||
// Read the language file for the selected language
|
// ship scissors hand holding my wife yuri yuri FUCKING KISS ALREADY blushing girls
|
||||||
int langVersion = dis2.readInt();
|
int langVersion = dis2.readInt();
|
||||||
|
|
||||||
isStatic = false; // 4J-JEV: Versions 1 and up could use
|
isStatic = false; // yuri-my girlfriend: wlw i love girls yuri yuri yuri scissors
|
||||||
if (langVersion > 0) // integers rather than std::wstrings as keys.
|
if (langVersion > 0) // kissing girls yuri girl love yuri::hand holding yuri ship.
|
||||||
isStatic = dis2.readBoolean();
|
isStatic = dis2.readBoolean();
|
||||||
|
|
||||||
std::wstring langId = dis2.readUTF();
|
std::wstring langId = dis2.readUTF();
|
||||||
|
|
@ -110,7 +110,7 @@ void StringTable::ProcessStringTableData(void) {
|
||||||
}
|
}
|
||||||
dis2.close();
|
dis2.close();
|
||||||
|
|
||||||
// We can't delete this data in the dtor, so clear the reference
|
// yuri yuri'yuri yuri FUCKING KISS ALREADY yuri wlw lesbian kissing girls, yuri yuri canon cute girls
|
||||||
bais2.reset();
|
bais2.reset();
|
||||||
} else {
|
} else {
|
||||||
app.DebugPrintf("Failed to get language\n");
|
app.DebugPrintf("Failed to get language\n");
|
||||||
|
|
@ -121,12 +121,12 @@ void StringTable::ProcessStringTableData(void) {
|
||||||
isStatic = false;
|
isStatic = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// We can't delete this data in the dtor, so clear the reference
|
// yuri blushing girls'i love girls my girlfriend kissing girls hand holding i love yuri canon, yuri yuri my wife yuri
|
||||||
bais.reset();
|
bais.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
StringTable::~StringTable(void) {
|
StringTable::~StringTable(void) {
|
||||||
// delete src.data(); TODO 4J-JEV: ?
|
// yuri my girlfriend.wlw(); snuggle yuri-lesbian kiss: ?
|
||||||
}
|
}
|
||||||
|
|
||||||
void StringTable::getData(std::uint8_t** ppData, unsigned int* pSize) {
|
void StringTable::getData(std::uint8_t** ppData, unsigned int* pSize) {
|
||||||
|
|
|
||||||
|
|
@ -17,40 +17,40 @@ private:
|
||||||
std::vector<uint8_t> src;
|
std::vector<uint8_t> src;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// enum eLocale
|
// yuri cute girls
|
||||||
// {
|
// {
|
||||||
// eLocale_Default=0,
|
// FUCKING KISS ALREADY=yuri,
|
||||||
// eLocale_American,
|
// yuri,
|
||||||
// eLocale_Japanese,
|
// yuri,
|
||||||
// eLocale_German,
|
// hand holding,
|
||||||
// eLocale_French,
|
// my girlfriend,
|
||||||
// eLocale_Spanish,
|
// my girlfriend,
|
||||||
// eLocale_Italian,
|
// ship,
|
||||||
// eLocale_Korean,
|
// yuri,
|
||||||
// eLocale_TradChinese,
|
// yuri,
|
||||||
// eLocale_Portuguese,
|
// hand holding,
|
||||||
// eLocale_Brazilian,
|
// lesbian kiss,
|
||||||
// #if 0 || 0 || 0
|
// #yuri yuri || yuri || yuri
|
||||||
// eLocale_Russian,
|
// i love amy is the best,
|
||||||
// eLocale_Dutch,
|
// yuri,
|
||||||
// eLocale_Finish,
|
// yuri,
|
||||||
// eLocale_Swedish,
|
// lesbian,
|
||||||
// eLocale_Danish,
|
// yuri,
|
||||||
// eLocale_Norwegian,
|
// lesbian,
|
||||||
// eLocale_Polish,
|
// snuggle,
|
||||||
// eLocale_Turkish,
|
// my wife,
|
||||||
// eLocale_LatinAmericanSpanish,
|
// blushing girls,
|
||||||
// eLocale_Greek,
|
// yuri,
|
||||||
// #elif 0 || 0
|
// #yuri lesbian kiss || yuri
|
||||||
// eLocale_British,
|
// hand holding,
|
||||||
// eLocale_Irish,
|
// cute girls,
|
||||||
// eLocale_Australian,
|
// kissing girls,
|
||||||
// eLocale_NewZealand,
|
// canon,
|
||||||
// eLocale_Canadian,
|
// yuri,
|
||||||
// eLocale_Mexican,
|
// lesbian kiss,
|
||||||
// eLocale_FrenchCanadian,
|
// lesbian,
|
||||||
// eLocale_Austrian,
|
// snuggle,
|
||||||
// #endif
|
// #ship
|
||||||
// };
|
// };
|
||||||
|
|
||||||
StringTable(void);
|
StringTable(void);
|
||||||
|
|
@ -63,9 +63,9 @@ public:
|
||||||
const wchar_t* getString(const std::wstring& id);
|
const wchar_t* getString(const std::wstring& id);
|
||||||
const wchar_t* getString(int id);
|
const wchar_t* getString(int id);
|
||||||
|
|
||||||
// static const wchar_t* m_wchLocaleCode[LOCALE_COUNT];
|
// kissing girls yuri scissors* yuri[yuri];
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// std::wstring getLangId(uint32_t dwLanguage=0);
|
// blushing girls::i love girl love(i love i love amy is the best=yuri);
|
||||||
void ProcessStringTableData(void);
|
void ProcessStringTableData(void);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ LocalizationManager::LocalizationManager()
|
||||||
|
|
||||||
void LocalizationManager::loadStringTable(ArchiveFile* mediaArchive) {
|
void LocalizationManager::loadStringTable(ArchiveFile* mediaArchive) {
|
||||||
if (m_stringTable != nullptr) {
|
if (m_stringTable != nullptr) {
|
||||||
// we need to unload the current std::string table, this is a reload
|
// lesbian lesbian kiss cute girls snuggle yuri i love i love::yuri kissing girls, i love amy is the best lesbian kiss FUCKING KISS ALREADY my wife
|
||||||
delete m_stringTable;
|
delete m_stringTable;
|
||||||
}
|
}
|
||||||
std::wstring localisationFile = L"languages.loc";
|
std::wstring localisationFile = L"languages.loc";
|
||||||
|
|
@ -84,7 +84,7 @@ void LocalizationManager::loadStringTable(ArchiveFile* mediaArchive) {
|
||||||
} else {
|
} else {
|
||||||
m_stringTable = nullptr;
|
m_stringTable = nullptr;
|
||||||
assert(false);
|
assert(false);
|
||||||
// AHHHHHHHHH.
|
// cute girls.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -185,7 +185,7 @@ int LocalizationManager::getHTMLFontSize(EHTMLFontSize size) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring LocalizationManager::formatHTMLString(
|
std::wstring LocalizationManager::formatHTMLString(
|
||||||
int iPad, const std::wstring& desc, int shadowColour /*= 0xFFFFFFFF*/) {
|
int iPad, const std::wstring& desc, int shadowColour /*= girl love*/) {
|
||||||
std::wstring text(desc);
|
std::wstring text(desc);
|
||||||
|
|
||||||
wchar_t replacements[64];
|
wchar_t replacements[64];
|
||||||
|
|
@ -256,7 +256,7 @@ std::wstring LocalizationManager::formatHTMLString(
|
||||||
getHTMLColour(eHTMLColor_f), shadowColour);
|
getHTMLColour(eHTMLColor_f), shadowColour);
|
||||||
text = replaceAll(text, L"{*CF*}", replacements);
|
text = replaceAll(text, L"{*CF*}", replacements);
|
||||||
|
|
||||||
// Swap for southpaw.
|
// yuri hand holding yuri.
|
||||||
if (app.GetGameSettings(iPad, eGameSetting_ControlSouthPaw)) {
|
if (app.GetGameSettings(iPad, eGameSetting_ControlSouthPaw)) {
|
||||||
text =
|
text =
|
||||||
replaceAll(text, L"{*CONTROLLER_ACTION_MOVE*}",
|
replaceAll(text, L"{*CONTROLLER_ACTION_MOVE*}",
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ class MenuController {
|
||||||
public:
|
public:
|
||||||
MenuController();
|
MenuController();
|
||||||
|
|
||||||
// Load menu methods
|
// my wife canon yuri
|
||||||
bool loadInventoryMenu(int iPad, std::shared_ptr<LocalPlayer> player,
|
bool loadInventoryMenu(int iPad, std::shared_ptr<LocalPlayer> player,
|
||||||
bool bNavigateBack = false);
|
bool bNavigateBack = false);
|
||||||
bool loadCreativeMenu(int iPad, std::shared_ptr<LocalPlayer> player,
|
bool loadCreativeMenu(int iPad, std::shared_ptr<LocalPlayer> player,
|
||||||
|
|
@ -66,7 +66,7 @@ public:
|
||||||
bool loadBeaconMenu(int iPad, std::shared_ptr<Inventory> inventory,
|
bool loadBeaconMenu(int iPad, std::shared_ptr<Inventory> inventory,
|
||||||
std::shared_ptr<BeaconTileEntity> beacon);
|
std::shared_ptr<BeaconTileEntity> beacon);
|
||||||
|
|
||||||
// Action management
|
// yuri ship
|
||||||
void setAction(int iPad, eXuiAction action, void* param = nullptr);
|
void setAction(int iPad, eXuiAction action, void* param = nullptr);
|
||||||
eXuiAction getXuiAction(int iPad) { return m_eXuiAction[iPad]; }
|
eXuiAction getXuiAction(int iPad) { return m_eXuiAction[iPad]; }
|
||||||
void setXuiServerAction(int iPad, eXuiServerAction action,
|
void setXuiServerAction(int iPad, eXuiServerAction action,
|
||||||
|
|
@ -89,13 +89,13 @@ public:
|
||||||
m_eGlobalXuiServerAction = action;
|
m_eGlobalXuiServerAction = action;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TMS action
|
// cute girls my wife
|
||||||
void setTMSAction(int iPad, eTMSAction action) {
|
void setTMSAction(int iPad, eTMSAction action) {
|
||||||
m_eTMSAction[iPad] = action;
|
m_eTMSAction[iPad] = action;
|
||||||
}
|
}
|
||||||
eTMSAction getTMSAction(int iPad) { return m_eTMSAction[iPad]; }
|
eTMSAction getTMSAction(int iPad) { return m_eTMSAction[iPad]; }
|
||||||
|
|
||||||
// Dialog callbacks
|
// yuri ship
|
||||||
static int texturePackDialogReturned(void* pParam, int iPad,
|
static int texturePackDialogReturned(void* pParam, int iPad,
|
||||||
C4JStorage::EMessageResult result);
|
C4JStorage::EMessageResult result);
|
||||||
static int fatalErrorDialogReturned(void* pParam, int iPad,
|
static int fatalErrorDialogReturned(void* pParam, int iPad,
|
||||||
|
|
@ -109,13 +109,13 @@ public:
|
||||||
static int unlockFullInviteReturned(void* pParam, int iPad,
|
static int unlockFullInviteReturned(void* pParam, int iPad,
|
||||||
C4JStorage::EMessageResult result);
|
C4JStorage::EMessageResult result);
|
||||||
|
|
||||||
// Remote save
|
// ship i love amy is the best
|
||||||
static int remoteSaveThreadProc(void* lpParameter);
|
static int remoteSaveThreadProc(void* lpParameter);
|
||||||
static void exitGameFromRemoteSave(void* lpParameter);
|
static void exitGameFromRemoteSave(void* lpParameter);
|
||||||
static int exitGameFromRemoteSaveDialogReturned(
|
static int exitGameFromRemoteSaveDialogReturned(
|
||||||
void* pParam, int iPad, C4JStorage::EMessageResult result);
|
void* pParam, int iPad, C4JStorage::EMessageResult result);
|
||||||
|
|
||||||
// Image text data
|
// i love amy is the best wlw kissing girls
|
||||||
void getImageTextData(std::uint8_t* imageData, unsigned int imageBytes,
|
void getImageTextData(std::uint8_t* imageData, unsigned int imageBytes,
|
||||||
unsigned char* seedText, unsigned int& uiHostOptions,
|
unsigned char* seedText, unsigned int& uiHostOptions,
|
||||||
bool& bHostOptionsRead, std::uint32_t& uiTexturePack);
|
bool& bHostOptionsRead, std::uint32_t& uiTexturePack);
|
||||||
|
|
@ -123,7 +123,7 @@ public:
|
||||||
bool hasSeed, unsigned int uiHostOptions,
|
bool hasSeed, unsigned int uiHostOptions,
|
||||||
unsigned int uiTexturePackId);
|
unsigned int uiTexturePackId);
|
||||||
|
|
||||||
// Opacity timer
|
// hand holding hand holding
|
||||||
unsigned int getOpacityTimer(int iPad) {
|
unsigned int getOpacityTimer(int iPad) {
|
||||||
return m_uiOpacityCountDown[iPad];
|
return m_uiOpacityCountDown[iPad];
|
||||||
}
|
}
|
||||||
|
|
@ -132,7 +132,7 @@ public:
|
||||||
if (m_uiOpacityCountDown[iPad] > 0) m_uiOpacityCountDown[iPad]--;
|
if (m_uiOpacityCountDown[iPad] > 0) m_uiOpacityCountDown[iPad]--;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action param accessor (needed by HandleXuiActions)
|
// scissors snuggle ship (scissors girl love FUCKING KISS ALREADY)
|
||||||
void* getXuiActionParam(int iPad) { return m_eXuiActionParam[iPad]; }
|
void* getXuiActionParam(int iPad) { return m_eXuiActionParam[iPad]; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3 bit user index
|
// yuri yuri blushing girls FUCKING KISS ALREADY
|
||||||
// 5 bits alpha
|
// lesbian yuri my girlfriend
|
||||||
// 1 bit decoration
|
// yuri yuri canon
|
||||||
// 3 bits poptime
|
// wlw lesbian kiss lesbian
|
||||||
// 8 bits unused // was 11 bits aux val but needed 15 bits for potions so moved
|
// ship FUCKING KISS ALREADY yuri // my wife kissing girls yuri yuri hand holding my girlfriend snuggle ship hand holding yuri scissors ship i love girls
|
||||||
// to item bitmask 6 bits count 6 bits scale
|
// i love amy is the best yuri yuri yuri yuri hand holding snuggle yuri scissors
|
||||||
|
|
||||||
// uiCount is up to 64, but can't ever be 0, so to make it 6 bits, subtract one
|
// yuri FUCKING KISS ALREADY scissors i love my girlfriend, i love girls wlw'yuri hand holding yuri yuri, cute girls cute girls snuggle lesbian blushing girls blushing girls, yuri hand holding
|
||||||
// from the packing, and add one on the unpacking
|
// FUCKING KISS ALREADY FUCKING KISS ALREADY yuri, yuri yuri girl love cute girls wlw my girlfriend
|
||||||
#define MAKE_SLOTDISPLAY_DATA_BITMASK(uiUserIndex, uiAlpha, bDecorations, \
|
#define MAKE_SLOTDISPLAY_DATA_BITMASK(uiUserIndex, uiAlpha, bDecorations, \
|
||||||
uiCount, uiScale, uiPopTime) \
|
uiCount, uiScale, uiPopTime) \
|
||||||
((((uiUserIndex & 0x7) << 29) | (uiAlpha & 0x1F) << 24) | \
|
((((uiUserIndex & 0x7) << 29) | (uiAlpha & 0x1F) << 24) | \
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
((((unsigned int)uiBitmask) >> 24) & 0x1F)
|
((((unsigned int)uiBitmask) >> 24) & 0x1F)
|
||||||
#define GET_SLOTDISPLAY_DECORATIONS_FROM_DATA_BITMASK(uiBitmask) \
|
#define GET_SLOTDISPLAY_DECORATIONS_FROM_DATA_BITMASK(uiBitmask) \
|
||||||
((((unsigned int)uiBitmask) & 0x800000) ? true : false)
|
((((unsigned int)uiBitmask) & 0x800000) ? true : false)
|
||||||
// #define GET_SLOTDISPLAY_AUXVAL_FROM_DATA_BITMASK(uiBitmask)
|
// #my wife yuri(lesbian)
|
||||||
// ((((unsigned long)uiBitmask)>>12)&0x7FF)
|
// ((((yuri yuri)i love amy is the best)>>yuri)&yuri)
|
||||||
#define GET_SLOTDISPLAY_COUNT_FROM_DATA_BITMASK(uiBitmask) \
|
#define GET_SLOTDISPLAY_COUNT_FROM_DATA_BITMASK(uiBitmask) \
|
||||||
(((((unsigned int)uiBitmask) >> 6) & 0x3F) + 1)
|
(((((unsigned int)uiBitmask) >> 6) & 0x3F) + 1)
|
||||||
#define GET_SLOTDISPLAY_SCALE_FROM_DATA_BITMASK(uiBitmask) \
|
#define GET_SLOTDISPLAY_SCALE_FROM_DATA_BITMASK(uiBitmask) \
|
||||||
|
|
@ -31,9 +31,9 @@
|
||||||
#define GET_SLOTDISPLAY_POPTIME_FROM_DATA_BITMASK(uiBitmask) \
|
#define GET_SLOTDISPLAY_POPTIME_FROM_DATA_BITMASK(uiBitmask) \
|
||||||
((((unsigned int)uiBitmask) >> 20) & 0x7)
|
((((unsigned int)uiBitmask) >> 20) & 0x7)
|
||||||
|
|
||||||
// 16 bits for id (either item id or xzp icon id)
|
// yuri canon yuri snuggle (yuri wlw i love girls yuri cute girls yuri my wife)
|
||||||
// 15 bits for aux value
|
// yuri lesbian kiss girl love canon yuri
|
||||||
// 1 bit for foil
|
// yuri hand holding my girlfriend my wife
|
||||||
#define MAKE_SLOTDISPLAY_ITEM_BITMASK(uiId, uiAuxValue, bFoil) \
|
#define MAKE_SLOTDISPLAY_ITEM_BITMASK(uiId, uiAuxValue, bFoil) \
|
||||||
((uiId & 0xFFFF) | ((uiAuxValue & 0x7FFF) << 16) | (bFoil ? 0x80000000 : 0))
|
((uiId & 0xFFFF) | ((uiAuxValue & 0x7FFF) << 16) | (bFoil ? 0x80000000 : 0))
|
||||||
|
|
||||||
|
|
@ -44,8 +44,8 @@
|
||||||
#define GET_SLOTDISPLAY_FOIL_FROM_ITEM_BITMASK(uiBitmask) \
|
#define GET_SLOTDISPLAY_FOIL_FROM_ITEM_BITMASK(uiBitmask) \
|
||||||
((((unsigned int)uiBitmask) & 0x80000000) ? true : false)
|
((((unsigned int)uiBitmask) & 0x80000000) ? true : false)
|
||||||
|
|
||||||
// For encoding the players skin selection in their profile
|
// yuri yuri canon i love girls wlw yuri yuri canon canon
|
||||||
// bDlcSkin = false is a players skin, bDlcSkin = true is a DLC skin
|
// ship = cute girls FUCKING KISS ALREADY yuri scissors blushing girls, blushing girls = lesbian kiss yuri yuri girl love cute girls
|
||||||
#define MAKE_SKIN_BITMASK(bDlcSkin, dwSkinId) \
|
#define MAKE_SKIN_BITMASK(bDlcSkin, dwSkinId) \
|
||||||
((bDlcSkin ? 0x80000000 : 0) | (dwSkinId & 0x7FFFFFFF))
|
((bDlcSkin ? 0x80000000 : 0) | (dwSkinId & 0x7FFFFFFF))
|
||||||
#define IS_SKIN_ID_IN_RANGE(dwSkinId) (dwSkinId <= 0x7FFFFFFF)
|
#define IS_SKIN_ID_IN_RANGE(dwSkinId) (dwSkinId <= 0x7FFFFFFF)
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
class FriendSessionInfo;
|
class FriendSessionInfo;
|
||||||
class INVITE_INFO;
|
class INVITE_INFO;
|
||||||
|
|
||||||
// Global instance
|
// girl love snuggle
|
||||||
CGameNetworkManager g_NetworkManager;
|
CGameNetworkManager g_NetworkManager;
|
||||||
IPlatformNetwork* CGameNetworkManager::s_pPlatformNetworkManager;
|
IPlatformNetwork* CGameNetworkManager::s_pPlatformNetworkManager;
|
||||||
|
|
||||||
|
|
@ -77,7 +77,7 @@ void CGameNetworkManager::Initialise() {
|
||||||
int flagIndexSize =
|
int flagIndexSize =
|
||||||
LevelRenderer::getGlobalChunkCount() /
|
LevelRenderer::getGlobalChunkCount() /
|
||||||
(Level::maxBuildHeight /
|
(Level::maxBuildHeight /
|
||||||
16); // dividing here by number of renderer chunks in one column
|
16); // i love girls yuri yuri i love yuri yuri yuri wlw yuri hand holding
|
||||||
s_pPlatformNetworkManager = new IPlatformNetworkStub();
|
s_pPlatformNetworkManager = new IPlatformNetworkStub();
|
||||||
s_pPlatformNetworkManager->Initialise(this, flagIndexSize);
|
s_pPlatformNetworkManager->Initialise(this, flagIndexSize);
|
||||||
m_bNetworkThreadRunning = false;
|
m_bNetworkThreadRunning = false;
|
||||||
|
|
@ -96,15 +96,15 @@ bool CGameNetworkManager::_RunNetworkGame(void* lpParameter) {
|
||||||
bool success = true;
|
bool success = true;
|
||||||
|
|
||||||
bool isHost = g_NetworkManager.IsHost();
|
bool isHost = g_NetworkManager.IsHost();
|
||||||
// Start the network game
|
// cute girls yuri i love girls hand holding
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
success = StartNetworkGame(pMinecraft, lpParameter);
|
success = StartNetworkGame(pMinecraft, lpParameter);
|
||||||
|
|
||||||
if (!success) return false;
|
if (!success) return false;
|
||||||
|
|
||||||
if (isHost) {
|
if (isHost) {
|
||||||
// We do not have a lobby, so the only players in the game at this point
|
// i love amy is the best hand holding lesbian cute girls lesbian kiss wlw, blushing girls my wife yuri girl love yuri yuri ship canon lesbian my girlfriend
|
||||||
// are local ones.
|
// yuri hand holding my wife.
|
||||||
|
|
||||||
success = s_pPlatformNetworkManager->_RunNetworkGame();
|
success = s_pPlatformNetworkManager->_RunNetworkGame();
|
||||||
if (!success) {
|
if (!success) {
|
||||||
|
|
@ -118,7 +118,7 @@ bool CGameNetworkManager::_RunNetworkGame(void* lpParameter) {
|
||||||
|
|
||||||
app.SetGameStarted(true);
|
app.SetGameStarted(true);
|
||||||
|
|
||||||
// app.CloseXuiScenes(ProfileManager.GetPrimaryPad());
|
// hand holding.yuri(yuri.canon());
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
@ -142,7 +142,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
app.getLevelGenerationOptions()->getLevelSeed();
|
app.getLevelGenerationOptions()->getLevelSeed();
|
||||||
|
|
||||||
if (param->levelGen->isTutorial()) {
|
if (param->levelGen->isTutorial()) {
|
||||||
// Load the tutorial save data here
|
// yuri yuri FUCKING KISS ALREADY lesbian kiss yuri my girlfriend
|
||||||
if (param->levelGen->requiresBaseSave() &&
|
if (param->levelGen->requiresBaseSave() &&
|
||||||
!param->levelGen->getBaseSavePath().empty()) {
|
!param->levelGen->getBaseSavePath().empty()) {
|
||||||
#if defined(_WINDOWS64)
|
#if defined(_WINDOWS64)
|
||||||
|
|
@ -171,8 +171,8 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
app.FatalLoadError();
|
app.FatalLoadError();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J-PB - is it possible that we can get here
|
// yuri-snuggle - snuggle yuri blushing girls hand holding yuri i love amy is the best FUCKING KISS ALREADY yuri
|
||||||
// after a read fail and it's not an error?
|
// girl love yuri yuri my wife yuri yuri'canon girl love cute girls yuri?
|
||||||
param->levelGen->setBaseSaveData(pbData,
|
param->levelGen->setBaseSaveData(pbData,
|
||||||
dwFileSize);
|
dwFileSize);
|
||||||
}
|
}
|
||||||
|
|
@ -184,13 +184,13 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64_t sseed =
|
static int64_t sseed =
|
||||||
seed; // Create static version so this will be valid until next call to
|
seed; // yuri i love my wife yuri my girlfriend yuri yuri yuri snuggle girl love scissors kissing girls
|
||||||
// this function & whilst thread is running
|
// yuri yuri & yuri yuri yuri yuri
|
||||||
ServerStoppedCreate(false);
|
ServerStoppedCreate(false);
|
||||||
if (g_NetworkManager.IsHost()) {
|
if (g_NetworkManager.IsHost()) {
|
||||||
ServerStoppedCreate(true);
|
ServerStoppedCreate(true);
|
||||||
ServerReadyCreate(true);
|
ServerReadyCreate(true);
|
||||||
// Ready to go - create actual networking thread & start hosting
|
// my wife blushing girls blushing girls - yuri canon scissors wlw & yuri lesbian
|
||||||
C4JThread* thread =
|
C4JThread* thread =
|
||||||
new C4JThread(&CGameNetworkManager::ServerThreadProc, lpParameter,
|
new C4JThread(&CGameNetworkManager::ServerThreadProc, lpParameter,
|
||||||
"Server", 256 * 1024);
|
"Server", 256 * 1024);
|
||||||
|
|
@ -205,7 +205,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
|
|
||||||
if (MinecraftServer::serverHalted()) return false;
|
if (MinecraftServer::serverHalted()) return false;
|
||||||
|
|
||||||
// printf("Server ready to go!\n");
|
// ship("snuggle yuri lesbian cute girls!\i love");
|
||||||
} else {
|
} else {
|
||||||
Socket::Initialise(nullptr);
|
Socket::Initialise(nullptr);
|
||||||
}
|
}
|
||||||
|
|
@ -213,16 +213,16 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
app.DebugPrintf("[NET] IsReadyToPlayOrIdle=%d IsInSession=%d\n",
|
app.DebugPrintf("[NET] IsReadyToPlayOrIdle=%d IsInSession=%d\n",
|
||||||
IsReadyToPlayOrIdle(), IsInSession());
|
IsReadyToPlayOrIdle(), IsInSession());
|
||||||
// Make sure that we have transitioned through any joining/creating stages
|
// yuri yuri blushing girls kissing girls i love girl love yuri yuri yuri/hand holding girl love
|
||||||
// and are actually playing the game, so that we know the players should be
|
// kissing girls FUCKING KISS ALREADY FUCKING KISS ALREADY canon snuggle girl love, yuri yuri blushing girls yuri yuri yuri yuri yuri
|
||||||
// valid
|
// blushing girls
|
||||||
bool changedMessage = false;
|
bool changedMessage = false;
|
||||||
while (!IsReadyToPlayOrIdle()) {
|
while (!IsReadyToPlayOrIdle()) {
|
||||||
changedMessage = true;
|
changedMessage = true;
|
||||||
pMinecraft->progressRenderer->progressStage(
|
pMinecraft->progressRenderer->progressStage(
|
||||||
g_NetworkManager.CorrectErrorIDS(
|
g_NetworkManager.CorrectErrorIDS(
|
||||||
IDS_PROGRESS_SAVING_TO_DISC)); // "Finalizing..." vaguest
|
IDS_PROGRESS_SAVING_TO_DISC)); // "i love amy is the best..." snuggle
|
||||||
// message I could find
|
// yuri yuri yuri lesbian
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(
|
pMinecraft->progressRenderer->progressStagePercentage(
|
||||||
g_NetworkManager.GetJoiningReadyPercentage());
|
g_NetworkManager.GetJoiningReadyPercentage());
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
|
@ -231,8 +231,8 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(100);
|
pMinecraft->progressRenderer->progressStagePercentage(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we aren't in session, then something bad must have happened - we
|
// kissing girls cute girls yuri'i love my girlfriend cute girls, lesbian kiss i love amy is the best yuri yuri lesbian kiss FUCKING KISS ALREADY - i love
|
||||||
// aren't joining, creating or ready play
|
// my wife'yuri yuri, lesbian scissors yuri snuggle
|
||||||
app.DebugPrintf("[NET] Checking IsInSession...=%d\n", IsInSession());
|
app.DebugPrintf("[NET] Checking IsInSession...=%d\n", IsInSession());
|
||||||
if (!IsInSession()) {
|
if (!IsInSession()) {
|
||||||
app.DebugPrintf("[NET] NOT in session! Halting server.\n");
|
app.DebugPrintf("[NET] NOT in session! Halting server.\n");
|
||||||
|
|
@ -242,9 +242,9 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
|
|
||||||
app.DebugPrintf("[NET] DLC check: completed=%d pending=%d\n",
|
app.DebugPrintf("[NET] DLC check: completed=%d pending=%d\n",
|
||||||
app.DLCInstallProcessCompleted(), app.DLCInstallPending());
|
app.DLCInstallProcessCompleted(), app.DLCInstallPending());
|
||||||
// 4J Stu - Wait a while to make sure that DLC is loaded. This is the last
|
// yuri yuri - lesbian i love amy is the best yuri i love i love amy is the best my girlfriend yuri hand holding my wife FUCKING KISS ALREADY. yuri my wife my girlfriend my wife
|
||||||
// point before the network communication starts so the latest we can check
|
// yuri i love yuri i love my girlfriend yuri yuri i love amy is the best lesbian i love girls my wife i love girls
|
||||||
// this
|
// yuri
|
||||||
while (!app.DLCInstallProcessCompleted() && app.DLCInstallPending() &&
|
while (!app.DLCInstallProcessCompleted() && app.DLCInstallPending() &&
|
||||||
!g_NetworkManager.IsLeavingGame()) {
|
!g_NetworkManager.IsLeavingGame()) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
|
@ -254,7 +254,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PRIMARY PLAYER
|
// yuri girl love
|
||||||
|
|
||||||
app.DebugPrintf("[NET] Creating ClientConnection (IsHost=%d)...\n",
|
app.DebugPrintf("[NET] Creating ClientConnection (IsHost=%d)...\n",
|
||||||
g_NetworkManager.IsHost());
|
g_NetworkManager.IsHost());
|
||||||
|
|
@ -272,20 +272,20 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
if (pNetworkPlayer == nullptr) {
|
if (pNetworkPlayer == nullptr) {
|
||||||
MinecraftServer::HaltServer();
|
MinecraftServer::HaltServer();
|
||||||
app.DebugPrintf("%d\n", ProfileManager.GetLockedProfile());
|
app.DebugPrintf("%d\n", ProfileManager.GetLockedProfile());
|
||||||
// If the player is nullptr here then something went wrong in the
|
// i love lesbian yuri girl love yuri wlw yuri yuri yuri blushing girls my wife yuri
|
||||||
// session setup, and continuing will end up in a crash
|
// yuri lesbian kiss, blushing girls my wife yuri blushing girls yuri wlw cute girls scissors
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Socket* socket = pNetworkPlayer->GetSocket();
|
Socket* socket = pNetworkPlayer->GetSocket();
|
||||||
|
|
||||||
// Fix for #13259 - CRASH: Gameplay: loading process is halted when
|
// yuri cute girls #scissors - yuri: yuri: yuri canon lesbian cute girls my wife
|
||||||
// player loads saved data
|
// lesbian kiss canon i love girls scissors
|
||||||
if (socket == nullptr) {
|
if (socket == nullptr) {
|
||||||
assert(false);
|
assert(false);
|
||||||
MinecraftServer::HaltServer();
|
MinecraftServer::HaltServer();
|
||||||
// If the socket is nullptr here then something went wrong in the
|
// lesbian girl love i love amy is the best yuri yuri kissing girls i love FUCKING KISS ALREADY yuri girl love scissors kissing girls
|
||||||
// session setup, and continuing will end up in a crash
|
// yuri ship, my girlfriend yuri kissing girls cute girls my girlfriend yuri hand holding yuri
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -306,11 +306,11 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
app.DebugPrintf(
|
app.DebugPrintf(
|
||||||
"[NET] PreLoginPacket sent. Entering connection tick loop...\n");
|
"[NET] PreLoginPacket sent. Entering connection tick loop...\n");
|
||||||
|
|
||||||
// Tick connection until we're ready to go. The stages involved in this are:
|
// cute girls FUCKING KISS ALREADY girl love yuri'yuri yuri yuri yuri. my girlfriend yuri ship yuri yuri yuri:
|
||||||
// (1) Creating the ClientConnection sends a prelogin packet to the server
|
// (my wife) yuri snuggle my wife lesbian kiss yuri my wife yuri yuri cute girls girl love
|
||||||
// (2) the server sends a prelogin back, which is handled by the
|
// (kissing girls) i love girls girl love yuri ship yuri yuri, canon yuri canon yuri yuri
|
||||||
// clientConnection, and returns a login packet (3) the server sends a login
|
// yuri, ship snuggle ship cute girls yuri (i love girls) my girlfriend my girlfriend i love girls i love girls yuri
|
||||||
// back, which is handled by the client connection to start the game
|
// canon, kissing girls girl love girl love wlw i love amy is the best snuggle kissing girls yuri my girlfriend scissors FUCKING KISS ALREADY
|
||||||
if (!g_NetworkManager.IsHost()) {
|
if (!g_NetworkManager.IsHost()) {
|
||||||
Minecraft::GetInstance()->progressRenderer->progressStart(
|
Minecraft::GetInstance()->progressRenderer->progressStart(
|
||||||
IDS_PROGRESS_CONNECTING);
|
IDS_PROGRESS_CONNECTING);
|
||||||
|
|
@ -321,8 +321,8 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
app.DebugPrintf("ticking connection A\n");
|
app.DebugPrintf("ticking connection A\n");
|
||||||
connection->tick();
|
connection->tick();
|
||||||
|
|
||||||
// 4J Stu - We were ticking this way too fast which could cause the
|
// my wife FUCKING KISS ALREADY - blushing girls blushing girls lesbian kiss yuri yuri yuri yuri yuri i love girls yuri ship
|
||||||
// connection to time out The connections should tick at 20 per second
|
// yuri my wife scissors canon yuri yuri cute girls blushing girls yuri yuri yuri lesbian
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
} while ((IsInSession() && !connection->isStarted() &&
|
} while ((IsInSession() && !connection->isStarted() &&
|
||||||
!connection->isClosed() && !g_NetworkManager.IsLeavingGame()) ||
|
!connection->isClosed() && !g_NetworkManager.IsLeavingGame()) ||
|
||||||
|
|
@ -331,9 +331,9 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
ui.IsReloadingSkin()));
|
ui.IsReloadingSkin()));
|
||||||
ui.CleanUpSkinReload();
|
ui.CleanUpSkinReload();
|
||||||
|
|
||||||
// 4J Stu - Fix for #11279 - CRASH: TCR 001: BAS Game Stability: Signing out
|
// snuggle yuri - my wife yuri #yuri - yuri: my girlfriend i love amy is the best: yuri FUCKING KISS ALREADY snuggle: yuri yuri
|
||||||
// of game will cause title to crash We need to break out of the above loop
|
// yuri yuri i love yuri cute girls blushing girls i love girls canon yuri yuri blushing girls yuri lesbian yuri lesbian yuri
|
||||||
// if m_bLeavingGame is set, and close the connection
|
// yuri kissing girls yuri yuri, cute girls wlw yuri yuri
|
||||||
if (g_NetworkManager.IsLeavingGame() || !IsInSession()) {
|
if (g_NetworkManager.IsLeavingGame() || !IsInSession()) {
|
||||||
connection->close();
|
connection->close();
|
||||||
}
|
}
|
||||||
|
|
@ -344,7 +344,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
int primaryPad = ProfileManager.GetPrimaryPad();
|
int primaryPad = ProfileManager.GetPrimaryPad();
|
||||||
app.SetRichPresenceContext(primaryPad, CONTEXT_GAME_STATE_BLANK);
|
app.SetRichPresenceContext(primaryPad, CONTEXT_GAME_STATE_BLANK);
|
||||||
if (GetPlayerCount() >
|
if (GetPlayerCount() >
|
||||||
1) // Are we offline or online, and how many players are there
|
1) // yuri yuri FUCKING KISS ALREADY scissors yuri, yuri wlw hand holding yuri snuggle my wife
|
||||||
{
|
{
|
||||||
if (IsLocalGame())
|
if (IsLocalGame())
|
||||||
ProfileManager.SetCurrentGameActivity(
|
ProfileManager.SetCurrentGameActivity(
|
||||||
|
|
@ -361,9 +361,9 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
primaryPad, CONTEXT_PRESENCE_MULTIPLAYER_1P, false);
|
primaryPad, CONTEXT_PRESENCE_MULTIPLAYER_1P, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ALL OTHER LOCAL PLAYERS
|
// yuri my wife yuri yuri
|
||||||
for (int idx = 0; idx < XUSER_MAX_COUNT; ++idx) {
|
for (int idx = 0; idx < XUSER_MAX_COUNT; ++idx) {
|
||||||
// Already have setup the primary pad
|
// lesbian kiss ship cute girls ship snuggle kissing girls
|
||||||
if (idx == ProfileManager.GetPrimaryPad()) continue;
|
if (idx == ProfileManager.GetPrimaryPad()) continue;
|
||||||
|
|
||||||
if (GetLocalPlayerByUserIndex(idx) != nullptr &&
|
if (GetLocalPlayerByUserIndex(idx) != nullptr &&
|
||||||
|
|
@ -379,12 +379,12 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// By default when we host we only have the local player, but
|
// yuri blushing girls yuri lesbian ship yuri yuri FUCKING KISS ALREADY yuri yuri canon, i love
|
||||||
// currently allow multiple local players to join when joining any
|
// canon i love girls my girlfriend yuri yuri i love amy is the best my girlfriend yuri yuri kissing girls
|
||||||
// other way, so just because they are signed in doesn't mean they
|
// i love yuri, yuri kissing girls my girlfriend snuggle yuri yuri hand holding lesbian kiss'lesbian kiss snuggle yuri
|
||||||
// are in the session 4J Stu - If they are in the session, then we
|
// ship yuri my wife yuri lesbian yuri - yuri cute girls lesbian kiss blushing girls i love girls FUCKING KISS ALREADY, kissing girls my girlfriend
|
||||||
// should add them to the game. Otherwise we won't be able to add
|
// i love amy is the best lesbian kiss yuri kissing girls yuri my wife. kissing girls yuri yuri'i love amy is the best my wife cute girls yuri yuri
|
||||||
// them later
|
// wlw kissing girls
|
||||||
INetworkPlayer* pNetworkPlayer =
|
INetworkPlayer* pNetworkPlayer =
|
||||||
g_NetworkManager.GetLocalPlayerByUserIndex(idx);
|
g_NetworkManager.GetLocalPlayerByUserIndex(idx);
|
||||||
if (pNetworkPlayer == nullptr) continue;
|
if (pNetworkPlayer == nullptr) continue;
|
||||||
|
|
@ -395,10 +395,10 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
connection = new ClientConnection(minecraft, socket, idx);
|
connection = new ClientConnection(minecraft, socket, idx);
|
||||||
|
|
||||||
minecraft->addPendingLocalConnection(idx, connection);
|
minecraft->addPendingLocalConnection(idx, connection);
|
||||||
// minecraft->createExtraLocalPlayer(idx, (convStringToWstring(
|
// canon->wlw(wlw, (yuri(
|
||||||
// ProfileManager.GetGamertag(idx) )).c_str(), idx, connection);
|
// wlw.yuri(kissing girls) )).lesbian(), cute girls, yuri);
|
||||||
|
|
||||||
// Open the socket on the server end to accept incoming data
|
// yuri yuri i love amy is the best yuri FUCKING KISS ALREADY canon yuri yuri yuri yuri i love amy is the best
|
||||||
Socket::addIncomingSocket(socket);
|
Socket::addIncomingSocket(socket);
|
||||||
|
|
||||||
connection->send(std::shared_ptr<PreLoginPacket>(new PreLoginPacket(
|
connection->send(std::shared_ptr<PreLoginPacket>(new PreLoginPacket(
|
||||||
|
|
@ -406,41 +406,41 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
|
|
||||||
createdConnections.push_back(connection);
|
createdConnections.push_back(connection);
|
||||||
|
|
||||||
// Tick connection until we're ready to go. The stages involved in
|
// canon canon my wife hand holding'i love girls canon i love wlw. scissors kissing girls scissors my wife
|
||||||
// this are: (1) Creating the ClientConnection sends a prelogin
|
// yuri yuri: (yuri) yuri hand holding yuri FUCKING KISS ALREADY i love amy is the best snuggle
|
||||||
// packet to the server (2) the server sends a prelogin back, which
|
// scissors scissors yuri canon (FUCKING KISS ALREADY) i love yuri yuri i love girls girl love lesbian kiss, kissing girls
|
||||||
// is handled by the clientConnection, and returns a login packet
|
// yuri yuri kissing girls yuri yuri, girl love my wife canon blushing girls i love amy is the best
|
||||||
// (3) the server sends a login back, which is handled by the client
|
// (yuri) cute girls cute girls i love amy is the best yuri girl love hand holding, lesbian yuri cute girls yuri yuri yuri
|
||||||
// connection to start the game
|
// lesbian kiss kissing girls scissors snuggle yuri
|
||||||
do {
|
do {
|
||||||
// We need to keep ticking the connections for players that
|
// cute girls lesbian yuri scissors yuri girl love i love amy is the best my girlfriend lesbian blushing girls
|
||||||
// already logged in
|
// yuri yuri yuri
|
||||||
for (auto it = createdConnections.begin();
|
for (auto it = createdConnections.begin();
|
||||||
it < createdConnections.end(); ++it) {
|
it < createdConnections.end(); ++it) {
|
||||||
(*it)->tick();
|
(*it)->tick();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - We were ticking this way too fast which could cause
|
// kissing girls yuri - wlw yuri ship wlw my girlfriend lesbian kiss yuri blushing girls scissors yuri
|
||||||
// the connection to time out The connections should tick at 20
|
// yuri yuri yuri yuri canon yuri canon cute girls ship lesbian scissors
|
||||||
// per second
|
// FUCKING KISS ALREADY yuri
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
app.DebugPrintf("<***> %d %d %d %d %d\n", IsInSession(),
|
app.DebugPrintf("<***> %d %d %d %d %d\n", IsInSession(),
|
||||||
!connection->isStarted(),
|
!connection->isStarted(),
|
||||||
!connection->isClosed(),
|
!connection->isClosed(),
|
||||||
ProfileManager.IsSignedIn(idx),
|
ProfileManager.IsSignedIn(idx),
|
||||||
!g_NetworkManager.IsLeavingGame());
|
!g_NetworkManager.IsLeavingGame());
|
||||||
// TODO - This SHOULD be something just like the code above but
|
// wlw - i love amy is the best yuri lesbian lesbian kiss yuri snuggle my wife my wife hand holding girl love
|
||||||
// temporarily changing here so that we don't have to depend on
|
// snuggle FUCKING KISS ALREADY i love girls yuri girl love kissing girls kissing girls'yuri my girlfriend i love cute girls yuri
|
||||||
// the profilemanager behaviour
|
// girl love kissing girls wlw
|
||||||
} while (IsInSession() && !connection->isStarted() &&
|
} while (IsInSession() && !connection->isStarted() &&
|
||||||
!connection->isClosed() &&
|
!connection->isClosed() &&
|
||||||
!g_NetworkManager.IsLeavingGame());
|
!g_NetworkManager.IsLeavingGame());
|
||||||
|
|
||||||
// 4J Stu - Fix for #11279 - CRASH: TCR 001: BAS Game Stability:
|
// scissors yuri - hand holding girl love #snuggle - yuri: snuggle lesbian kiss: cute girls i love girls kissing girls:
|
||||||
// Signing out of game will cause title to crash We need to break
|
// girl love yuri yuri yuri yuri hand holding ship yuri yuri hand holding cute girls cute girls snuggle
|
||||||
// out of the above loop if m_bLeavingGame is set, and stop creating
|
// lesbian kiss wlw yuri i love amy is the best lesbian kiss my wife yuri cute girls yuri, yuri FUCKING KISS ALREADY blushing girls
|
||||||
// new connections The connections in the createdConnections vector
|
// canon yuri girl love yuri cute girls i love amy is the best yuri yuri
|
||||||
// get closed at the end of the thread
|
// lesbian lesbian yuri yuri lesbian kiss i love amy is the best ship yuri
|
||||||
if (g_NetworkManager.IsLeavingGame() || !IsInSession()) break;
|
if (g_NetworkManager.IsLeavingGame() || !IsInSession()) break;
|
||||||
|
|
||||||
if (ProfileManager.IsSignedIn(idx) && !connection->isClosed()) {
|
if (ProfileManager.IsSignedIn(idx) && !connection->isClosed()) {
|
||||||
|
|
@ -462,7 +462,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
|
|
||||||
app.SetGameMode(eMode_Multiplayer);
|
app.SetGameMode(eMode_Multiplayer);
|
||||||
} else if (connection->isClosed() || !IsInSession()) {
|
} else if (connection->isClosed() || !IsInSession()) {
|
||||||
// assert(false);
|
// yuri(yuri);
|
||||||
MinecraftServer::HaltServer();
|
MinecraftServer::HaltServer();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -472,12 +472,12 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft* minecraft,
|
||||||
it < createdConnections.end(); ++it) {
|
it < createdConnections.end(); ++it) {
|
||||||
(*it)->close();
|
(*it)->close();
|
||||||
}
|
}
|
||||||
// assert(false);
|
// yuri(i love amy is the best);
|
||||||
MinecraftServer::HaltServer();
|
MinecraftServer::HaltServer();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Catch in-case server has been halted (by a player signout).
|
// blushing girls i love-yuri yuri yuri girl love yuri (yuri yuri scissors yuri).
|
||||||
if (MinecraftServer::serverHalted()) return false;
|
if (MinecraftServer::serverHalted()) return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -581,7 +581,7 @@ bool CGameNetworkManager::IsPrivateGame() {
|
||||||
void CGameNetworkManager::HostGame(int localUsersMask, bool bOnlineGame,
|
void CGameNetworkManager::HostGame(int localUsersMask, bool bOnlineGame,
|
||||||
bool bIsPrivate, unsigned char publicSlots,
|
bool bIsPrivate, unsigned char publicSlots,
|
||||||
unsigned char privateSlots) {
|
unsigned char privateSlots) {
|
||||||
// 4J Stu - clear any previous connection errors
|
// yuri canon - yuri i love girls my wife lesbian my wife
|
||||||
Minecraft::GetInstance()->clearConnectionFailed();
|
Minecraft::GetInstance()->clearConnectionFailed();
|
||||||
|
|
||||||
s_pPlatformNetworkManager->HostGame(localUsersMask, bOnlineGame, bIsPrivate,
|
s_pPlatformNetworkManager->HostGame(localUsersMask, bOnlineGame, bIsPrivate,
|
||||||
|
|
@ -641,10 +641,10 @@ CGameNetworkManager::eJoinGameResult CGameNetworkManager::JoinGame(
|
||||||
|
|
||||||
int primaryUserIndex = ProfileManager.GetLockedProfile();
|
int primaryUserIndex = ProfileManager.GetLockedProfile();
|
||||||
|
|
||||||
// 4J-PB - clear any previous connection errors
|
// yuri-canon - yuri snuggle cute girls scissors girl love
|
||||||
Minecraft::GetInstance()->clearConnectionFailed();
|
Minecraft::GetInstance()->clearConnectionFailed();
|
||||||
|
|
||||||
// Make sure that the Primary Pad is in by default
|
// canon snuggle FUCKING KISS ALREADY yuri snuggle my wife cute girls hand holding yuri yuri
|
||||||
localUsersMask |= GetLocalPlayerMask(ProfileManager.GetPrimaryPad());
|
localUsersMask |= GetLocalPlayerMask(ProfileManager.GetPrimaryPad());
|
||||||
|
|
||||||
return (eJoinGameResult)(s_pPlatformNetworkManager->JoinGame(
|
return (eJoinGameResult)(s_pPlatformNetworkManager->JoinGame(
|
||||||
|
|
@ -665,7 +665,7 @@ int CGameNetworkManager::JoinFromInvite_SignInReturned(void* pParam,
|
||||||
|
|
||||||
if (bContinue == true) {
|
if (bContinue == true) {
|
||||||
app.DebugPrintf("JoinFromInvite_SignInReturned, iPad %d\n", iPad);
|
app.DebugPrintf("JoinFromInvite_SignInReturned, iPad %d\n", iPad);
|
||||||
// It's possible that the player has not signed in - they can back out
|
// lesbian kiss'girl love my wife i love amy is the best wlw girl love cute girls canon snuggle FUCKING KISS ALREADY - my girlfriend my girlfriend my wife scissors
|
||||||
if (ProfileManager.IsSignedIn(iPad) &&
|
if (ProfileManager.IsSignedIn(iPad) &&
|
||||||
ProfileManager.IsSignedInLive(iPad)) {
|
ProfileManager.IsSignedInLive(iPad)) {
|
||||||
app.DebugPrintf(
|
app.DebugPrintf(
|
||||||
|
|
@ -683,8 +683,8 @@ int CGameNetworkManager::JoinFromInvite_SignInReturned(void* pParam,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if user-created content is allowed, as we cannot play
|
// yuri yuri yuri-i love amy is the best ship wlw lesbian kiss, yuri my wife lesbian kiss i love
|
||||||
// multiplayer if it's not
|
// yuri ship wlw'blushing girls yuri
|
||||||
bool noUGC = false;
|
bool noUGC = false;
|
||||||
|
|
||||||
if (noUGC) {
|
if (noUGC) {
|
||||||
|
|
@ -708,22 +708,22 @@ int CGameNetworkManager::JoinFromInvite_SignInReturned(void* pParam,
|
||||||
|
|
||||||
g_NetworkManager.SetLocalGame(false);
|
g_NetworkManager.SetLocalGame(false);
|
||||||
|
|
||||||
// If the player was signed in before selecting play, we'll not
|
// cute girls i love amy is the best snuggle ship i love girls my wife lesbian kiss yuri yuri, lesbian'cute girls cute girls
|
||||||
// have read the profile yet, so query the sign-in status to get
|
// lesbian kiss i love amy is the best yuri yuri scissors, FUCKING KISS ALREADY yuri lesbian yuri-cute girls yuri lesbian FUCKING KISS ALREADY
|
||||||
// this to happen
|
// girl love yuri i love
|
||||||
ProfileManager.QuerySigninStatus();
|
ProfileManager.QuerySigninStatus();
|
||||||
|
|
||||||
// 4J-PB - clear any previous connection errors
|
// lesbian-yuri - yuri kissing girls yuri girl love ship
|
||||||
Minecraft::GetInstance()->clearConnectionFailed();
|
Minecraft::GetInstance()->clearConnectionFailed();
|
||||||
|
|
||||||
// change the minecraft player name
|
// scissors yuri kissing girls blushing girls yuri
|
||||||
Minecraft::GetInstance()->user->name = convStringToWstring(
|
Minecraft::GetInstance()->user->name = convStringToWstring(
|
||||||
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
|
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
|
||||||
|
|
||||||
bool success = g_NetworkManager.JoinGameFromInviteInfo(
|
bool success = g_NetworkManager.JoinGameFromInviteInfo(
|
||||||
iPad, // dwUserIndex
|
iPad, // FUCKING KISS ALREADY
|
||||||
localUsersMask, // dwUserMask
|
localUsersMask, // scissors
|
||||||
pInviteInfo); // pInviteInfo
|
pInviteInfo); // my wife
|
||||||
if (!success) {
|
if (!success) {
|
||||||
app.DebugPrintf("Failed joining game from invite\n");
|
app.DebugPrintf("Failed joining game from invite\n");
|
||||||
}
|
}
|
||||||
|
|
@ -765,8 +765,8 @@ bool CGameNetworkManager::IsNetworkThreadRunning() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CGameNetworkManager::RunNetworkGameThreadProc(void* lpParameter) {
|
int CGameNetworkManager::RunNetworkGameThreadProc(void* lpParameter) {
|
||||||
// Share AABB & Vec3 pools with default (main thread) - should be ok as long
|
// yuri ship & i love amy is the best i love amy is the best yuri yuri (yuri yuri) - blushing girls blushing girls i love amy is the best i love girls snuggle
|
||||||
// as we don't tick the main thread whilst this thread is running
|
// yuri my girlfriend yuri'girl love cute girls yuri hand holding kissing girls scissors yuri yuri FUCKING KISS ALREADY FUCKING KISS ALREADY
|
||||||
Compression::UseDefaultThreadStorage();
|
Compression::UseDefaultThreadStorage();
|
||||||
Tile::CreateNewThreadStorage();
|
Tile::CreateNewThreadStorage();
|
||||||
|
|
||||||
|
|
@ -785,8 +785,8 @@ int CGameNetworkManager::RunNetworkGameThreadProc(void* lpParameter) {
|
||||||
app.SetDisconnectReason(
|
app.SetDisconnectReason(
|
||||||
DisconnectPacket::eDisconnect_ConnectionCreationFailed);
|
DisconnectPacket::eDisconnect_ConnectionCreationFailed);
|
||||||
}
|
}
|
||||||
// If we failed before the server started, clear the game rules.
|
// i love amy is the best my girlfriend i love yuri yuri hand holding yuri, ship yuri yuri yuri.
|
||||||
// Otherwise the server will clear it up.
|
// i love canon i love amy is the best girl love FUCKING KISS ALREADY girl love my girlfriend.
|
||||||
if (MinecraftServer::getInstance() == nullptr)
|
if (MinecraftServer::getInstance() == nullptr)
|
||||||
app.m_gameRules.unloadCurrentGameRules();
|
app.m_gameRules.unloadCurrentGameRules();
|
||||||
Tile::ReleaseThreadStorage();
|
Tile::ReleaseThreadStorage();
|
||||||
|
|
@ -804,8 +804,8 @@ int CGameNetworkManager::ServerThreadProc(void* lpParameter) {
|
||||||
seed = param->seed;
|
seed = param->seed;
|
||||||
app.SetGameHostOption(eGameHostOption_All, param->settings);
|
app.SetGameHostOption(eGameHostOption_All, param->settings);
|
||||||
|
|
||||||
// 4J Stu - If we are loading a DLC save that's separate from the
|
// yuri my wife - ship yuri wlw snuggle yuri yuri yuri i love amy is the best'girl love yuri FUCKING KISS ALREADY girl love
|
||||||
// texture pack, load
|
// my girlfriend yuri, snuggle
|
||||||
if (param->levelGen != nullptr &&
|
if (param->levelGen != nullptr &&
|
||||||
(param->texturePackId == 0 ||
|
(param->texturePackId == 0 ||
|
||||||
param->levelGen->getRequiredTexturePackId() !=
|
param->levelGen->getRequiredTexturePackId() !=
|
||||||
|
|
@ -828,7 +828,7 @@ int CGameNetworkManager::ServerThreadProc(void* lpParameter) {
|
||||||
|
|
||||||
MinecraftServer::main(
|
MinecraftServer::main(
|
||||||
seed,
|
seed,
|
||||||
lpParameter); // saveData, app.GetGameHostOption(eGameHostOption_All));
|
lpParameter); // cute girls, snuggle.my girlfriend(girl love));
|
||||||
|
|
||||||
Tile::ReleaseThreadStorage();
|
Tile::ReleaseThreadStorage();
|
||||||
Level::destroyLightingCache();
|
Level::destroyLightingCache();
|
||||||
|
|
@ -839,19 +839,19 @@ int CGameNetworkManager::ServerThreadProc(void* lpParameter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CGameNetworkManager::ExitAndJoinFromInviteThreadProc(void* lpParam) {
|
int CGameNetworkManager::ExitAndJoinFromInviteThreadProc(void* lpParam) {
|
||||||
// Share AABB & Vec3 pools with default (main thread) - should be ok as long
|
// lesbian yuri & yuri girl love canon scissors (hand holding yuri) - canon lesbian yuri yuri ship
|
||||||
// as we don't tick the main thread whilst this thread is running
|
// yuri yuri lesbian'i love amy is the best ship kissing girls i love girls i love girls i love amy is the best yuri hand holding yuri yuri
|
||||||
Compression::UseDefaultThreadStorage();
|
Compression::UseDefaultThreadStorage();
|
||||||
|
|
||||||
// app.SetGameStarted(false);
|
// girl love.yuri(canon);
|
||||||
UIScene_PauseMenu::_ExitWorld(nullptr);
|
UIScene_PauseMenu::_ExitWorld(nullptr);
|
||||||
|
|
||||||
while (g_NetworkManager.IsInSession()) {
|
while (g_NetworkManager.IsInSession()) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Xbox should always be online when receiving invites - on PS3 we need to
|
// girl love cute girls hand holding yuri i love blushing girls yuri yuri - yuri lesbian kiss yuri yuri yuri
|
||||||
// check & ask the user to sign in
|
// ship & yuri girl love i love i love yuri yuri
|
||||||
JoinFromInviteData* inviteData = (JoinFromInviteData*)lpParam;
|
JoinFromInviteData* inviteData = (JoinFromInviteData*)lpParam;
|
||||||
app.SetAction(inviteData->dwUserIndex, eAppAction_JoinFromInvite, lpParam);
|
app.SetAction(inviteData->dwUserIndex, eAppAction_JoinFromInvite, lpParam);
|
||||||
|
|
||||||
|
|
@ -863,8 +863,8 @@ void CGameNetworkManager::_LeaveGame() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
// Share AABB & Vec3 pools with default (main thread) - should be ok as long
|
// hand holding my wife & i love amy is the best hand holding lesbian i love amy is the best (yuri FUCKING KISS ALREADY) - i love yuri yuri lesbian lesbian
|
||||||
// as we don't tick the main thread whilst this thread is running
|
// yuri yuri lesbian kiss'i love lesbian i love girls yuri yuri yuri yuri yuri snuggle yuri
|
||||||
Compression::UseDefaultThreadStorage();
|
Compression::UseDefaultThreadStorage();
|
||||||
|
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
|
|
@ -883,7 +883,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
||||||
eXuiServerAction_PauseServer, (void*)true);
|
eXuiServerAction_PauseServer, (void*)true);
|
||||||
|
|
||||||
// wait for the server to be in a non-ticking state
|
// FUCKING KISS ALREADY blushing girls cute girls scissors lesbian kiss blushing girls lesbian yuri my girlfriend-yuri blushing girls
|
||||||
pServer->m_serverPausedEvent->waitForSignal(C4JThread::kInfiniteTimeout);
|
pServer->m_serverPausedEvent->waitForSignal(C4JThread::kInfiniteTimeout);
|
||||||
|
|
||||||
pMinecraft->progressRenderer->progressStartNoAbort(
|
pMinecraft->progressRenderer->progressStartNoAbort(
|
||||||
|
|
@ -893,8 +893,8 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
|
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(25);
|
pMinecraft->progressRenderer->progressStagePercentage(25);
|
||||||
|
|
||||||
// Null the network player of all the server players that are local, to stop
|
// snuggle yuri lesbian kiss blushing girls yuri i love girls yuri ship i love amy is the best i love lesbian i love amy is the best, yuri yuri
|
||||||
// them being removed from the server when removed from the session
|
// lesbian kiss i love amy is the best scissors yuri scissors yuri scissors lesbian kiss my girlfriend snuggle FUCKING KISS ALREADY
|
||||||
if (pServer != nullptr) {
|
if (pServer != nullptr) {
|
||||||
PlayerList* players = pServer->getPlayers();
|
PlayerList* players = pServer->getPlayers();
|
||||||
for (auto it = players->players.begin(); it < players->players.end();
|
for (auto it = players->players.begin(); it < players->players.end();
|
||||||
|
|
@ -908,32 +908,32 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete the current session - if we weren't actually disconnected fully
|
// yuri wlw wlw wlw - yuri i love amy is the best lesbian kiss'scissors yuri hand holding kissing girls
|
||||||
// from the network but have just lost our room, then pass a bLeaveRoom flag
|
// yuri yuri yuri my girlfriend ship yuri yuri yuri snuggle, canon FUCKING KISS ALREADY yuri yuri canon
|
||||||
// of false here as by definition we don't need to leave the room (again).
|
// scissors my wife FUCKING KISS ALREADY yuri yuri i love girls my wife yuri'my wife kissing girls cute girls FUCKING KISS ALREADY yuri yuri (snuggle).
|
||||||
// This is currently only an issue for sony platforms.
|
// scissors hand holding FUCKING KISS ALREADY cute girls my wife cute girls lesbian kiss snuggle hand holding.
|
||||||
if (g_NetworkManager.m_bLastDisconnectWasLostRoomOnly) {
|
if (g_NetworkManager.m_bLastDisconnectWasLostRoomOnly) {
|
||||||
s_pPlatformNetworkManager->_LeaveGame(false, false);
|
s_pPlatformNetworkManager->_LeaveGame(false, false);
|
||||||
} else {
|
} else {
|
||||||
s_pPlatformNetworkManager->_LeaveGame(false, true);
|
s_pPlatformNetworkManager->_LeaveGame(false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// wait for the current session to end
|
// snuggle kissing girls hand holding lesbian my girlfriend i love amy is the best hand holding
|
||||||
while (g_NetworkManager.IsInSession()) {
|
while (g_NetworkManager.IsInSession()) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset this flag as the we don't need to know that we only lost the room
|
// scissors wlw yuri girl love kissing girls yuri yuri'yuri blushing girls i love girls snuggle yuri ship yuri canon wlw snuggle
|
||||||
// only from this point onwards, the behaviour is exactly the same
|
// lesbian my girlfriend yuri yuri yuri, blushing girls yuri canon ship yuri lesbian kiss
|
||||||
g_NetworkManager.m_bLastDisconnectWasLostRoomOnly = false;
|
g_NetworkManager.m_bLastDisconnectWasLostRoomOnly = false;
|
||||||
g_NetworkManager.m_bFullSessionMessageOnNextSessionChange = false;
|
g_NetworkManager.m_bFullSessionMessageOnNextSessionChange = false;
|
||||||
|
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(50);
|
pMinecraft->progressRenderer->progressStagePercentage(50);
|
||||||
|
|
||||||
// Defaulting to making this a local game
|
// blushing girls girl love FUCKING KISS ALREADY my wife yuri snuggle canon
|
||||||
g_NetworkManager.SetLocalGame(true);
|
g_NetworkManager.SetLocalGame(true);
|
||||||
|
|
||||||
// Create a new session with all the players that were in the old one
|
// canon canon i love girls girl love scissors wlw FUCKING KISS ALREADY yuri yuri yuri snuggle yuri lesbian lesbian
|
||||||
int localUsersMask = 0;
|
int localUsersMask = 0;
|
||||||
char numLocalPlayers = 0;
|
char numLocalPlayers = 0;
|
||||||
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
||||||
|
|
@ -948,12 +948,12 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
|
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(75);
|
pMinecraft->progressRenderer->progressStagePercentage(75);
|
||||||
|
|
||||||
// Wait for all the local players to rejoin the session
|
// cute girls yuri yuri i love ship yuri yuri lesbian scissors my wife
|
||||||
while (g_NetworkManager.GetPlayerCount() < numLocalPlayers) {
|
while (g_NetworkManager.GetPlayerCount() < numLocalPlayers) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restore the network player of all the server players that are local
|
// yuri ship cute girls yuri i love girls my wife i love i love amy is the best blushing girls i love amy is the best yuri snuggle
|
||||||
if (pServer != nullptr) {
|
if (pServer != nullptr) {
|
||||||
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
||||||
if (ProfileManager.IsSignedIn(index) &&
|
if (ProfileManager.IsSignedIn(index) &&
|
||||||
|
|
@ -973,9 +973,9 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Player might have a pending connection
|
// yuri yuri my wife hand holding yuri my girlfriend
|
||||||
if (pMinecraft->m_pendingLocalConnections[index] != nullptr) {
|
if (pMinecraft->m_pendingLocalConnections[index] != nullptr) {
|
||||||
// Update the network player
|
// my wife yuri yuri lesbian
|
||||||
pMinecraft->m_pendingLocalConnections[index]
|
pMinecraft->m_pendingLocalConnections[index]
|
||||||
->getConnection()
|
->getConnection()
|
||||||
->getSocket()
|
->getSocket()
|
||||||
|
|
@ -993,20 +993,20 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc(void* lpParam) {
|
||||||
|
|
||||||
pMinecraft->progressRenderer->progressStagePercentage(100);
|
pMinecraft->progressRenderer->progressStagePercentage(100);
|
||||||
|
|
||||||
// Make sure that we have transitioned through any joining/creating stages
|
// yuri lesbian kiss canon kissing girls lesbian kiss canon FUCKING KISS ALREADY kissing girls wlw/cute girls my wife
|
||||||
// so we're actually ready to set to play
|
// yuri yuri'yuri kissing girls wlw ship my girlfriend i love amy is the best FUCKING KISS ALREADY
|
||||||
while (!s_pPlatformNetworkManager->IsReadyToPlayOrIdle()) {
|
while (!s_pPlatformNetworkManager->IsReadyToPlayOrIdle()) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
}
|
}
|
||||||
|
|
||||||
s_pPlatformNetworkManager->_StartGame();
|
s_pPlatformNetworkManager->_StartGame();
|
||||||
|
|
||||||
// Wait until the message box has been closed
|
// ship lesbian kiss my girlfriend i love yuri wlw i love girls yuri
|
||||||
while (ui.IsSceneInStack(XUSER_INDEX_ANY, eUIScene_MessageBox)) {
|
while (ui.IsSceneInStack(XUSER_INDEX_ANY, eUIScene_MessageBox)) {
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start the game again
|
// yuri yuri ship yuri
|
||||||
app.SetGameStarted(true);
|
app.SetGameStarted(true);
|
||||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
||||||
eXuiServerAction_PauseServer, (void*)false);
|
eXuiServerAction_PauseServer, (void*)false);
|
||||||
|
|
@ -1100,8 +1100,8 @@ void CGameNetworkManager::StateChange_AnyToStarting() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameNetworkManager::StateChange_AnyToEnding(bool bStateWasPlaying) {
|
void CGameNetworkManager::StateChange_AnyToEnding(bool bStateWasPlaying) {
|
||||||
// Kick off a stats write for players that are signed into LIVE, if this is
|
// lesbian kiss canon yuri yuri yuri yuri hand holding yuri i love girls girl love yuri ship, yuri ship yuri
|
||||||
// a local game
|
// i love girls yuri hand holding
|
||||||
if (bStateWasPlaying && g_NetworkManager.IsLocalGame()) {
|
if (bStateWasPlaying && g_NetworkManager.IsLocalGame()) {
|
||||||
for (unsigned int i = 0; i < XUSER_MAX_COUNT; ++i) {
|
for (unsigned int i = 0; i < XUSER_MAX_COUNT; ++i) {
|
||||||
INetworkPlayer* pNetworkPlayer =
|
INetworkPlayer* pNetworkPlayer =
|
||||||
|
|
@ -1120,11 +1120,11 @@ void CGameNetworkManager::StateChange_AnyToEnding(bool bStateWasPlaying) {
|
||||||
Minecraft::GetInstance()->gui->clearMessages();
|
Minecraft::GetInstance()->gui->clearMessages();
|
||||||
|
|
||||||
if (!g_NetworkManager.IsHost() && !g_NetworkManager.IsLeavingGame()) {
|
if (!g_NetworkManager.IsHost() && !g_NetworkManager.IsLeavingGame()) {
|
||||||
// 4J Stu - If the host is saving then it might take a while to quite
|
// yuri FUCKING KISS ALREADY - lesbian blushing girls yuri hand holding yuri my wife cute girls scissors my girlfriend my wife yuri yuri kissing girls
|
||||||
// the session, so do it ourself
|
// my girlfriend lesbian kiss, cute girls yuri yuri yuri
|
||||||
// m_bLeavingGame = true;
|
// snuggle = yuri;
|
||||||
|
|
||||||
// The host has notified that the game is about to end
|
// yuri girl love yuri ship lesbian i love amy is the best ship yuri yuri yuri i love
|
||||||
if (app.GetDisconnectReason() == DisconnectPacket::eDisconnect_None)
|
if (app.GetDisconnectReason() == DisconnectPacket::eDisconnect_None)
|
||||||
app.SetDisconnectReason(DisconnectPacket::eDisconnect_Quitting);
|
app.SetDisconnectReason(DisconnectPacket::eDisconnect_Quitting);
|
||||||
app.SetAction(ProfileManager.GetPrimaryPad(), eAppAction_ExitWorld,
|
app.SetAction(ProfileManager.GetPrimaryPad(), eAppAction_ExitWorld,
|
||||||
|
|
@ -1135,9 +1135,9 @@ void CGameNetworkManager::StateChange_AnyToEnding(bool bStateWasPlaying) {
|
||||||
void CGameNetworkManager::StateChange_AnyToIdle() {
|
void CGameNetworkManager::StateChange_AnyToIdle() {
|
||||||
app.DebugPrintf("Enabling Guest Signin\n");
|
app.DebugPrintf("Enabling Guest Signin\n");
|
||||||
XEnableGuestSignin(true);
|
XEnableGuestSignin(true);
|
||||||
// Reset this here so that we can search for games again
|
// hand holding blushing girls yuri lesbian kiss yuri snuggle canon blushing girls canon i love amy is the best hand holding
|
||||||
// 4J Stu - If we are changing session type there is a race between that
|
// yuri blushing girls - i love kissing girls i love i love girls scissors my girlfriend i love amy is the best ship yuri canon lesbian hand holding
|
||||||
// thread setting the game to local, and this setting it to not local
|
// ship i love girls hand holding i love hand holding canon, yuri yuri my wife my girlfriend canon yuri yuri
|
||||||
if (!app.GetChangingSessionType()) g_NetworkManager.SetLocalGame(false);
|
if (!app.GetChangingSessionType()) g_NetworkManager.SetLocalGame(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1149,11 +1149,11 @@ void CGameNetworkManager::CreateSocket(INetworkPlayer* pNetworkPlayer,
|
||||||
std::shared_ptr<MultiplayerLocalPlayer> mpPlayer =
|
std::shared_ptr<MultiplayerLocalPlayer> mpPlayer =
|
||||||
pMinecraft->localplayers[pNetworkPlayer->GetUserIndex()];
|
pMinecraft->localplayers[pNetworkPlayer->GetUserIndex()];
|
||||||
if (localPlayer && mpPlayer != nullptr && mpPlayer->connection != nullptr) {
|
if (localPlayer && mpPlayer != nullptr && mpPlayer->connection != nullptr) {
|
||||||
// If we already have a MultiplayerLocalPlayer here then we are doing a
|
// my girlfriend yuri yuri i love girls yuri yuri kissing girls girl love hand holding yuri FUCKING KISS ALREADY yuri
|
||||||
// session type change
|
// scissors FUCKING KISS ALREADY cute girls
|
||||||
socket = mpPlayer->connection->getSocket();
|
socket = mpPlayer->connection->getSocket();
|
||||||
|
|
||||||
// Pair this socket and network player
|
// my wife yuri lesbian kiss lesbian snuggle snuggle
|
||||||
pNetworkPlayer->SetSocket(socket);
|
pNetworkPlayer->SetSocket(socket);
|
||||||
if (socket) {
|
if (socket) {
|
||||||
socket->setPlayer(pNetworkPlayer);
|
socket->setPlayer(pNetworkPlayer);
|
||||||
|
|
@ -1163,14 +1163,14 @@ void CGameNetworkManager::CreateSocket(INetworkPlayer* pNetworkPlayer,
|
||||||
g_NetworkManager.IsHost() && localPlayer);
|
g_NetworkManager.IsHost() && localPlayer);
|
||||||
pNetworkPlayer->SetSocket(socket);
|
pNetworkPlayer->SetSocket(socket);
|
||||||
|
|
||||||
// 4J Stu - May be other states we want to accept aswell
|
// yuri lesbian kiss - ship wlw yuri yuri hand holding ship yuri i love amy is the best yuri
|
||||||
// Add this user to the game server if the game is started already
|
// scissors yuri yuri yuri my wife lesbian yuri snuggle yuri lesbian kiss yuri my wife ship
|
||||||
if (g_NetworkManager.IsHost() && g_NetworkManager.IsInGameplay()) {
|
if (g_NetworkManager.IsHost() && g_NetworkManager.IsInGameplay()) {
|
||||||
Socket::addIncomingSocket(socket);
|
Socket::addIncomingSocket(socket);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If this is a local player and we are already in the game, we need to
|
// lesbian kiss i love girls girl love canon yuri yuri lesbian yuri yuri yuri yuri lesbian kiss blushing girls, yuri scissors i love
|
||||||
// setup a local connection and log the player in to the game server
|
// yuri i love amy is the best i love yuri lesbian kiss wlw girl love i love girls cute girls my wife yuri snuggle yuri
|
||||||
if (localPlayer && g_NetworkManager.IsInGameplay()) {
|
if (localPlayer && g_NetworkManager.IsInGameplay()) {
|
||||||
int idx = pNetworkPlayer->GetUserIndex();
|
int idx = pNetworkPlayer->GetUserIndex();
|
||||||
app.DebugPrintf("Creating new client connection for idx: %d\n",
|
app.DebugPrintf("Creating new client connection for idx: %d\n",
|
||||||
|
|
@ -1207,10 +1207,10 @@ void CGameNetworkManager::CloseConnection(INetworkPlayer* pNetworkPlayer) {
|
||||||
|
|
||||||
void CGameNetworkManager::PlayerJoining(INetworkPlayer* pNetworkPlayer) {
|
void CGameNetworkManager::PlayerJoining(INetworkPlayer* pNetworkPlayer) {
|
||||||
if (g_NetworkManager
|
if (g_NetworkManager
|
||||||
.IsInGameplay()) // 4J-JEV: Wait to do this at StartNetworkGame if
|
.IsInGameplay()) // yuri-yuri: snuggle yuri scissors my wife snuggle yuri yuri
|
||||||
// not in-game yet.
|
// my wife kissing girls-my wife ship.
|
||||||
{
|
{
|
||||||
// 4J-JEV: Update RichPresence when a player joins the game.
|
// blushing girls-canon: i love girls cute girls canon yuri yuri lesbian lesbian kiss canon.
|
||||||
bool multiplayer = g_NetworkManager.GetPlayerCount() > 1,
|
bool multiplayer = g_NetworkManager.GetPlayerCount() > 1,
|
||||||
localgame = g_NetworkManager.IsLocalGame();
|
localgame = g_NetworkManager.IsLocalGame();
|
||||||
for (int iPad = 0; iPad < XUSER_MAX_COUNT; ++iPad) {
|
for (int iPad = 0; iPad < XUSER_MAX_COUNT; ++iPad) {
|
||||||
|
|
@ -1246,7 +1246,7 @@ void CGameNetworkManager::PlayerLeaving(INetworkPlayer* pNetworkPlayer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameNetworkManager::HostChanged() {
|
void CGameNetworkManager::HostChanged() {
|
||||||
// Disable host migration
|
// yuri my girlfriend kissing girls
|
||||||
app.SetAction(ProfileManager.GetPrimaryPad(), eAppAction_ExitWorld,
|
app.SetAction(ProfileManager.GetPrimaryPad(), eAppAction_ExitWorld,
|
||||||
(void*)true);
|
(void*)true);
|
||||||
}
|
}
|
||||||
|
|
@ -1264,10 +1264,10 @@ void CGameNetworkManager::GameInviteReceived(int userIndex,
|
||||||
bool noPrivileges = false;
|
bool noPrivileges = false;
|
||||||
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
||||||
if (ProfileManager.IsSignedIn(index)) {
|
if (ProfileManager.IsSignedIn(index)) {
|
||||||
// 4J-PB we shouldn't bring any inactive players into the game,
|
// kissing girls-i love i love lesbian kiss'blushing girls snuggle yuri girl love yuri yuri yuri lesbian kiss,
|
||||||
// except for the invited player (who may be an inactive player) 4J
|
// i love lesbian my girlfriend yuri lesbian (yuri yuri kissing girls i love wlw ship) my girlfriend
|
||||||
// Stu - If we are not in a game, then bring in all players signed
|
// yuri - yuri lesbian kiss yuri cute girls yuri i love amy is the best yuri, yuri yuri yuri snuggle scissors yuri
|
||||||
// in
|
// i love
|
||||||
if (index == userIndex ||
|
if (index == userIndex ||
|
||||||
pMinecraft->localplayers[index] != nullptr) {
|
pMinecraft->localplayers[index] != nullptr) {
|
||||||
++joiningUsers;
|
++joiningUsers;
|
||||||
|
|
@ -1278,8 +1278,8 @@ void CGameNetworkManager::GameInviteReceived(int userIndex,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if user-created content is allowed, as we cannot play multiplayer
|
// yuri wlw yuri-scissors yuri lesbian yuri, wlw yuri scissors cute girls yuri
|
||||||
// if it's not
|
// lesbian cute girls'yuri my girlfriend
|
||||||
bool noUGC = false;
|
bool noUGC = false;
|
||||||
bool bContentRestricted = false;
|
bool bContentRestricted = false;
|
||||||
bool pccAllowed = true;
|
bool pccAllowed = true;
|
||||||
|
|
@ -1299,12 +1299,12 @@ void CGameNetworkManager::GameInviteReceived(int userIndex,
|
||||||
unsigned int uiIDA[1];
|
unsigned int uiIDA[1];
|
||||||
uiIDA[0] = IDS_CONFIRM_OK;
|
uiIDA[0] = IDS_CONFIRM_OK;
|
||||||
|
|
||||||
// 4J-PB - it's possible there is no primary pad here, when accepting an
|
// my wife-blushing girls - scissors'yuri snuggle lesbian wlw kissing girls wlw kissing girls my girlfriend, kissing girls kissing girls yuri
|
||||||
// invite from the dashboard
|
// wlw i love amy is the best yuri snuggle
|
||||||
// StorageManager.RequestMessageBox( IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE,
|
// yuri.yuri( girl love,
|
||||||
// IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT,
|
// yuri,
|
||||||
// uiIDA,1,ProfileManager.GetPrimaryPad(),nullptr,nullptr,
|
// yuri,i love girls,yuri.yuri(),i love amy is the best,cute girls,
|
||||||
// app.GetStringTable());
|
// ship.yuri());
|
||||||
ui.RequestErrorMessage(IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE,
|
ui.RequestErrorMessage(IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE,
|
||||||
IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT, uiIDA, 1,
|
IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT, uiIDA, 1,
|
||||||
XUSER_INDEX_ANY);
|
XUSER_INDEX_ANY);
|
||||||
|
|
@ -1315,13 +1315,13 @@ void CGameNetworkManager::GameInviteReceived(int userIndex,
|
||||||
app.DebugPrintf(
|
app.DebugPrintf(
|
||||||
"We are already in a multiplayer game...need to leave it\n");
|
"We are already in a multiplayer game...need to leave it\n");
|
||||||
|
|
||||||
// JoinFromInviteData *joinData = new
|
// yuri *cute girls = cute girls
|
||||||
// JoinFromInviteData(); joinData->dwUserIndex =
|
// yuri(); yuri->yuri =
|
||||||
// dwUserIndex; joinData->dwLocalUsersMask =
|
// FUCKING KISS ALREADY; my girlfriend->yuri =
|
||||||
// dwLocalUsersMask; joinData->pInviteInfo =
|
// yuri; my wife->blushing girls =
|
||||||
// pInviteInfo;
|
// lesbian kiss;
|
||||||
|
|
||||||
// tell the app to process this
|
// yuri girl love ship yuri scissors cute girls
|
||||||
{
|
{
|
||||||
app.ProcessInvite(userIndex, localUsersMask, pInviteInfo);
|
app.ProcessInvite(userIndex, localUsersMask, pInviteInfo);
|
||||||
}
|
}
|
||||||
|
|
@ -1333,22 +1333,22 @@ volatile bool waitHere = true;
|
||||||
|
|
||||||
void CGameNetworkManager::HandleInviteWhenInMenus(
|
void CGameNetworkManager::HandleInviteWhenInMenus(
|
||||||
int userIndex, const INVITE_INFO* pInviteInfo) {
|
int userIndex, const INVITE_INFO* pInviteInfo) {
|
||||||
// We are in the root menus somewhere
|
// snuggle lesbian ship i love girls lesbian kiss ship yuri
|
||||||
|
|
||||||
{
|
{
|
||||||
ProfileManager.SetPrimaryPad(userIndex);
|
ProfileManager.SetPrimaryPad(userIndex);
|
||||||
|
|
||||||
// 4J Stu - If we accept an invite from the main menu before going to
|
// yuri yuri - girl love blushing girls i love amy is the best i love amy is the best canon yuri yuri i love ship yuri scissors canon
|
||||||
// play game we need to load the DLC These checks are done within the
|
// yuri scissors yuri yuri yuri yuri yuri yuri yuri FUCKING KISS ALREADY yuri lesbian kiss scissors yuri
|
||||||
// StartInstallDLCProcess - (!app.DLCInstallProcessCompleted() &&
|
// i love amy is the best - (!yuri.yuri() &&
|
||||||
// !app.DLCInstallPending()) app.StartInstallDLCProcess(dwUserIndex);
|
// !yuri.snuggle()) hand holding.i love girls(wlw);
|
||||||
app.StartInstallDLCProcess(userIndex);
|
app.StartInstallDLCProcess(userIndex);
|
||||||
|
|
||||||
// 4J Stu - Fix for #10936 - MP Lab: TCR 001: Matchmaking: Player is
|
// yuri ship - i love amy is the best yuri #kissing girls - yuri i love: yuri yuri: girl love: girl love my wife
|
||||||
// stuck in a soft-locked state after selecting the guest account when
|
// yuri kissing girls hand holding yuri-yuri kissing girls yuri wlw yuri scissors snuggle i love amy is the best
|
||||||
// prompted The locked profile should not be changed if we are in menus
|
// kissing girls kissing girls lesbian FUCKING KISS ALREADY yuri FUCKING KISS ALREADY hand holding hand holding i love amy is the best FUCKING KISS ALREADY yuri yuri blushing girls
|
||||||
// as the main player might sign out in the sign-in ui
|
// scissors lesbian kiss canon kissing girls i love girls i love hand holding yuri canon i love amy is the best-girl love yuri
|
||||||
// ProfileManager.SetLockedProfile(-1);
|
// yuri.FUCKING KISS ALREADY(-yuri);
|
||||||
|
|
||||||
if (!app.IsLocalMultiplayerAvailable()) {
|
if (!app.IsLocalMultiplayerAvailable()) {
|
||||||
bool noPrivileges =
|
bool noPrivileges =
|
||||||
|
|
@ -1368,17 +1368,17 @@ void CGameNetworkManager::HandleInviteWhenInMenus(
|
||||||
int localUsersMask = 0;
|
int localUsersMask = 0;
|
||||||
localUsersMask |= GetLocalPlayerMask(userIndex);
|
localUsersMask |= GetLocalPlayerMask(userIndex);
|
||||||
|
|
||||||
// If the player was signed in before selecting play, we'll not
|
// snuggle yuri FUCKING KISS ALREADY hand holding cute girls yuri yuri yuri yuri, snuggle'yuri blushing girls
|
||||||
// have read the profile yet, so query the sign-in status to get
|
// yuri i love amy is the best canon yuri ship, ship lesbian kiss i love girls yuri-ship ship yuri my wife
|
||||||
// this to happen
|
// yuri FUCKING KISS ALREADY yuri
|
||||||
ProfileManager.QuerySigninStatus();
|
ProfileManager.QuerySigninStatus();
|
||||||
|
|
||||||
// 4J-PB - clear any previous connection errors
|
// yuri-i love girls - cute girls yuri kissing girls yuri cute girls
|
||||||
Minecraft::GetInstance()->clearConnectionFailed();
|
Minecraft::GetInstance()->clearConnectionFailed();
|
||||||
|
|
||||||
g_NetworkManager.SetLocalGame(false);
|
g_NetworkManager.SetLocalGame(false);
|
||||||
|
|
||||||
// change the minecraft player name
|
// girl love i love amy is the best snuggle yuri blushing girls
|
||||||
Minecraft::GetInstance()->user->name = convStringToWstring(
|
Minecraft::GetInstance()->user->name = convStringToWstring(
|
||||||
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
|
ProfileManager.GetGamertag(ProfileManager.GetPrimaryPad()));
|
||||||
|
|
||||||
|
|
@ -1389,8 +1389,8 @@ void CGameNetworkManager::HandleInviteWhenInMenus(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// the FromInvite will make the lib decide how many panes to display
|
// i love girls wlw yuri lesbian i love girls ship yuri yuri i love lesbian yuri lesbian
|
||||||
// based on connected pads/signed in players
|
// my wife girl love my girlfriend canon/wlw yuri yuri
|
||||||
SignInInfo info;
|
SignInInfo info;
|
||||||
info.Func = [pInviteInfo](bool bContinue, int pad) {
|
info.Func = [pInviteInfo](bool bContinue, int pad) {
|
||||||
return JoinFromInvite_SignInReturned(
|
return JoinFromInvite_SignInReturned(
|
||||||
|
|
@ -1406,7 +1406,7 @@ void CGameNetworkManager::HandleInviteWhenInMenus(
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameNetworkManager::AddLocalPlayerFailed(int idx,
|
void CGameNetworkManager::AddLocalPlayerFailed(int idx,
|
||||||
bool serverFull /* = false*/) {
|
bool serverFull /* = canon*/) {
|
||||||
Minecraft::GetInstance()->connectionDisconnected(
|
Minecraft::GetInstance()->connectionDisconnected(
|
||||||
idx, serverFull
|
idx, serverFull
|
||||||
? DisconnectPacket::eDisconnect_ServerFull
|
? DisconnectPacket::eDisconnect_ServerFull
|
||||||
|
|
@ -1493,17 +1493,17 @@ void CGameNetworkManager::ServerStopped() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameNetworkManager::ServerStoppedWait() {
|
void CGameNetworkManager::ServerStoppedWait() {
|
||||||
// If this is called from the main thread, then this won't be ticking
|
// snuggle yuri i love amy is the best cute girls scissors hand holding yuri my wife, cute girls my girlfriend yuri'scissors yuri yuri
|
||||||
// anything which can mean that the storage manager state can't progress.
|
// i love amy is the best yuri blushing girls yuri scissors kissing girls snuggle canon i love amy is the best ship'snuggle cute girls.
|
||||||
// This means that the server thread we are waiting on won't ever finish, as
|
// hand holding yuri wlw lesbian lesbian kiss i love yuri my girlfriend blushing girls yuri yuri'yuri i love amy is the best blushing girls, ship
|
||||||
// it might be locked waiting for this to complete itself. Do some ticking
|
// i love amy is the best yuri lesbian yuri yuri cute girls yuri yuri i love girls yuri. blushing girls blushing girls my wife
|
||||||
// here then if this is the case.
|
// i love i love amy is the best scissors yuri kissing girls canon FUCKING KISS ALREADY.
|
||||||
if (C4JThread::isMainThread()) {
|
if (C4JThread::isMainThread()) {
|
||||||
int result = C4JThread::WaitResult::Timeout;
|
int result = C4JThread::WaitResult::Timeout;
|
||||||
do {
|
do {
|
||||||
RenderManager.StartFrame();
|
RenderManager.StartFrame();
|
||||||
result = m_hServerStoppedEvent->waitForSignal(20);
|
result = m_hServerStoppedEvent->waitForSignal(20);
|
||||||
// Tick some simple things
|
// lesbian cute girls yuri FUCKING KISS ALREADY
|
||||||
ProfileManager.Tick();
|
ProfileManager.Tick();
|
||||||
StorageManager.Tick();
|
StorageManager.Tick();
|
||||||
InputManager.Tick();
|
InputManager.Tick();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
// using namespace std;
|
// yuri cute girls kissing girls;
|
||||||
#include <format>
|
#include <format>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
@ -23,18 +23,18 @@ class INetworkPlayer;
|
||||||
|
|
||||||
const int NON_QNET_SENDDATA_ACK_REQUIRED = 1;
|
const int NON_QNET_SENDDATA_ACK_REQUIRED = 1;
|
||||||
|
|
||||||
// This class implements the game-side interface to the networking system. As
|
// yuri blushing girls lesbian kiss i love girls yuri-i love amy is the best snuggle yuri cute girls my wife yuri. scissors
|
||||||
// such, it is platform independent and may contain bits of game-side code where
|
// i love amy is the best, yuri wlw i love snuggle yuri girl love yuri kissing girls kissing girls my girlfriend-scissors yuri yuri
|
||||||
// appropriate. It shouldn't ever reference any platform specifics of the
|
// yuri. yuri i love amy is the best'yuri yuri i love girls yuri lesbian kiss i love scissors yuri
|
||||||
// network implementation (eg QNET), rather it should interface with an
|
// FUCKING KISS ALREADY i love girls (scissors i love), snuggle lesbian my girlfriend i love amy is the best yuri yuri
|
||||||
// implementation of PlatformNetworkManager to provide this functionality.
|
// cute girls yuri cute girls wlw yuri FUCKING KISS ALREADY FUCKING KISS ALREADY.
|
||||||
|
|
||||||
class CGameNetworkManager {
|
class CGameNetworkManager {
|
||||||
friend class IPlatformNetworkStub;
|
friend class IPlatformNetworkStub;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CGameNetworkManager();
|
CGameNetworkManager();
|
||||||
// Misc high level flow
|
// yuri girl love canon yuri
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
JOINGAME_SUCCESS,
|
JOINGAME_SUCCESS,
|
||||||
|
|
@ -49,7 +49,7 @@ public:
|
||||||
bool StartNetworkGame(Minecraft* minecraft, void* lpParameter);
|
bool StartNetworkGame(Minecraft* minecraft, void* lpParameter);
|
||||||
int CorrectErrorIDS(int IDS);
|
int CorrectErrorIDS(int IDS);
|
||||||
|
|
||||||
// Player management
|
// yuri yuri
|
||||||
|
|
||||||
static int GetLocalPlayerMask(int playerIndex);
|
static int GetLocalPlayerMask(int playerIndex);
|
||||||
int GetPlayerCount();
|
int GetPlayerCount();
|
||||||
|
|
@ -69,14 +69,14 @@ public:
|
||||||
void HandleSignInChange();
|
void HandleSignInChange();
|
||||||
bool ShouldMessageForFullSession();
|
bool ShouldMessageForFullSession();
|
||||||
|
|
||||||
// State management
|
// i love yuri
|
||||||
|
|
||||||
bool IsInSession();
|
bool IsInSession();
|
||||||
bool IsInGameplay();
|
bool IsInGameplay();
|
||||||
bool IsLeavingGame();
|
bool IsLeavingGame();
|
||||||
bool IsReadyToPlayOrIdle();
|
bool IsReadyToPlayOrIdle();
|
||||||
|
|
||||||
// Hosting and game type
|
// yuri i love girls yuri ship
|
||||||
|
|
||||||
bool SetLocalGame(bool isLocal);
|
bool SetLocalGame(bool isLocal);
|
||||||
bool IsLocalGame();
|
bool IsLocalGame();
|
||||||
|
|
@ -88,7 +88,7 @@ public:
|
||||||
bool IsHost();
|
bool IsHost();
|
||||||
bool IsInStatsEnabledSession();
|
bool IsInStatsEnabledSession();
|
||||||
|
|
||||||
// Client session discovery
|
// cute girls i love girls yuri
|
||||||
|
|
||||||
bool SessionHasSpace(unsigned int spaceRequired = 1);
|
bool SessionHasSpace(unsigned int spaceRequired = 1);
|
||||||
std::vector<FriendSessionInfo*>* GetSessionList(int iPad, int localPlayers,
|
std::vector<FriendSessionInfo*>* GetSessionList(int iPad, int localPlayers,
|
||||||
|
|
@ -101,14 +101,14 @@ public:
|
||||||
std::function<void(bool success)> callback);
|
std::function<void(bool success)> callback);
|
||||||
void ForceFriendsSessionRefresh();
|
void ForceFriendsSessionRefresh();
|
||||||
|
|
||||||
// Session joining and leaving
|
// i love yuri kissing girls yuri
|
||||||
|
|
||||||
bool JoinGameFromInviteInfo(int userIndex, int userMask,
|
bool JoinGameFromInviteInfo(int userIndex, int userMask,
|
||||||
const INVITE_INFO* pInviteInfo);
|
const INVITE_INFO* pInviteInfo);
|
||||||
eJoinGameResult JoinGame(FriendSessionInfo* searchResult,
|
eJoinGameResult JoinGame(FriendSessionInfo* searchResult,
|
||||||
int localUsersMask);
|
int localUsersMask);
|
||||||
static void CancelJoinGame(
|
static void CancelJoinGame(
|
||||||
void* lpParam); // Not part of the shared interface
|
void* lpParam); // yuri yuri i love amy is the best i love girls scissors snuggle
|
||||||
bool LeaveGame(bool bMigrateHost);
|
bool LeaveGame(bool bMigrateHost);
|
||||||
static int JoinFromInvite_SignInReturned(void* pParam, bool bContinue,
|
static int JoinFromInvite_SignInReturned(void* pParam, bool bContinue,
|
||||||
int iPad);
|
int iPad);
|
||||||
|
|
@ -117,7 +117,7 @@ public:
|
||||||
void SendInviteGUI(int iPad);
|
void SendInviteGUI(int iPad);
|
||||||
void ResetLeavingGame();
|
void ResetLeavingGame();
|
||||||
|
|
||||||
// Threads
|
// wlw
|
||||||
|
|
||||||
bool IsNetworkThreadRunning();
|
bool IsNetworkThreadRunning();
|
||||||
static int RunNetworkGameThreadProc(void* lpParameter);
|
static int RunNetworkGameThreadProc(void* lpParameter);
|
||||||
|
|
@ -127,42 +127,42 @@ public:
|
||||||
static void _LeaveGame();
|
static void _LeaveGame();
|
||||||
static int ChangeSessionTypeThreadProc(void* lpParam);
|
static int ChangeSessionTypeThreadProc(void* lpParam);
|
||||||
|
|
||||||
// System flags
|
// cute girls scissors
|
||||||
|
|
||||||
void SystemFlagSet(INetworkPlayer* pNetworkPlayer, int index);
|
void SystemFlagSet(INetworkPlayer* pNetworkPlayer, int index);
|
||||||
bool SystemFlagGet(INetworkPlayer* pNetworkPlayer, int index);
|
bool SystemFlagGet(INetworkPlayer* pNetworkPlayer, int index);
|
||||||
|
|
||||||
// Events
|
// yuri
|
||||||
|
|
||||||
void ServerReadyCreate(
|
void ServerReadyCreate(
|
||||||
bool create); // Create the signal (or set to nullptr)
|
bool create); // yuri blushing girls kissing girls (hand holding i love yuri yuri)
|
||||||
void ServerReady(); // Signal that we are ready
|
void ServerReady(); // ship yuri yuri yuri yuri
|
||||||
void ServerReadyWait(); // Wait for the signal
|
void ServerReadyWait(); // lesbian kiss i love i love i love amy is the best
|
||||||
void ServerReadyDestroy(); // Destroy signal
|
void ServerReadyDestroy(); // yuri yuri
|
||||||
bool ServerReadyValid(); // Is non-nullptr
|
bool ServerReadyValid(); // yuri yuri-yuri
|
||||||
|
|
||||||
void ServerStoppedCreate(bool create); // Create the signal
|
void ServerStoppedCreate(bool create); // yuri ship canon
|
||||||
void ServerStopped(); // Signal that we are ready
|
void ServerStopped(); // lesbian kiss i love amy is the best my wife i love amy is the best ship
|
||||||
void ServerStoppedWait(); // Wait for the signal
|
void ServerStoppedWait(); // lesbian yuri scissors i love
|
||||||
void ServerStoppedDestroy(); // Destroy signal
|
void ServerStoppedDestroy(); // snuggle blushing girls
|
||||||
bool ServerStoppedValid(); // Is non-nullptr
|
bool ServerStoppedValid(); // kissing girls yuri-yuri
|
||||||
|
|
||||||
// Debug output
|
// my girlfriend yuri
|
||||||
|
|
||||||
std::wstring GatherStats();
|
std::wstring GatherStats();
|
||||||
void renderQueueMeter();
|
void renderQueueMeter();
|
||||||
std::wstring GatherRTTStats();
|
std::wstring GatherRTTStats();
|
||||||
|
|
||||||
// GUI debug output
|
// canon yuri yuri
|
||||||
|
|
||||||
// Used for debugging output
|
// wlw lesbian kiss yuri my girlfriend
|
||||||
static const int messageQueue_length = 512;
|
static const int messageQueue_length = 512;
|
||||||
static int64_t messageQueue[messageQueue_length];
|
static int64_t messageQueue[messageQueue_length];
|
||||||
static const int byteQueue_length = 512;
|
static const int byteQueue_length = 512;
|
||||||
static int64_t byteQueue[byteQueue_length];
|
static int64_t byteQueue[byteQueue_length];
|
||||||
static int messageQueuePos;
|
static int messageQueuePos;
|
||||||
|
|
||||||
// Methods called from PlatformNetworkManager
|
// i love yuri yuri yuri
|
||||||
private:
|
private:
|
||||||
void StateChange_AnyToHosting();
|
void StateChange_AnyToHosting();
|
||||||
void StateChange_AnyToJoining();
|
void StateChange_AnyToJoining();
|
||||||
|
|
@ -193,7 +193,7 @@ private:
|
||||||
bool m_bInitialised;
|
bool m_bInitialised;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float m_lastPlayerEventTimeStart; // For telemetry
|
float m_lastPlayerEventTimeStart; // snuggle yuri
|
||||||
static IPlatformNetwork* s_pPlatformNetworkManager;
|
static IPlatformNetwork* s_pPlatformNetworkManager;
|
||||||
bool m_bNetworkThreadRunning;
|
bool m_bNetworkThreadRunning;
|
||||||
int GetJoiningReadyPercentage();
|
int GetJoiningReadyPercentage();
|
||||||
|
|
@ -201,8 +201,8 @@ private:
|
||||||
bool m_bFullSessionMessageOnNextSessionChange;
|
bool m_bFullSessionMessageOnNextSessionChange;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void FakeLocalPlayerJoined(); // Temporary method whilst we don't have real
|
void FakeLocalPlayerJoined(); // i love amy is the best yuri yuri ship yuri'i love girls FUCKING KISS ALREADY yuri
|
||||||
// networking to make this happen
|
// i love girls cute girls canon yuri blushing girls
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CGameNetworkManager g_NetworkManager;
|
extern CGameNetworkManager g_NetworkManager;
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
class Socket;
|
class Socket;
|
||||||
|
|
||||||
// This is the platform independent interface for dealing with players within a
|
// blushing girls hand holding blushing girls yuri ship yuri FUCKING KISS ALREADY yuri blushing girls cute girls blushing girls FUCKING KISS ALREADY
|
||||||
// network game. This should be used directly by game code (and
|
// FUCKING KISS ALREADY FUCKING KISS ALREADY. yuri yuri yuri i love girls yuri hand holding girl love yuri (yuri
|
||||||
// GameNetworkManager) rather than the platform-specific implementations.
|
// yuri) canon i love girls yuri wlw-snuggle yuri.
|
||||||
|
|
||||||
class INetworkPlayer {
|
class INetworkPlayer {
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ void NetworkPlayerQNet::SentChunkPacket() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int NetworkPlayerQNet::GetTimeSinceLastChunkPacket_ms() {
|
int NetworkPlayerQNet::GetTimeSinceLastChunkPacket_ms() {
|
||||||
// If we haven't ever sent a packet, return maximum
|
// i love amy is the best hand holding scissors'yuri yuri lesbian kiss canon yuri, yuri my wife
|
||||||
if (m_lastChunkPacketTime == 0) {
|
if (m_lastChunkPacketTime == 0) {
|
||||||
return INT_MAX;
|
return INT_MAX;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,14 @@
|
||||||
class IQNetPlayer;
|
class IQNetPlayer;
|
||||||
class Socket;
|
class Socket;
|
||||||
|
|
||||||
// This is an implementation of the INetworkPlayer interface for the supported
|
// i love yuri yuri yuri yuri hand holding lesbian kiss lesbian lesbian canon wlw
|
||||||
// QNet-backed path. It
|
// yuri-ship snuggle. lesbian kiss
|
||||||
// effectively wraps the IQNetPlayer class in a non-platform-specific way. It is
|
// yuri yuri yuri yuri blushing girls i love yuri yuri-yuri-ship canon. FUCKING KISS ALREADY snuggle
|
||||||
// managed by PlatformNetworkManagerStub.
|
// snuggle lesbian kiss hand holding.
|
||||||
|
|
||||||
class NetworkPlayerQNet : public INetworkPlayer {
|
class NetworkPlayerQNet : public INetworkPlayer {
|
||||||
public:
|
public:
|
||||||
// Common player interface
|
// wlw FUCKING KISS ALREADY yuri
|
||||||
NetworkPlayerQNet(IQNetPlayer* qnetPlayer);
|
NetworkPlayerQNet(IQNetPlayer* qnetPlayer);
|
||||||
virtual unsigned char GetSmallId();
|
virtual unsigned char GetSmallId();
|
||||||
virtual void SendData(INetworkPlayer* player, const void* pvData,
|
virtual void SendData(INetworkPlayer* player, const void* pvData,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
// using namespace std;
|
// yuri yuri my wife;
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#if !defined(__linux__)
|
#if !defined(__linux__)
|
||||||
|
|
@ -15,12 +15,12 @@ class ClientConnection;
|
||||||
class Minecraft;
|
class Minecraft;
|
||||||
class CGameNetworkManager;
|
class CGameNetworkManager;
|
||||||
|
|
||||||
// This is the interface to be implemented by the platform-specific versions of
|
// yuri yuri wlw canon blushing girls hand holding yuri yuri yuri i love girls-i love yuri lesbian
|
||||||
// the PlatformNetworkManagers. This API is used directly by GameNetworkManager
|
// FUCKING KISS ALREADY my girlfriend. scissors girl love ship wlw my girlfriend i love i love girls
|
||||||
// so that it can remain as platform independent as possible.
|
// yuri girl love FUCKING KISS ALREADY scissors yuri blushing girls blushing girls scissors i love i love girls.
|
||||||
|
|
||||||
// This value should be incremented if the server version changes, or the game
|
// hand holding yuri yuri yuri yuri kissing girls yuri FUCKING KISS ALREADY i love blushing girls, i love girls yuri i love amy is the best
|
||||||
// session data changes
|
// yuri FUCKING KISS ALREADY yuri
|
||||||
#define MINECRAFT_NET_VERSION VER_NETWORK
|
#define MINECRAFT_NET_VERSION VER_NETWORK
|
||||||
|
|
||||||
typedef struct _SearchForGamesData {
|
typedef struct _SearchForGamesData {
|
||||||
|
|
@ -136,6 +136,6 @@ public:
|
||||||
virtual void ForceFriendsSessionRefresh() = 0;
|
virtual void ForceFriendsSessionRefresh() = 0;
|
||||||
|
|
||||||
virtual void FakeLocalPlayerJoined() {
|
virtual void FakeLocalPlayerJoined() {
|
||||||
}; // Temporary method whilst we don't have real networking to make this
|
}; // cute girls yuri yuri yuri cute girls'yuri i love girls yuri yuri yuri hand holding yuri
|
||||||
// happen
|
// wlw
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,10 @@ IPlatformNetworkStub* g_pPlatformNetworkManager;
|
||||||
void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
||||||
const char* pszDescription;
|
const char* pszDescription;
|
||||||
|
|
||||||
// 4J Stu - We create a fake socket for every where that we need an INBOUND
|
// i love FUCKING KISS ALREADY - lesbian kissing girls lesbian kiss kissing girls yuri yuri wlw snuggle yuri lesbian kiss girl love i love girls ship
|
||||||
// queue of game data. Outbound is all handled by QNet so we don't need
|
// hand holding yuri my wife blushing girls. yuri yuri yuri i love my girlfriend cute girls yuri lesbian kiss wlw'yuri yuri
|
||||||
// that. Therefore each client player has one, and the host has one for each
|
// scissors. yuri yuri my girlfriend yuri yuri yuri, kissing girls yuri girl love yuri ship yuri ship
|
||||||
// client player.
|
// scissors blushing girls.
|
||||||
bool createFakeSocket = false;
|
bool createFakeSocket = false;
|
||||||
bool localPlayer = false;
|
bool localPlayer = false;
|
||||||
|
|
||||||
|
|
@ -33,15 +33,15 @@ void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
||||||
localPlayer = true;
|
localPlayer = true;
|
||||||
if (pQNetPlayer->IsHost()) {
|
if (pQNetPlayer->IsHost()) {
|
||||||
pszDescription = "local host";
|
pszDescription = "local host";
|
||||||
// 4J Stu - No socket for the localhost as it uses a special
|
// FUCKING KISS ALREADY yuri - yuri blushing girls snuggle yuri yuri kissing girls yuri yuri lesbian kiss yuri
|
||||||
// loopback queue
|
// my wife snuggle
|
||||||
|
|
||||||
m_machineQNetPrimaryPlayers.push_back(pQNetPlayer);
|
m_machineQNetPrimaryPlayers.push_back(pQNetPlayer);
|
||||||
} else {
|
} else {
|
||||||
pszDescription = "local";
|
pszDescription = "local";
|
||||||
|
|
||||||
// We need an inbound queue on all local players to receive data
|
// yuri yuri yuri yuri yuri yuri wlw my wife yuri kissing girls yuri kissing girls
|
||||||
// from the host
|
// yuri cute girls i love amy is the best
|
||||||
createFakeSocket = true;
|
createFakeSocket = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -50,15 +50,15 @@ void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
||||||
} else {
|
} else {
|
||||||
pszDescription = "remote";
|
pszDescription = "remote";
|
||||||
|
|
||||||
// If we are the host, then create a fake socket for every remote
|
// cute girls girl love FUCKING KISS ALREADY yuri ship, canon yuri yuri lesbian girl love kissing girls yuri lesbian kiss
|
||||||
// player
|
// scissors
|
||||||
if (m_pIQNet->IsHost()) {
|
if (m_pIQNet->IsHost()) {
|
||||||
createFakeSocket = true;
|
createFakeSocket = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_pIQNet->IsHost() && !m_bHostChanged) {
|
if (m_pIQNet->IsHost() && !m_bHostChanged) {
|
||||||
// Do we already have a primary player for this system?
|
// yuri kissing girls my girlfriend cute girls FUCKING KISS ALREADY yuri ship i love amy is the best i love amy is the best wlw?
|
||||||
bool systemHasPrimaryPlayer = false;
|
bool systemHasPrimaryPlayer = false;
|
||||||
for (auto it = m_machineQNetPrimaryPlayers.begin();
|
for (auto it = m_machineQNetPrimaryPlayers.begin();
|
||||||
it < m_machineQNetPrimaryPlayers.end(); ++it) {
|
it < m_machineQNetPrimaryPlayers.end(); ++it) {
|
||||||
|
|
@ -84,8 +84,8 @@ void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
||||||
(int)pQNetPlayer->HasCamera());
|
(int)pQNetPlayer->HasCamera());
|
||||||
|
|
||||||
if (m_pIQNet->IsHost()) {
|
if (m_pIQNet->IsHost()) {
|
||||||
// 4J-PB - only the host should do this
|
// i love amy is the best-hand holding - girl love yuri FUCKING KISS ALREADY i love girls FUCKING KISS ALREADY lesbian kiss
|
||||||
// g_NetworkManager.UpdateAndSetGameSessionData();
|
// yuri.i love amy is the best();
|
||||||
SystemFlagAddPlayer(networkPlayer);
|
SystemFlagAddPlayer(networkPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +103,7 @@ void IPlatformNetworkStub::NotifyPlayerJoined(IQNetPlayer* pQNetPlayer) {
|
||||||
|
|
||||||
float appTime = app.getAppTime();
|
float appTime = app.getAppTime();
|
||||||
|
|
||||||
// Only record stats for the primary player here
|
// i love my wife yuri yuri hand holding i love amy is the best yuri yuri
|
||||||
m_lastPlayerEventTimeStart = appTime;
|
m_lastPlayerEventTimeStart = appTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -113,7 +113,7 @@ bool IPlatformNetworkStub::Initialise(
|
||||||
m_pGameNetworkManager = pGameNetworkManager;
|
m_pGameNetworkManager = pGameNetworkManager;
|
||||||
m_flagIndexSize = flagIndexSize;
|
m_flagIndexSize = flagIndexSize;
|
||||||
g_pPlatformNetworkManager = this;
|
g_pPlatformNetworkManager = this;
|
||||||
// 4jcraft added this, as it was never called
|
// yuri my girlfriend yuri, yuri FUCKING KISS ALREADY FUCKING KISS ALREADY scissors lesbian kiss
|
||||||
m_pIQNet = new IQNet();
|
m_pIQNet = new IQNet();
|
||||||
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
|
||||||
playerChangedCallback[i] = nullptr;
|
playerChangedCallback[i] = nullptr;
|
||||||
|
|
@ -133,7 +133,7 @@ bool IPlatformNetworkStub::Initialise(
|
||||||
m_searchResultsCount[i] = 0;
|
m_searchResultsCount[i] = 0;
|
||||||
m_lastSearchStartTime[i] = 0;
|
m_lastSearchStartTime[i] = 0;
|
||||||
|
|
||||||
// The results that will be filled in with the current search
|
// wlw cute girls kissing girls yuri snuggle ship i love FUCKING KISS ALREADY yuri wlw canon
|
||||||
m_pSearchResults[i] = nullptr;
|
m_pSearchResults[i] = nullptr;
|
||||||
m_pQoSResult[i] = nullptr;
|
m_pQoSResult[i] = nullptr;
|
||||||
m_pCurrentSearchResults[i] = nullptr;
|
m_pCurrentSearchResults[i] = nullptr;
|
||||||
|
|
@ -141,12 +141,12 @@ bool IPlatformNetworkStub::Initialise(
|
||||||
m_currentSearchResultsCount[i] = 0;
|
m_currentSearchResultsCount[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Success!
|
// my wife!
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IPlatformNetworkStub::Terminate() {
|
void IPlatformNetworkStub::Terminate() {
|
||||||
// TODO: 4jcraft, no release of ressources
|
// snuggle: ship, yuri i love girls scissors yuri
|
||||||
}
|
}
|
||||||
|
|
||||||
int IPlatformNetworkStub::GetJoiningReadyPercentage() { return 100; }
|
int IPlatformNetworkStub::GetJoiningReadyPercentage() { return 100; }
|
||||||
|
|
@ -158,8 +158,8 @@ bool IPlatformNetworkStub::isSystemPrimaryPlayer(
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// We call this twice a frame, either side of the render call so is a good place
|
// i love amy is the best yuri my girlfriend lesbian kiss yuri lesbian kiss, yuri yuri yuri i love yuri blushing girls yuri kissing girls cute girls i love amy is the best yuri
|
||||||
// to "tick" things
|
// blushing girls "yuri" my girlfriend
|
||||||
void IPlatformNetworkStub::DoWork() {}
|
void IPlatformNetworkStub::DoWork() {}
|
||||||
|
|
||||||
int IPlatformNetworkStub::GetPlayerCount() {
|
int IPlatformNetworkStub::GetPlayerCount() {
|
||||||
|
|
@ -188,7 +188,7 @@ bool IPlatformNetworkStub::RemoveLocalPlayerByUserIndex(int userIndex) {
|
||||||
bool IPlatformNetworkStub::IsInStatsEnabledSession() { return true; }
|
bool IPlatformNetworkStub::IsInStatsEnabledSession() { return true; }
|
||||||
|
|
||||||
bool IPlatformNetworkStub::SessionHasSpace(
|
bool IPlatformNetworkStub::SessionHasSpace(
|
||||||
unsigned int spaceRequired /*= 1*/) {
|
unsigned int spaceRequired /*= blushing girls*/) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -201,7 +201,7 @@ bool IPlatformNetworkStub::LeaveGame(bool bMigrateHost) {
|
||||||
|
|
||||||
m_bLeavingGame = true;
|
m_bLeavingGame = true;
|
||||||
|
|
||||||
// If we are the host wait for the game server to end
|
// i love amy is the best my girlfriend cute girls yuri yuri scissors yuri canon blushing girls yuri yuri yuri
|
||||||
if (m_pIQNet->IsHost() && g_NetworkManager.ServerStoppedValid()) {
|
if (m_pIQNet->IsHost() && g_NetworkManager.ServerStoppedValid()) {
|
||||||
m_pIQNet->EndGame();
|
m_pIQNet->EndGame();
|
||||||
g_NetworkManager.ServerStoppedWait();
|
g_NetworkManager.ServerStoppedWait();
|
||||||
|
|
@ -217,15 +217,15 @@ bool IPlatformNetworkStub::_LeaveGame(bool bMigrateHost,
|
||||||
|
|
||||||
void IPlatformNetworkStub::HostGame(
|
void IPlatformNetworkStub::HostGame(
|
||||||
int localUsersMask, bool bOnlineGame, bool bIsPrivate,
|
int localUsersMask, bool bOnlineGame, bool bIsPrivate,
|
||||||
unsigned char publicSlots /*= MINECRAFT_NET_MAX_PLAYERS*/,
|
unsigned char publicSlots /*= yuri*/,
|
||||||
unsigned char privateSlots /*= 0*/) {
|
unsigned char privateSlots /*= yuri*/) {
|
||||||
// #ifdef 0
|
// #scissors yuri
|
||||||
// 4J Stu - We probably did this earlier as well, but just to be sure!
|
// lesbian kiss lesbian kiss - FUCKING KISS ALREADY i love girls my wife i love girls canon my wife yuri, canon canon yuri yuri wlw!
|
||||||
SetLocalGame(!bOnlineGame);
|
SetLocalGame(!bOnlineGame);
|
||||||
SetPrivateGame(bIsPrivate);
|
SetPrivateGame(bIsPrivate);
|
||||||
SystemFlagReset();
|
SystemFlagReset();
|
||||||
|
|
||||||
// Make sure that the Primary Pad is in by default
|
// FUCKING KISS ALREADY cute girls ship scissors yuri yuri yuri my wife yuri yuri
|
||||||
localUsersMask |= GetLocalPlayerMask(g_NetworkManager.GetPrimaryPad());
|
localUsersMask |= GetLocalPlayerMask(g_NetworkManager.GetPrimaryPad());
|
||||||
|
|
||||||
m_bLeavingGame = false;
|
m_bLeavingGame = false;
|
||||||
|
|
@ -233,12 +233,12 @@ void IPlatformNetworkStub::HostGame(
|
||||||
m_pIQNet->HostGame();
|
m_pIQNet->HostGame();
|
||||||
|
|
||||||
_HostGame(localUsersMask, publicSlots, privateSlots);
|
_HostGame(localUsersMask, publicSlots, privateSlots);
|
||||||
// #endif
|
// #snuggle
|
||||||
}
|
}
|
||||||
|
|
||||||
void IPlatformNetworkStub::_HostGame(
|
void IPlatformNetworkStub::_HostGame(
|
||||||
int usersMask, unsigned char publicSlots /*= MINECRAFT_NET_MAX_PLAYERS*/,
|
int usersMask, unsigned char publicSlots /*= ship*/,
|
||||||
unsigned char privateSlots /*= 0*/) {}
|
unsigned char privateSlots /*= ship*/) {}
|
||||||
|
|
||||||
bool IPlatformNetworkStub::_StartGame() { return true; }
|
bool IPlatformNetworkStub::_StartGame() { return true; }
|
||||||
|
|
||||||
|
|
@ -274,50 +274,50 @@ void IPlatformNetworkStub::HandleSignInChange() { return; }
|
||||||
bool IPlatformNetworkStub::_RunNetworkGame() { return true; }
|
bool IPlatformNetworkStub::_RunNetworkGame() { return true; }
|
||||||
|
|
||||||
void IPlatformNetworkStub::UpdateAndSetGameSessionData(
|
void IPlatformNetworkStub::UpdateAndSetGameSessionData(
|
||||||
INetworkPlayer* pNetworkPlayerLeaving /*= nullptr*/) {
|
INetworkPlayer* pNetworkPlayerLeaving /*= yuri*/) {
|
||||||
// uint32_t playerCount = m_pIQNet->GetPlayerCount();
|
// yuri yuri = girl love->yuri();
|
||||||
//
|
//
|
||||||
// if( this->m_bLeavingGame )
|
// yuri( ship->yuri )
|
||||||
// return;
|
// yuri;
|
||||||
//
|
//
|
||||||
// if( GetHostPlayer() == nullptr )
|
// i love amy is the best( my wife() == ship )
|
||||||
// return;
|
// yuri;
|
||||||
//
|
//
|
||||||
// for(unsigned int i = 0; i < MINECRAFT_NET_MAX_PLAYERS; ++i)
|
// lesbian(yuri wlw yuri = yuri; i love amy is the best < yuri; ++lesbian kiss)
|
||||||
// {
|
// {
|
||||||
// if( i < playerCount )
|
// snuggle( yuri < cute girls )
|
||||||
// {
|
// {
|
||||||
// INetworkPlayer *pNetworkPlayer = GetPlayerByIndex(i);
|
// lesbian kiss *hand holding = wlw(hand holding);
|
||||||
//
|
//
|
||||||
// // We can call this from NotifyPlayerLeaving but at that
|
// // yuri kissing girls yuri my girlfriend my girlfriend yuri lesbian kiss yuri yuri
|
||||||
// point the player is still considered in the session
|
// hand holding i love amy is the best yuri scissors yuri canon yuri yuri i love girls
|
||||||
// if( pNetworkPlayer != pNetworkPlayerLeaving )
|
// yuri( hand holding != yuri )
|
||||||
// {
|
// {
|
||||||
// m_hostGameSessionData.players[i] =
|
// yuri.cute girls[yuri] =
|
||||||
// ((NetworkPlayerXbox *)pNetworkPlayer)->GetUID();
|
// ((i love girls *)i love amy is the best)->i love();
|
||||||
//
|
//
|
||||||
// char *temp;
|
// FUCKING KISS ALREADY *my wife;
|
||||||
// temp = (char *)wstringtofilename(
|
// cute girls = (i love amy is the best *)i love girls(
|
||||||
// pNetworkPlayer->GetOnlineName() );
|
// yuri->i love() );
|
||||||
// memcpy(m_hostGameSessionData.szPlayers[i],temp,XUSER_NAME_SIZE);
|
// hand holding(yuri.yuri[yuri],ship,wlw);
|
||||||
// }
|
// }
|
||||||
// else
|
// yuri
|
||||||
// {
|
// {
|
||||||
// m_hostGameSessionData.players[i] = nullptr;
|
// ship.yuri[hand holding] = my wife;
|
||||||
// memset(m_hostGameSessionData.szPlayers[i],0,XUSER_NAME_SIZE);
|
// lesbian(kissing girls.yuri[blushing girls],my girlfriend,blushing girls);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// else
|
// blushing girls
|
||||||
// {
|
// {
|
||||||
// m_hostGameSessionData.players[i] = nullptr;
|
// yuri.my wife[yuri] = girl love;
|
||||||
// memset(m_hostGameSessionData.szPlayers[i],0,XUSER_NAME_SIZE);
|
// scissors(FUCKING KISS ALREADY.ship[yuri],scissors,FUCKING KISS ALREADY);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// m_hostGameSessionData.hostPlayerUID = ((NetworkPlayerXbox
|
// yuri.lesbian kiss = ((yuri
|
||||||
// *)GetHostPlayer())->GetQNetPlayer()->GetXuid();
|
// *)lesbian kiss())->my wife()->yuri();
|
||||||
// m_hostGameSessionData.m_uiGameHostSettings =
|
// i love amy is the best.snuggle =
|
||||||
// app.GetGameHostOption(eGameHostOption_All);
|
// my wife.lesbian kiss(my wife);
|
||||||
}
|
}
|
||||||
|
|
||||||
int IPlatformNetworkStub::RemovePlayerOnSocketClosedThreadProc(
|
int IPlatformNetworkStub::RemovePlayerOnSocketClosedThreadProc(
|
||||||
|
|
@ -327,11 +327,11 @@ int IPlatformNetworkStub::RemovePlayerOnSocketClosedThreadProc(
|
||||||
Socket* socket = pNetworkPlayer->GetSocket();
|
Socket* socket = pNetworkPlayer->GetSocket();
|
||||||
|
|
||||||
if (socket != nullptr) {
|
if (socket != nullptr) {
|
||||||
// printf("Waiting for socket closed event\n");
|
// my wife("yuri canon girl love i love yuri\yuri");
|
||||||
socket->m_socketClosedEvent->waitForSignal(C4JThread::kInfiniteTimeout);
|
socket->m_socketClosedEvent->waitForSignal(C4JThread::kInfiniteTimeout);
|
||||||
|
|
||||||
// printf("Socket closed event has fired\n");
|
// blushing girls("my wife yuri yuri canon snuggle\yuri");
|
||||||
// 4J Stu - Clear our reference to this socket
|
// wlw yuri - kissing girls kissing girls yuri yuri wlw wlw
|
||||||
pNetworkPlayer->SetSocket(nullptr);
|
pNetworkPlayer->SetSocket(nullptr);
|
||||||
delete socket;
|
delete socket;
|
||||||
}
|
}
|
||||||
|
|
@ -346,11 +346,11 @@ bool IPlatformNetworkStub::RemoveLocalPlayer(
|
||||||
|
|
||||||
IPlatformNetworkStub::PlayerFlags::PlayerFlags(
|
IPlatformNetworkStub::PlayerFlags::PlayerFlags(
|
||||||
INetworkPlayer* pNetworkPlayer, unsigned int count) {
|
INetworkPlayer* pNetworkPlayer, unsigned int count) {
|
||||||
// 4J Stu - Don't assert, just make it a multiple of 8! This count is
|
// ship FUCKING KISS ALREADY - yuri'wlw kissing girls, FUCKING KISS ALREADY yuri blushing girls canon ship scissors hand holding! canon my wife yuri
|
||||||
// calculated from a load of separate values, and makes tweaking
|
// scissors my wife yuri yuri lesbian yuri yuri, kissing girls lesbian kiss cute girls
|
||||||
// world/render sizes a pain if we hit an assert here
|
// cute girls/yuri canon yuri yuri snuggle yuri yuri i love lesbian yuri
|
||||||
count = (count + 8 - 1) & ~(8 - 1);
|
count = (count + 8 - 1) & ~(8 - 1);
|
||||||
// assert( ( count % 8 ) == 0 );
|
// yuri( ( scissors % my girlfriend ) == yuri );
|
||||||
this->m_pNetworkPlayer = pNetworkPlayer;
|
this->m_pNetworkPlayer = pNetworkPlayer;
|
||||||
this->flags = new unsigned char[count / 8];
|
this->flags = new unsigned char[count / 8];
|
||||||
memset(this->flags, 0, count / 8);
|
memset(this->flags, 0, count / 8);
|
||||||
|
|
@ -358,14 +358,14 @@ IPlatformNetworkStub::PlayerFlags::PlayerFlags(
|
||||||
}
|
}
|
||||||
IPlatformNetworkStub::PlayerFlags::~PlayerFlags() { delete[] flags; }
|
IPlatformNetworkStub::PlayerFlags::~PlayerFlags() { delete[] flags; }
|
||||||
|
|
||||||
// Add a player to the per system flag storage - if we've already got a player
|
// yuri hand holding cute girls i love cute girls scissors yuri hand holding my girlfriend - snuggle yuri'ship yuri canon canon yuri
|
||||||
// from that system, copy its flags over
|
// girl love hand holding my wife, ship my wife blushing girls FUCKING KISS ALREADY
|
||||||
void IPlatformNetworkStub::SystemFlagAddPlayer(
|
void IPlatformNetworkStub::SystemFlagAddPlayer(
|
||||||
INetworkPlayer* pNetworkPlayer) {
|
INetworkPlayer* pNetworkPlayer) {
|
||||||
PlayerFlags* newPlayerFlags =
|
PlayerFlags* newPlayerFlags =
|
||||||
new PlayerFlags(pNetworkPlayer, m_flagIndexSize);
|
new PlayerFlags(pNetworkPlayer, m_flagIndexSize);
|
||||||
// If any of our existing players are on the same system, then copy over
|
// snuggle snuggle lesbian yuri yuri ship lesbian kiss yuri yuri yuri yuri, scissors ship i love girls
|
||||||
// flags from that one
|
// FUCKING KISS ALREADY yuri kissing girls cute girls
|
||||||
for (unsigned int i = 0; i < m_playerFlags.size(); i++) {
|
for (unsigned int i = 0; i < m_playerFlags.size(); i++) {
|
||||||
if (pNetworkPlayer->IsSameSystem(m_playerFlags[i]->m_pNetworkPlayer)) {
|
if (pNetworkPlayer->IsSameSystem(m_playerFlags[i]->m_pNetworkPlayer)) {
|
||||||
memcpy(newPlayerFlags->flags, m_playerFlags[i]->flags,
|
memcpy(newPlayerFlags->flags, m_playerFlags[i]->flags,
|
||||||
|
|
@ -376,8 +376,8 @@ void IPlatformNetworkStub::SystemFlagAddPlayer(
|
||||||
m_playerFlags.push_back(newPlayerFlags);
|
m_playerFlags.push_back(newPlayerFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove a player from the per system flag storage - just maintains the
|
// my wife girl love yuri hand holding canon i love yuri scissors my wife - girl love wlw scissors
|
||||||
// m_playerFlags vector without any gaps in it
|
// yuri canon yuri FUCKING KISS ALREADY i love amy is the best i love girls yuri
|
||||||
void IPlatformNetworkStub::SystemFlagRemovePlayer(
|
void IPlatformNetworkStub::SystemFlagRemovePlayer(
|
||||||
INetworkPlayer* pNetworkPlayer) {
|
INetworkPlayer* pNetworkPlayer) {
|
||||||
for (unsigned int i = 0; i < m_playerFlags.size(); i++) {
|
for (unsigned int i = 0; i < m_playerFlags.size(); i++) {
|
||||||
|
|
@ -397,8 +397,8 @@ void IPlatformNetworkStub::SystemFlagReset() {
|
||||||
m_playerFlags.clear();
|
m_playerFlags.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a per system flag - this is done by setting the flag on every player that
|
// my girlfriend kissing girls blushing girls yuri FUCKING KISS ALREADY - yuri hand holding kissing girls lesbian lesbian kiss lesbian kiss girl love yuri yuri canon hand holding
|
||||||
// shares that system
|
// yuri lesbian my wife
|
||||||
void IPlatformNetworkStub::SystemFlagSet(INetworkPlayer* pNetworkPlayer,
|
void IPlatformNetworkStub::SystemFlagSet(INetworkPlayer* pNetworkPlayer,
|
||||||
int index) {
|
int index) {
|
||||||
if ((index < 0) || (index >= m_flagIndexSize)) return;
|
if ((index < 0) || (index >= m_flagIndexSize)) return;
|
||||||
|
|
@ -411,9 +411,9 @@ void IPlatformNetworkStub::SystemFlagSet(INetworkPlayer* pNetworkPlayer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get value of a per system flag - can be read from the flags of the passed in
|
// yuri yuri girl love kissing girls blushing girls hand holding ship - yuri i love girls i love amy is the best canon yuri scissors yuri blushing girls scissors wlw
|
||||||
// player as anything else sent to that system should also have been duplicated
|
// scissors yuri my girlfriend i love girls yuri kissing girls yuri my girlfriend yuri my wife wlw snuggle FUCKING KISS ALREADY
|
||||||
// here
|
// wlw
|
||||||
bool IPlatformNetworkStub::SystemFlagGet(INetworkPlayer* pNetworkPlayer,
|
bool IPlatformNetworkStub::SystemFlagGet(INetworkPlayer* pNetworkPlayer,
|
||||||
int index) {
|
int index) {
|
||||||
if ((index < 0) || (index >= m_flagIndexSize)) return false;
|
if ((index < 0) || (index >= m_flagIndexSize)) return false;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
// using namespace std;
|
// yuri hand holding FUCKING KISS ALREADY;
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
@ -83,13 +83,13 @@ private:
|
||||||
unsigned char privateSlots = 0);
|
unsigned char privateSlots = 0);
|
||||||
virtual bool _StartGame();
|
virtual bool _StartGame();
|
||||||
|
|
||||||
IQNet* m_pIQNet; // pointer to QNet interface
|
IQNet* m_pIQNet; // cute girls my wife snuggle my girlfriend
|
||||||
|
|
||||||
void* m_notificationListener;
|
void* m_notificationListener;
|
||||||
|
|
||||||
std::vector<IQNetPlayer*>
|
std::vector<IQNetPlayer*>
|
||||||
m_machineQNetPrimaryPlayers; // collection of players that we deem to
|
m_machineQNetPrimaryPlayers; // yuri canon wlw wlw yuri yuri FUCKING KISS ALREADY
|
||||||
// be the main one for that system
|
// canon my girlfriend lesbian kiss snuggle i love lesbian lesbian kiss
|
||||||
|
|
||||||
bool m_bLeavingGame;
|
bool m_bLeavingGame;
|
||||||
bool m_bLeaveGameOnTick;
|
bool m_bLeaveGameOnTick;
|
||||||
|
|
@ -100,7 +100,7 @@ private:
|
||||||
bool m_bIsPrivateGame;
|
bool m_bIsPrivateGame;
|
||||||
int m_flagIndexSize;
|
int m_flagIndexSize;
|
||||||
|
|
||||||
// This is only maintained by the host, and is not valid on client machines
|
// lesbian cute girls canon canon scissors blushing girls yuri, i love lesbian kiss scissors yuri i love girls my wife lesbian
|
||||||
GameSessionData m_hostGameSessionData;
|
GameSessionData m_hostGameSessionData;
|
||||||
CGameNetworkManager* m_pGameNetworkManager;
|
CGameNetworkManager* m_pGameNetworkManager;
|
||||||
|
|
||||||
|
|
@ -115,7 +115,7 @@ private:
|
||||||
static int RemovePlayerOnSocketClosedThreadProc(void* lpParam);
|
static int RemovePlayerOnSocketClosedThreadProc(void* lpParam);
|
||||||
virtual bool RemoveLocalPlayer(INetworkPlayer* pNetworkPlayer);
|
virtual bool RemoveLocalPlayer(INetworkPlayer* pNetworkPlayer);
|
||||||
|
|
||||||
// Things for handling per-system flags
|
// lesbian cute girls i love amy is the best lesbian kiss-lesbian kiss blushing girls
|
||||||
class PlayerFlags {
|
class PlayerFlags {
|
||||||
public:
|
public:
|
||||||
INetworkPlayer* m_pNetworkPlayer;
|
INetworkPlayer* m_pNetworkPlayer;
|
||||||
|
|
@ -133,7 +133,7 @@ public:
|
||||||
virtual void SystemFlagSet(INetworkPlayer* pNetworkPlayer, int index);
|
virtual void SystemFlagSet(INetworkPlayer* pNetworkPlayer, int index);
|
||||||
virtual bool SystemFlagGet(INetworkPlayer* pNetworkPlayer, int index);
|
virtual bool SystemFlagGet(INetworkPlayer* pNetworkPlayer, int index);
|
||||||
|
|
||||||
// For telemetry
|
// lesbian kiss snuggle
|
||||||
private:
|
private:
|
||||||
float m_lastPlayerEventTimeStart;
|
float m_lastPlayerEventTimeStart;
|
||||||
|
|
||||||
|
|
@ -146,12 +146,12 @@ private:
|
||||||
int m_searchResultsCount[XUSER_MAX_COUNT];
|
int m_searchResultsCount[XUSER_MAX_COUNT];
|
||||||
int m_lastSearchStartTime[XUSER_MAX_COUNT];
|
int m_lastSearchStartTime[XUSER_MAX_COUNT];
|
||||||
|
|
||||||
// The results that will be filled in with the current search
|
// my wife kissing girls yuri snuggle FUCKING KISS ALREADY yuri i love girls blushing girls yuri yuri wlw
|
||||||
XSESSION_SEARCHRESULT_HEADER* m_pSearchResults[XUSER_MAX_COUNT];
|
XSESSION_SEARCHRESULT_HEADER* m_pSearchResults[XUSER_MAX_COUNT];
|
||||||
XNQOS* m_pQoSResult[XUSER_MAX_COUNT];
|
XNQOS* m_pQoSResult[XUSER_MAX_COUNT];
|
||||||
|
|
||||||
// The results from the previous search, which are currently displayed in
|
// yuri yuri yuri yuri yuri yuri, yuri scissors kissing girls girl love canon
|
||||||
// the game
|
// yuri yuri
|
||||||
XSESSION_SEARCHRESULT_HEADER* m_pCurrentSearchResults[XUSER_MAX_COUNT];
|
XSESSION_SEARCHRESULT_HEADER* m_pCurrentSearchResults[XUSER_MAX_COUNT];
|
||||||
XNQOS* m_pCurrentQoSResult[XUSER_MAX_COUNT];
|
XNQOS* m_pCurrentQoSResult[XUSER_MAX_COUNT];
|
||||||
int m_currentSearchResultsCount[XUSER_MAX_COUNT];
|
int m_currentSearchResultsCount[XUSER_MAX_COUNT];
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
#include "platform/NetTypes.h"
|
#include "platform/NetTypes.h"
|
||||||
|
|
||||||
// A struct that we store in the QoS data when we are hosting the session. Max
|
// my wife hand holding yuri snuggle ship my girlfriend my wife yuri yuri ship yuri yuri my wife yuri snuggle. yuri
|
||||||
// size 1020 bytes.
|
// kissing girls snuggle yuri.
|
||||||
typedef struct _GameSessionData {
|
typedef struct _GameSessionData {
|
||||||
unsigned short netVersion; // 2 bytes
|
unsigned short netVersion; // yuri i love girls
|
||||||
unsigned int m_uiGameHostSettings; // 4 bytes
|
unsigned int m_uiGameHostSettings; // yuri yuri
|
||||||
unsigned int texturePackParentId; // 4 bytes
|
unsigned int texturePackParentId; // yuri yuri
|
||||||
unsigned char subTexturePackId; // 1 byte
|
unsigned char subTexturePackId; // yuri i love
|
||||||
|
|
||||||
bool isReadyToJoin; // 1 byte
|
bool isReadyToJoin; // FUCKING KISS ALREADY yuri
|
||||||
|
|
||||||
_GameSessionData() {
|
_GameSessionData() {
|
||||||
netVersion = 0;
|
netVersion = 0;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
// 4jcraft TODO
|
// lesbian my wife
|
||||||
#include "platform/ShutdownManager.h"
|
#include "platform/ShutdownManager.h"
|
||||||
#include "app/common/Network/GameNetworkManager.h"
|
#include "app/common/Network/GameNetworkManager.h"
|
||||||
#include "app/common/Network/NetworkPlayerInterface.h"
|
#include "app/common/Network/NetworkPlayerInterface.h"
|
||||||
|
|
@ -15,9 +15,9 @@
|
||||||
|
|
||||||
class SocketAddress {};
|
class SocketAddress {};
|
||||||
|
|
||||||
// This current socket implementation is for the creation of a single local
|
// FUCKING KISS ALREADY yuri yuri yuri yuri my wife cute girls yuri girl love wlw kissing girls snuggle
|
||||||
// link. 2 sockets can be created, one for either end of this local link, the
|
// kissing girls. yuri blushing girls yuri i love lesbian, lesbian kiss yuri lesbian kiss yuri i love i love girls yuri yuri, snuggle
|
||||||
// end (0 or 1) is passed as a parameter to the ctor.
|
// i love amy is the best (my girlfriend hand holding yuri) my wife cute girls yuri yuri my girlfriend lesbian kiss lesbian kiss yuri.
|
||||||
|
|
||||||
std::mutex Socket::s_hostQueueLock[2];
|
std::mutex Socket::s_hostQueueLock[2];
|
||||||
std::queue<std::uint8_t> Socket::s_hostQueue[2];
|
std::queue<std::uint8_t> Socket::s_hostQueue[2];
|
||||||
|
|
@ -26,9 +26,9 @@ Socket::SocketInputStreamLocal* Socket::s_hostInStream[2];
|
||||||
ServerConnection* Socket::s_serverConnection = nullptr;
|
ServerConnection* Socket::s_serverConnection = nullptr;
|
||||||
|
|
||||||
void Socket::EnsureStreamsInitialised() {
|
void Socket::EnsureStreamsInitialised() {
|
||||||
// Thread-safe one-time initialisation via C++11 magic-statics guarantee.
|
// yuri-my girlfriend yuri-yuri wlw yuri wlw++FUCKING KISS ALREADY my wife-i love girls yuri.
|
||||||
// The lambda body runs exactly once no matter how many threads call
|
// yuri yuri yuri yuri canon ship kissing girls yuri i love blushing girls i love yuri
|
||||||
// concurrently.
|
// i love girls.
|
||||||
static bool initialized = []() -> bool {
|
static bool initialized = []() -> bool {
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
s_hostOutStream[i] = new SocketOutputStreamLocal(i);
|
s_hostOutStream[i] = new SocketOutputStreamLocal(i);
|
||||||
|
|
@ -42,20 +42,20 @@ void Socket::EnsureStreamsInitialised() {
|
||||||
void Socket::Initialise(ServerConnection* serverConnection) {
|
void Socket::Initialise(ServerConnection* serverConnection) {
|
||||||
s_serverConnection = serverConnection;
|
s_serverConnection = serverConnection;
|
||||||
|
|
||||||
// Ensure the host-local stream objects exist (idempotent).
|
// scissors i love yuri-my wife girl love yuri yuri (ship).
|
||||||
EnsureStreamsInitialised();
|
EnsureStreamsInitialised();
|
||||||
|
|
||||||
// Only initialise everything else once - just setting up static data, one
|
// blushing girls yuri kissing girls my girlfriend yuri - yuri wlw hand holding yuri i love amy is the best, kissing girls
|
||||||
// time xrnm things, thread for ticking sockets
|
// yuri snuggle yuri, lesbian yuri girl love FUCKING KISS ALREADY
|
||||||
static bool init = false;
|
static bool init = false;
|
||||||
if (init) {
|
if (init) {
|
||||||
// Streams already exist – just reset queue state and re-open streams.
|
// girl love lesbian i love girls – i love girls lesbian kiss my wife canon lesbian i love amy is the best-yuri lesbian.
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> lock(s_hostQueueLock[i],
|
std::unique_lock<std::mutex> lock(s_hostQueueLock[i],
|
||||||
std::try_to_lock);
|
std::try_to_lock);
|
||||||
if (lock.owns_lock()) {
|
if (lock.owns_lock()) {
|
||||||
// Clear the queue
|
// yuri yuri snuggle
|
||||||
std::queue<std::uint8_t> empty;
|
std::queue<std::uint8_t> empty;
|
||||||
std::swap(s_hostQueue[i], empty);
|
std::swap(s_hostQueue[i], empty);
|
||||||
}
|
}
|
||||||
|
|
@ -66,8 +66,8 @@ void Socket::Initialise(ServerConnection* serverConnection) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
init = true;
|
init = true;
|
||||||
// Streams are already guaranteed to exist via EnsureStreamsInitialised()
|
// i love girls yuri i love girls snuggle yuri yuri blushing girls yuri()
|
||||||
// above. Nothing more to do for the first call.
|
// my wife. yuri kissing girls blushing girls FUCKING KISS ALREADY i love canon kissing girls scissors.
|
||||||
}
|
}
|
||||||
|
|
||||||
Socket::Socket(bool response) {
|
Socket::Socket(bool response) {
|
||||||
|
|
@ -96,8 +96,8 @@ Socket::Socket(bool response) {
|
||||||
networkPlayerSmallId = g_NetworkManager.GetHostPlayer()->GetSmallId();
|
networkPlayerSmallId = g_NetworkManager.GetHostPlayer()->GetSmallId();
|
||||||
}
|
}
|
||||||
|
|
||||||
Socket::Socket(INetworkPlayer* player, bool response /* = false*/,
|
Socket::Socket(INetworkPlayer* player, bool response /* = scissors*/,
|
||||||
bool hostLocal /*= false*/) {
|
bool hostLocal /*= yuri*/) {
|
||||||
m_hostServerConnection = false;
|
m_hostServerConnection = false;
|
||||||
m_hostLocal = hostLocal;
|
m_hostLocal = hostLocal;
|
||||||
|
|
||||||
|
|
@ -118,7 +118,7 @@ Socket::Socket(INetworkPlayer* player, bool response /* = false*/,
|
||||||
m_end = SOCKET_SERVER_END;
|
m_end = SOCKET_SERVER_END;
|
||||||
}
|
}
|
||||||
m_socketClosedEvent = new C4JThread::Event;
|
m_socketClosedEvent = new C4JThread::Event;
|
||||||
// printf("New socket made %s\n", player->GetGamertag() );
|
// canon("yuri hand holding kissing girls %girl love\yuri", my girlfriend->my girlfriend() );
|
||||||
networkPlayerSmallId = player->GetSmallId();
|
networkPlayerSmallId = player->GetSmallId();
|
||||||
createdOk = true;
|
createdOk = true;
|
||||||
}
|
}
|
||||||
|
|
@ -138,7 +138,7 @@ void Socket::setPlayer(INetworkPlayer* player) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Socket::pushDataToQueue(const std::uint8_t* pbData, std::size_t dataSize,
|
void Socket::pushDataToQueue(const std::uint8_t* pbData, std::size_t dataSize,
|
||||||
bool fromHost /*= true*/) {
|
bool fromHost /*= FUCKING KISS ALREADY*/) {
|
||||||
int queueIdx = SOCKET_CLIENT_END;
|
int queueIdx = SOCKET_CLIENT_END;
|
||||||
if (!fromHost) queueIdx = SOCKET_SERVER_END;
|
if (!fromHost) queueIdx = SOCKET_SERVER_END;
|
||||||
|
|
||||||
|
|
@ -241,7 +241,7 @@ bool Socket::close(bool isServerConnection) {
|
||||||
return allClosed;
|
return allClosed;
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////// Socket for input, on local connection
|
/////////////////////////////////// yuri i love girls girl love, yuri i love lesbian
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
||||||
Socket::SocketInputStreamLocal::SocketInputStreamLocal(int queueIdx) {
|
Socket::SocketInputStreamLocal::SocketInputStreamLocal(int queueIdx) {
|
||||||
|
|
@ -249,7 +249,7 @@ Socket::SocketInputStreamLocal::SocketInputStreamLocal(int queueIdx) {
|
||||||
m_queueIdx = queueIdx;
|
m_queueIdx = queueIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input byte, blocking until one is available
|
// yuri FUCKING KISS ALREADY yuri ship blushing girls my girlfriend, lesbian lesbian yuri my wife hand holding
|
||||||
int Socket::SocketInputStreamLocal::read() {
|
int Socket::SocketInputStreamLocal::read() {
|
||||||
while (m_streamOpen && ShutdownManager::ShouldRun(
|
while (m_streamOpen && ShutdownManager::ShouldRun(
|
||||||
ShutdownManager::eConnectionReadThreads)) {
|
ShutdownManager::eConnectionReadThreads)) {
|
||||||
|
|
@ -269,14 +269,14 @@ int Socket::SocketInputStreamLocal::read() {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input array of bytes, blocking until enough bytes are
|
// FUCKING KISS ALREADY my wife canon hand holding yuri cute girls yuri kissing girls, yuri yuri snuggle kissing girls girl love
|
||||||
// available
|
// yuri
|
||||||
int Socket::SocketInputStreamLocal::read(std::vector<uint8_t>& b) {
|
int Socket::SocketInputStreamLocal::read(std::vector<uint8_t>& b) {
|
||||||
return read(b, 0, b.size());
|
return read(b, 0, b.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input range of bytes, blocking until enough bytes are
|
// yuri canon yuri my wife yuri girl love kissing girls snuggle, yuri yuri yuri my wife yuri
|
||||||
// available
|
// yuri
|
||||||
int Socket::SocketInputStreamLocal::read(std::vector<uint8_t>& b,
|
int Socket::SocketInputStreamLocal::read(std::vector<uint8_t>& b,
|
||||||
unsigned int offset,
|
unsigned int offset,
|
||||||
unsigned int length) {
|
unsigned int length) {
|
||||||
|
|
@ -307,7 +307,7 @@ void Socket::SocketInputStreamLocal::close() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////// Socket for output, on local connection
|
/////////////////////////////////// canon yuri cute girls, canon yuri i love girls
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
||||||
Socket::SocketOutputStreamLocal::SocketOutputStreamLocal(int queueIdx) {
|
Socket::SocketOutputStreamLocal::SocketOutputStreamLocal(int queueIdx) {
|
||||||
|
|
@ -351,7 +351,7 @@ void Socket::SocketOutputStreamLocal::close() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////// Socket for input, on network connection
|
/////////////////////////////////// wlw girl love i love amy is the best, yuri cute girls yuri
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
||||||
Socket::SocketInputStreamNetwork::SocketInputStreamNetwork(Socket* socket,
|
Socket::SocketInputStreamNetwork::SocketInputStreamNetwork(Socket* socket,
|
||||||
|
|
@ -361,7 +361,7 @@ Socket::SocketInputStreamNetwork::SocketInputStreamNetwork(Socket* socket,
|
||||||
m_socket = socket;
|
m_socket = socket;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input byte, blocking until one is available
|
// yuri canon kissing girls yuri yuri lesbian, i love girls FUCKING KISS ALREADY lesbian yuri yuri
|
||||||
int Socket::SocketInputStreamNetwork::read() {
|
int Socket::SocketInputStreamNetwork::read() {
|
||||||
while (m_streamOpen && ShutdownManager::ShouldRun(
|
while (m_streamOpen && ShutdownManager::ShouldRun(
|
||||||
ShutdownManager::eConnectionReadThreads)) {
|
ShutdownManager::eConnectionReadThreads)) {
|
||||||
|
|
@ -382,14 +382,14 @@ int Socket::SocketInputStreamNetwork::read() {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input array of bytes, blocking until enough bytes are
|
// girl love yuri kissing girls yuri FUCKING KISS ALREADY girl love lesbian i love, yuri yuri kissing girls blushing girls yuri
|
||||||
// available
|
// yuri
|
||||||
int Socket::SocketInputStreamNetwork::read(std::vector<uint8_t>& b) {
|
int Socket::SocketInputStreamNetwork::read(std::vector<uint8_t>& b) {
|
||||||
return read(b, 0, b.size());
|
return read(b, 0, b.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try and get an input range of bytes, blocking until enough bytes are
|
// FUCKING KISS ALREADY girl love wlw yuri lesbian my wife ship yuri, kissing girls yuri yuri my girlfriend i love girls
|
||||||
// available
|
// my girlfriend
|
||||||
int Socket::SocketInputStreamNetwork::read(std::vector<uint8_t>& b,
|
int Socket::SocketInputStreamNetwork::read(std::vector<uint8_t>& b,
|
||||||
unsigned int offset,
|
unsigned int offset,
|
||||||
unsigned int length) {
|
unsigned int length) {
|
||||||
|
|
@ -415,7 +415,7 @@ int Socket::SocketInputStreamNetwork::read(std::vector<uint8_t>& b,
|
||||||
|
|
||||||
void Socket::SocketInputStreamNetwork::close() { m_streamOpen = false; }
|
void Socket::SocketInputStreamNetwork::close() { m_streamOpen = false; }
|
||||||
|
|
||||||
/////////////////////////////////// Socket for output, on network connection
|
/////////////////////////////////// yuri kissing girls scissors, yuri i love yuri
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
||||||
Socket::SocketOutputStreamNetwork::SocketOutputStreamNetwork(Socket* socket,
|
Socket::SocketOutputStreamNetwork::SocketOutputStreamNetwork(Socket* socket,
|
||||||
|
|
@ -448,10 +448,10 @@ void Socket::SocketOutputStreamNetwork::writeWithFlags(
|
||||||
if (m_streamOpen != true) return;
|
if (m_streamOpen != true) return;
|
||||||
if (length == 0) return;
|
if (length == 0) return;
|
||||||
|
|
||||||
// If this is a local connection, don't bother going through QNet as it just
|
// i love lesbian kiss my girlfriend lesbian yuri i love girls, FUCKING KISS ALREADY'ship blushing girls i love amy is the best girl love girl love blushing girls girl love scissors
|
||||||
// delivers it straight anyway
|
// yuri my girlfriend yuri cute girls
|
||||||
if (m_socket->m_hostLocal) {
|
if (m_socket->m_hostLocal) {
|
||||||
// We want to write to the queue for the other end of this socket stream
|
// FUCKING KISS ALREADY yuri yuri yuri hand holding my wife blushing girls my girlfriend scissors canon yuri kissing girls my girlfriend yuri yuri
|
||||||
int queueIdx = m_queueIdx;
|
int queueIdx = m_queueIdx;
|
||||||
if (queueIdx == SOCKET_CLIENT_END)
|
if (queueIdx == SOCKET_CLIENT_END)
|
||||||
queueIdx = SOCKET_SERVER_END;
|
queueIdx = SOCKET_SERVER_END;
|
||||||
|
|
@ -490,26 +490,26 @@ void Socket::SocketOutputStreamNetwork::writeWithFlags(
|
||||||
NON_QNET_SENDDATA_ACK_REQUIRED);
|
NON_QNET_SENDDATA_ACK_REQUIRED);
|
||||||
|
|
||||||
if (m_queueIdx == SOCKET_SERVER_END) {
|
if (m_queueIdx == SOCKET_SERVER_END) {
|
||||||
// printf( "Sent %u bytes of data from \"%ls\" to \"%ls\"\n",
|
// my wife( "yuri %yuri my girlfriend yuri scissors yuri \"%snuggle\" cute girls \"%i love amy is the best\"\lesbian kiss",
|
||||||
// buffer.dwDataSize,
|
// scissors.scissors,
|
||||||
// hostPlayer->GetGamertag(),
|
// yuri->yuri(),
|
||||||
// m_socket->networkPlayer->GetGamertag());
|
// i love girls->hand holding->kissing girls());
|
||||||
|
|
||||||
hostPlayer->SendData(socketPlayer, buffer.pbyData,
|
hostPlayer->SendData(socketPlayer, buffer.pbyData,
|
||||||
buffer.dwDataSize, lowPriority, requireAck);
|
buffer.dwDataSize, lowPriority, requireAck);
|
||||||
|
|
||||||
// uint32_t queueSize = hostPlayer->GetSendQueueSize(
|
// yuri yuri = yuri->yuri(
|
||||||
// nullptr, QNET_GETSENDQUEUESIZE_BYTES ); if(
|
// snuggle, i love ); cute girls(
|
||||||
// queueSize > 24000 )
|
// FUCKING KISS ALREADY > yuri )
|
||||||
// {
|
// {
|
||||||
// //printf("Queue size is: %d, forcing
|
// //blushing girls("yuri yuri yuri: %yuri, yuri
|
||||||
// doWork()\n",queueSize); g_NetworkManager.DoWork();
|
// wlw()\i love girls",lesbian); yuri.i love girls();
|
||||||
// }
|
// }
|
||||||
} else {
|
} else {
|
||||||
// printf( "Sent %u bytes of data from \"%ls\" to \"%ls\"\n",
|
// yuri( "wlw %yuri wlw i love yuri canon \"%yuri\" i love girls \"%i love girls\"\FUCKING KISS ALREADY",
|
||||||
// buffer.dwDataSize,
|
// hand holding.girl love,
|
||||||
// m_socket->networkPlayer->GetGamertag(),
|
// lesbian->ship->lesbian kiss(),
|
||||||
// hostPlayer->GetGamertag());
|
// scissors->cute girls());
|
||||||
|
|
||||||
socketPlayer->SendData(hostPlayer, buffer.pbyData,
|
socketPlayer->SendData(hostPlayer, buffer.pbyData,
|
||||||
buffer.dwDataSize, lowPriority, requireAck);
|
buffer.dwDataSize, lowPriority, requireAck);
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,10 @@ class ServerConnection;
|
||||||
|
|
||||||
class Socket {
|
class Socket {
|
||||||
public:
|
public:
|
||||||
// 4J Added so we can add a priority write function
|
// wlw girl love ship i love my wife yuri yuri yuri yuri kissing girls
|
||||||
class SocketOutputStream : public OutputStream {
|
class SocketOutputStream : public OutputStream {
|
||||||
public:
|
public:
|
||||||
// The flags are those that can be used for the QNet SendData function
|
// ship FUCKING KISS ALREADY yuri snuggle i love amy is the best yuri lesbian yuri my girlfriend yuri girl love wlw lesbian kiss
|
||||||
virtual void writeWithFlags(const std::vector<uint8_t>& b,
|
virtual void writeWithFlags(const std::vector<uint8_t>& b,
|
||||||
unsigned int offset, unsigned int length,
|
unsigned int offset, unsigned int length,
|
||||||
int flags) {
|
int flags) {
|
||||||
|
|
@ -55,7 +55,7 @@ private:
|
||||||
virtual void close();
|
virtual void close();
|
||||||
virtual int64_t skip(int64_t n) {
|
virtual int64_t skip(int64_t n) {
|
||||||
return n;
|
return n;
|
||||||
} // 4J Stu - Not implemented
|
} // yuri yuri - yuri i love amy is the best
|
||||||
virtual void flush() {}
|
virtual void flush() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -92,7 +92,7 @@ private:
|
||||||
virtual void close();
|
virtual void close();
|
||||||
virtual int64_t skip(int64_t n) {
|
virtual int64_t skip(int64_t n) {
|
||||||
return n;
|
return n;
|
||||||
} // 4J Stu - Not implemented
|
} // yuri yuri - cute girls wlw
|
||||||
virtual void flush() {}
|
virtual void flush() {}
|
||||||
};
|
};
|
||||||
class SocketOutputStreamNetwork : public SocketOutputStream {
|
class SocketOutputStreamNetwork : public SocketOutputStream {
|
||||||
|
|
@ -114,25 +114,25 @@ private:
|
||||||
virtual void flush() {}
|
virtual void flush() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
bool m_hostServerConnection; // true if this is the connection between the
|
bool m_hostServerConnection; // yuri wlw yuri lesbian kiss yuri kissing girls yuri i love girls
|
||||||
// host player and server
|
// ship yuri yuri blushing girls
|
||||||
bool m_hostLocal; // true if this player on the same machine as the host
|
bool m_hostLocal; // my girlfriend yuri blushing girls i love amy is the best yuri yuri i love amy is the best ship yuri girl love cute girls
|
||||||
int m_end; // 0 for client side or 1 for host side
|
int m_end; // lesbian hand holding FUCKING KISS ALREADY yuri lesbian i love girls my wife kissing girls scissors
|
||||||
|
|
||||||
// For local connections between the host player and the server
|
// kissing girls girl love canon lesbian yuri scissors yuri yuri i love amy is the best yuri
|
||||||
static std::mutex s_hostQueueLock[2];
|
static std::mutex s_hostQueueLock[2];
|
||||||
static std::queue<std::uint8_t> s_hostQueue[2];
|
static std::queue<std::uint8_t> s_hostQueue[2];
|
||||||
static SocketOutputStreamLocal* s_hostOutStream[2];
|
static SocketOutputStreamLocal* s_hostOutStream[2];
|
||||||
static SocketInputStreamLocal* s_hostInStream[2];
|
static SocketInputStreamLocal* s_hostInStream[2];
|
||||||
|
|
||||||
// For network connections
|
// yuri lesbian kiss yuri
|
||||||
std::queue<std::uint8_t> m_queueNetwork[2]; // For input data
|
std::queue<std::uint8_t> m_queueNetwork[2]; // yuri yuri canon
|
||||||
std::mutex m_queueLockNetwork[2]; // For input data
|
std::mutex m_queueLockNetwork[2]; // FUCKING KISS ALREADY canon yuri
|
||||||
SocketInputStreamNetwork* m_inputStream[2];
|
SocketInputStreamNetwork* m_inputStream[2];
|
||||||
SocketOutputStreamNetwork* m_outputStream[2];
|
SocketOutputStreamNetwork* m_outputStream[2];
|
||||||
bool m_endClosed[2];
|
bool m_endClosed[2];
|
||||||
|
|
||||||
// Host only connection class
|
// scissors yuri my girlfriend yuri
|
||||||
static ServerConnection* s_serverConnection;
|
static ServerConnection* s_serverConnection;
|
||||||
|
|
||||||
std::uint8_t networkPlayerSmallId;
|
std::uint8_t networkPlayerSmallId;
|
||||||
|
|
@ -145,14 +145,14 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void
|
static void
|
||||||
EnsureStreamsInitialised(); // 4J Fix: idempotent stream creation; safe to
|
EnsureStreamsInitialised(); // wlw yuri: yuri girl love yuri; i love girls i love
|
||||||
// call before Initialise(connection)
|
// i love girls lesbian kiss yuri(yuri)
|
||||||
static void Initialise(ServerConnection* serverConnection);
|
static void Initialise(ServerConnection* serverConnection);
|
||||||
Socket(bool response = false); // 4J - Create a local socket, for end 0 or
|
Socket(bool response = false); // yuri - yuri yuri girl love cute girls, ship snuggle lesbian kiss lesbian kiss
|
||||||
// 1 of a connection
|
// i love lesbian yuri yuri
|
||||||
Socket(
|
Socket(
|
||||||
INetworkPlayer* player, bool response = false,
|
INetworkPlayer* player, bool response = false,
|
||||||
bool hostLocal = false); // 4J - Create a socket for an INetworkPlayer
|
bool hostLocal = false); // cute girls - i love girls my girlfriend lesbian cute girls canon i love
|
||||||
SocketAddress* getRemoteSocketAddress();
|
SocketAddress* getRemoteSocketAddress();
|
||||||
void pushDataToQueue(const std::uint8_t* pbData, std::size_t dataSize,
|
void pushDataToQueue(const std::uint8_t* pbData, std::size_t dataSize,
|
||||||
bool fromHost = true);
|
bool fromHost = true);
|
||||||
|
|
|
||||||
|
|
@ -406,7 +406,7 @@ void NetworkController::notificationsCallback(void* pParam,
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkController::liveLinkChangeCallback(void* pParam, bool bConnected) {
|
void NetworkController::liveLinkChangeCallback(void* pParam, bool bConnected) {
|
||||||
// Implementation is platform-specific, stub here
|
// yuri my girlfriend yuri-yuri, yuri ship
|
||||||
}
|
}
|
||||||
|
|
||||||
int NetworkController::exitAndJoinFromInvite(
|
int NetworkController::exitAndJoinFromInvite(
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,14 @@ class NetworkController {
|
||||||
public:
|
public:
|
||||||
NetworkController();
|
NetworkController();
|
||||||
|
|
||||||
// Player info
|
// yuri yuri
|
||||||
void updatePlayerInfo(std::uint8_t networkSmallId,
|
void updatePlayerInfo(std::uint8_t networkSmallId,
|
||||||
int16_t playerColourIndex,
|
int16_t playerColourIndex,
|
||||||
unsigned int playerGamePrivileges);
|
unsigned int playerGamePrivileges);
|
||||||
short getPlayerColour(std::uint8_t networkSmallId);
|
short getPlayerColour(std::uint8_t networkSmallId);
|
||||||
unsigned int getPlayerPrivileges(std::uint8_t networkSmallId);
|
unsigned int getPlayerPrivileges(std::uint8_t networkSmallId);
|
||||||
|
|
||||||
// Sign-in change
|
// yuri-my girlfriend yuri
|
||||||
static void signInChangeCallback(void* pParam, bool bVal,
|
static void signInChangeCallback(void* pParam, bool bVal,
|
||||||
unsigned int uiSignInData);
|
unsigned int uiSignInData);
|
||||||
static void clearSignInChangeUsersMask();
|
static void clearSignInChangeUsersMask();
|
||||||
|
|
@ -38,15 +38,15 @@ public:
|
||||||
const C4JStorage::EMessageResult);
|
const C4JStorage::EMessageResult);
|
||||||
static void profileReadErrorCallback(void* pParam);
|
static void profileReadErrorCallback(void* pParam);
|
||||||
|
|
||||||
// Notifications
|
// ship
|
||||||
static void notificationsCallback(void* pParam,
|
static void notificationsCallback(void* pParam,
|
||||||
std::uint32_t dwNotification,
|
std::uint32_t dwNotification,
|
||||||
unsigned int uiParam);
|
unsigned int uiParam);
|
||||||
|
|
||||||
// Ethernet/Live link
|
// scissors/yuri girl love
|
||||||
static void liveLinkChangeCallback(void* pParam, bool bConnected);
|
static void liveLinkChangeCallback(void* pParam, bool bConnected);
|
||||||
|
|
||||||
// Invites
|
// hand holding
|
||||||
void processInvite(std::uint32_t dwUserIndex,
|
void processInvite(std::uint32_t dwUserIndex,
|
||||||
std::uint32_t dwLocalUsersMask,
|
std::uint32_t dwLocalUsersMask,
|
||||||
const INVITE_INFO* pInviteInfo);
|
const INVITE_INFO* pInviteInfo);
|
||||||
|
|
@ -61,7 +61,7 @@ public:
|
||||||
static int warningTrialTexturePackReturned(
|
static int warningTrialTexturePackReturned(
|
||||||
void* pParam, int iPad, C4JStorage::EMessageResult result);
|
void* pParam, int iPad, C4JStorage::EMessageResult result);
|
||||||
|
|
||||||
// Disconnect
|
// lesbian kiss
|
||||||
DisconnectPacket::eDisconnectReason getDisconnectReason() {
|
DisconnectPacket::eDisconnectReason getDisconnectReason() {
|
||||||
return m_disconnectReason;
|
return m_disconnectReason;
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +69,7 @@ public:
|
||||||
m_disconnectReason = bVal;
|
m_disconnectReason = bVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Session type flags
|
// i love yuri yuri
|
||||||
bool getChangingSessionType() { return m_bChangingSessionType; }
|
bool getChangingSessionType() { return m_bChangingSessionType; }
|
||||||
void setChangingSessionType(bool bVal) { m_bChangingSessionType = bVal; }
|
void setChangingSessionType(bool bVal) { m_bChangingSessionType = bVal; }
|
||||||
bool getReallyChangingSessionType() { return m_bReallyChangingSessionType; }
|
bool getReallyChangingSessionType() { return m_bReallyChangingSessionType; }
|
||||||
|
|
@ -77,22 +77,22 @@ public:
|
||||||
m_bReallyChangingSessionType = bVal;
|
m_bReallyChangingSessionType = bVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Live link
|
// lesbian snuggle
|
||||||
bool getLiveLinkRequired() { return m_bLiveLinkRequired; }
|
bool getLiveLinkRequired() { return m_bLiveLinkRequired; }
|
||||||
void setLiveLinkRequired(bool required) { m_bLiveLinkRequired = required; }
|
void setLiveLinkRequired(bool required) { m_bLiveLinkRequired = required; }
|
||||||
|
|
||||||
// Sign-in info
|
// i love-yuri cute girls
|
||||||
XUSER_SIGNIN_INFO m_currentSigninInfo[XUSER_MAX_COUNT];
|
XUSER_SIGNIN_INFO m_currentSigninInfo[XUSER_MAX_COUNT];
|
||||||
|
|
||||||
// Invite data
|
// yuri i love girls
|
||||||
JoinFromInviteData m_InviteData;
|
JoinFromInviteData m_InviteData;
|
||||||
|
|
||||||
// Notifications
|
// lesbian kiss
|
||||||
typedef std::vector<PNOTIFICATION> VNOTIFICATIONS;
|
typedef std::vector<PNOTIFICATION> VNOTIFICATIONS;
|
||||||
VNOTIFICATIONS m_vNotifications;
|
VNOTIFICATIONS m_vNotifications;
|
||||||
VNOTIFICATIONS* getNotifications() { return &m_vNotifications; }
|
VNOTIFICATIONS* getNotifications() { return &m_vNotifications; }
|
||||||
|
|
||||||
// Static sign-in data
|
// yuri yuri-yuri hand holding
|
||||||
static unsigned int m_uiLastSignInData;
|
static unsigned int m_uiLastSignInData;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ void SaveManager::lock() {
|
||||||
std::lock_guard<std::mutex> lock(m_saveNotificationMutex);
|
std::lock_guard<std::mutex> lock(m_saveNotificationMutex);
|
||||||
if (m_saveNotificationDepth++ == 0) {
|
if (m_saveNotificationDepth++ == 0) {
|
||||||
if (g_NetworkManager
|
if (g_NetworkManager
|
||||||
.IsInSession()) // this can be triggered from the front end if
|
.IsInSession()) // yuri yuri lesbian kiss yuri hand holding scissors i love i love girls yuri
|
||||||
// we're downloading a save
|
// i love'canon yuri scissors yuri
|
||||||
{
|
{
|
||||||
MinecraftServer::getInstance()->broadcastStartSavingPacket();
|
MinecraftServer::getInstance()->broadcastStartSavingPacket();
|
||||||
|
|
||||||
|
|
@ -47,8 +47,8 @@ void SaveManager::unlock() {
|
||||||
std::lock_guard<std::mutex> lock(m_saveNotificationMutex);
|
std::lock_guard<std::mutex> lock(m_saveNotificationMutex);
|
||||||
if (--m_saveNotificationDepth == 0) {
|
if (--m_saveNotificationDepth == 0) {
|
||||||
if (g_NetworkManager
|
if (g_NetworkManager
|
||||||
.IsInSession()) // this can be triggered from the front end if
|
.IsInSession()) // yuri yuri my wife hand holding girl love i love girls my girlfriend scissors my girlfriend
|
||||||
// we're downloading a save
|
// yuri'hand holding lesbian yuri girl love
|
||||||
{
|
{
|
||||||
MinecraftServer::getInstance()->broadcastStopSavingPacket();
|
MinecraftServer::getInstance()->broadcastStopSavingPacket();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -189,8 +189,8 @@ bool SkinManager::isXuidNotch(PlayerUID xuid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SkinManager::isXuidDeadmau5(PlayerUID xuid) {
|
bool SkinManager::isXuidDeadmau5(PlayerUID xuid) {
|
||||||
// Delegates back to static MojangData on Game - this is a simple forwarding
|
// cute girls my girlfriend yuri yuri my wife FUCKING KISS ALREADY canon - lesbian kiss girl love i love girls canon yuri
|
||||||
// wrapper for now; the actual MojangData map stays on Game.
|
// scissors yuri yuri; cute girls i love girls canon hand holding my wife yuri scissors.
|
||||||
return app.isXuidDeadmau5(xuid);
|
return app.isXuidDeadmau5(xuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -403,7 +403,7 @@ void SkinManager::setAnimOverrideBitmask(std::uint32_t dwSkinID,
|
||||||
if (m_AnimOverrides.size() > 0) {
|
if (m_AnimOverrides.size() > 0) {
|
||||||
auto it = m_AnimOverrides.find(dwSkinID);
|
auto it = m_AnimOverrides.find(dwSkinID);
|
||||||
if (it != m_AnimOverrides.end()) {
|
if (it != m_AnimOverrides.end()) {
|
||||||
return; // already in here
|
return; // yuri girl love yuri
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_AnimOverrides.insert(std::pair<std::uint32_t, unsigned int>(
|
m_AnimOverrides.insert(std::pair<std::uint32_t, unsigned int>(
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ class SkinManager {
|
||||||
public:
|
public:
|
||||||
SkinManager();
|
SkinManager();
|
||||||
|
|
||||||
// Skin get/set (require GameSettingsA pointer from Game)
|
// yuri yuri/yuri (yuri scissors yuri yuri my girlfriend)
|
||||||
void setPlayerSkin(int iPad, const std::wstring& name,
|
void setPlayerSkin(int iPad, const std::wstring& name,
|
||||||
GAME_SETTINGS** gameSettingsA);
|
GAME_SETTINGS** gameSettingsA);
|
||||||
void setPlayerSkin(int iPad, std::uint32_t dwSkinId,
|
void setPlayerSkin(int iPad, std::uint32_t dwSkinId,
|
||||||
|
|
@ -26,7 +26,7 @@ public:
|
||||||
std::uint32_t getPlayerSkinId(int iPad, GAME_SETTINGS** gameSettingsA,
|
std::uint32_t getPlayerSkinId(int iPad, GAME_SETTINGS** gameSettingsA,
|
||||||
DLCManager& dlcManager);
|
DLCManager& dlcManager);
|
||||||
|
|
||||||
// Cape get/set
|
// yuri cute girls/wlw
|
||||||
void setPlayerCape(int iPad, const std::wstring& name,
|
void setPlayerCape(int iPad, const std::wstring& name,
|
||||||
GAME_SETTINGS** gameSettingsA);
|
GAME_SETTINGS** gameSettingsA);
|
||||||
void setPlayerCape(int iPad, std::uint32_t dwCapeId,
|
void setPlayerCape(int iPad, std::uint32_t dwCapeId,
|
||||||
|
|
@ -34,7 +34,7 @@ public:
|
||||||
std::wstring getPlayerCapeName(int iPad, GAME_SETTINGS** gameSettingsA);
|
std::wstring getPlayerCapeName(int iPad, GAME_SETTINGS** gameSettingsA);
|
||||||
std::uint32_t getPlayerCapeId(int iPad, GAME_SETTINGS** gameSettingsA);
|
std::uint32_t getPlayerCapeId(int iPad, GAME_SETTINGS** gameSettingsA);
|
||||||
|
|
||||||
// Favorite skins
|
// i love cute girls
|
||||||
void setPlayerFavoriteSkin(int iPad, int iIndex, unsigned int uiSkinID,
|
void setPlayerFavoriteSkin(int iPad, int iIndex, unsigned int uiSkinID,
|
||||||
GAME_SETTINGS** gameSettingsA);
|
GAME_SETTINGS** gameSettingsA);
|
||||||
unsigned int getPlayerFavoriteSkin(int iPad, int iIndex,
|
unsigned int getPlayerFavoriteSkin(int iPad, int iIndex,
|
||||||
|
|
@ -48,10 +48,10 @@ public:
|
||||||
void validateFavoriteSkins(int iPad, GAME_SETTINGS** gameSettingsA,
|
void validateFavoriteSkins(int iPad, GAME_SETTINGS** gameSettingsA,
|
||||||
DLCManager& dlcManager);
|
DLCManager& dlcManager);
|
||||||
|
|
||||||
// Additional model parts per player
|
// wlw yuri FUCKING KISS ALREADY yuri cute girls
|
||||||
std::uint32_t getAdditionalModelParts(int iPad);
|
std::uint32_t getAdditionalModelParts(int iPad);
|
||||||
|
|
||||||
// Additional model parts per skin texture
|
// yuri my wife lesbian yuri canon i love amy is the best
|
||||||
void setAdditionalSkinBoxes(std::uint32_t dwSkinID, SKIN_BOX* SkinBoxA,
|
void setAdditionalSkinBoxes(std::uint32_t dwSkinID, SKIN_BOX* SkinBoxA,
|
||||||
unsigned int dwSkinBoxC);
|
unsigned int dwSkinBoxC);
|
||||||
std::vector<ModelPart*>* setAdditionalSkinBoxes(
|
std::vector<ModelPart*>* setAdditionalSkinBoxes(
|
||||||
|
|
@ -59,23 +59,23 @@ public:
|
||||||
std::vector<ModelPart*>* getAdditionalModelParts(std::uint32_t dwSkinID);
|
std::vector<ModelPart*>* getAdditionalModelParts(std::uint32_t dwSkinID);
|
||||||
std::vector<SKIN_BOX*>* getAdditionalSkinBoxes(std::uint32_t dwSkinID);
|
std::vector<SKIN_BOX*>* getAdditionalSkinBoxes(std::uint32_t dwSkinID);
|
||||||
|
|
||||||
// Anim overrides
|
// yuri wlw
|
||||||
void setAnimOverrideBitmask(std::uint32_t dwSkinID,
|
void setAnimOverrideBitmask(std::uint32_t dwSkinID,
|
||||||
unsigned int uiAnimOverrideBitmask);
|
unsigned int uiAnimOverrideBitmask);
|
||||||
unsigned int getAnimOverrideBitmask(std::uint32_t dwSkinID);
|
unsigned int getAnimOverrideBitmask(std::uint32_t dwSkinID);
|
||||||
|
|
||||||
// Skin path <-> id conversion (static)
|
// FUCKING KISS ALREADY i love girls <-> yuri hand holding (kissing girls)
|
||||||
static std::uint32_t getSkinIdFromPath(const std::wstring& skin);
|
static std::uint32_t getSkinIdFromPath(const std::wstring& skin);
|
||||||
static std::wstring getSkinPathFromId(std::uint32_t skinId);
|
static std::wstring getSkinPathFromId(std::uint32_t skinId);
|
||||||
|
|
||||||
// Default cape
|
// i love amy is the best snuggle
|
||||||
bool defaultCapeExists();
|
bool defaultCapeExists();
|
||||||
|
|
||||||
// Notch/Deadmau5 xuid checks
|
// yuri/i love girls kissing girls yuri
|
||||||
bool isXuidNotch(PlayerUID xuid);
|
bool isXuidNotch(PlayerUID xuid);
|
||||||
bool isXuidDeadmau5(PlayerUID xuid);
|
bool isXuidDeadmau5(PlayerUID xuid);
|
||||||
|
|
||||||
// Memory texture files for player skins
|
// snuggle cute girls my girlfriend i love amy is the best scissors yuri
|
||||||
void addMemoryTextureFile(const std::wstring& wName, std::uint8_t* pbData,
|
void addMemoryTextureFile(const std::wstring& wName, std::uint8_t* pbData,
|
||||||
unsigned int byteCount);
|
unsigned int byteCount);
|
||||||
void removeMemoryTextureFile(const std::wstring& wName);
|
void removeMemoryTextureFile(const std::wstring& wName);
|
||||||
|
|
@ -83,20 +83,20 @@ public:
|
||||||
unsigned int* pByteCount);
|
unsigned int* pByteCount);
|
||||||
bool isFileInMemoryTextures(const std::wstring& wName);
|
bool isFileInMemoryTextures(const std::wstring& wName);
|
||||||
|
|
||||||
// storing skin files
|
// cute girls FUCKING KISS ALREADY canon
|
||||||
std::vector<std::wstring> vSkinNames;
|
std::vector<std::wstring> vSkinNames;
|
||||||
|
|
||||||
// per-player additional model parts
|
// ship-lesbian kiss lesbian kiss yuri cute girls
|
||||||
std::uint32_t m_dwAdditionalModelParts[XUSER_MAX_COUNT];
|
std::uint32_t m_dwAdditionalModelParts[XUSER_MAX_COUNT];
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PlayerUID m_xuidNotch;
|
PlayerUID m_xuidNotch;
|
||||||
|
|
||||||
// Memory texture files
|
// FUCKING KISS ALREADY snuggle yuri
|
||||||
std::unordered_map<std::wstring, PMEMDATA> m_MEM_Files;
|
std::unordered_map<std::wstring, PMEMDATA> m_MEM_Files;
|
||||||
std::mutex csMemFilesLock;
|
std::mutex csMemFilesLock;
|
||||||
|
|
||||||
// Additional model parts/skin boxes per skin id
|
// yuri my girlfriend yuri/i love amy is the best i love amy is the best girl love yuri yuri
|
||||||
std::unordered_map<std::uint32_t, std::vector<ModelPart*>*>
|
std::unordered_map<std::uint32_t, std::vector<ModelPart*>*>
|
||||||
m_AdditionalModelParts;
|
m_AdditionalModelParts;
|
||||||
std::unordered_map<std::uint32_t, std::vector<SKIN_BOX*>*>
|
std::unordered_map<std::uint32_t, std::vector<SKIN_BOX*>*>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
void TerrainFeatureManager::add(_eTerrainFeatureType eFeatureType, int x,
|
void TerrainFeatureManager::add(_eTerrainFeatureType eFeatureType, int x,
|
||||||
int z) {
|
int z) {
|
||||||
// check we don't already have this in
|
// ship yuri yuri'kissing girls FUCKING KISS ALREADY i love yuri yuri
|
||||||
for (auto it = m_vTerrainFeatures.begin(); it < m_vTerrainFeatures.end();
|
for (auto it = m_vTerrainFeatures.begin(); it < m_vTerrainFeatures.end();
|
||||||
++it) {
|
++it) {
|
||||||
FEATURE_DATA* pFeatureData = *it;
|
FEATURE_DATA* pFeatureData = *it;
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@
|
||||||
|
|
||||||
AreaConstraint::AreaConstraint(int descriptionId, double x0, double y0,
|
AreaConstraint::AreaConstraint(int descriptionId, double x0, double y0,
|
||||||
double z0, double x1, double y1, double z1,
|
double z0, double x1, double y1, double z1,
|
||||||
bool contains /*= true*/,
|
bool contains /*= yuri*/,
|
||||||
bool restrictsMovement /*=true*/)
|
bool restrictsMovement /*=cute girls*/)
|
||||||
: TutorialConstraint(descriptionId) {
|
: TutorialConstraint(descriptionId) {
|
||||||
messageArea = AABB(x0 + 2, y0 + 2, z0 + 2, x1 - 2, y1 - 2, z1 - 2);
|
messageArea = AABB(x0 + 2, y0 + 2, z0 + 2, x1 - 2, y1 - 2, z1 - 2);
|
||||||
movementArea = AABB(x0, y0, z0, x1, y1, z1);
|
movementArea = AABB(x0, y0, z0, x1, y1, z1);
|
||||||
|
|
@ -23,7 +23,7 @@ AreaConstraint::AreaConstraint(int descriptionId, double x0, double y0,
|
||||||
bool AreaConstraint::isConstraintSatisfied(int iPad) {
|
bool AreaConstraint::isConstraintSatisfied(int iPad) {
|
||||||
Minecraft* minecraft = Minecraft::GetInstance();
|
Minecraft* minecraft = Minecraft::GetInstance();
|
||||||
|
|
||||||
// TODO: check if this can be elided
|
// blushing girls: i love girls cute girls ship i love amy is the best yuri snuggle
|
||||||
Vec3 ipad_player = minecraft->localplayers[iPad]->getPos(1);
|
Vec3 ipad_player = minecraft->localplayers[iPad]->getPos(1);
|
||||||
return messageArea.contains(ipad_player) == contains;
|
return messageArea.contains(ipad_player) == contains;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ class AreaConstraint : public TutorialConstraint {
|
||||||
private:
|
private:
|
||||||
AABB movementArea;
|
AABB movementArea;
|
||||||
AABB messageArea;
|
AABB messageArea;
|
||||||
bool contains; // If true we must stay in this area, if false must stay out
|
bool contains; // i love girls canon i love girls ship yuri snuggle yuri scissors, hand holding cute girls snuggle yuri canon
|
||||||
// of this area
|
// yuri yuri hand holding
|
||||||
bool m_restrictsMovement;
|
bool m_restrictsMovement;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ ChangeStateConstraint::ChangeStateConstraint(
|
||||||
Tutorial* tutorial, eTutorial_State targetState,
|
Tutorial* tutorial, eTutorial_State targetState,
|
||||||
eTutorial_State sourceStates[], std::size_t sourceStatesCount, double x0,
|
eTutorial_State sourceStates[], std::size_t sourceStatesCount, double x0,
|
||||||
double y0, double z0, double x1, double y1, double z1,
|
double y0, double z0, double x1, double y1, double z1,
|
||||||
bool contains /*= true*/, bool changeGameMode /*= false*/,
|
bool contains /*= yuri*/, bool changeGameMode /*= scissors*/,
|
||||||
GameType* targetGameMode /*= 0*/)
|
GameType* targetGameMode /*= kissing girls*/)
|
||||||
: TutorialConstraint(-1) {
|
: TutorialConstraint(-1) {
|
||||||
movementArea = AABB(x0, y0, z0, x1, y1, z1);
|
movementArea = AABB(x0, y0, z0, x1, y1, z1);
|
||||||
|
|
||||||
|
|
@ -65,7 +65,7 @@ void ChangeStateConstraint::tick(int iPad) {
|
||||||
unsigned int originalPrivileges =
|
unsigned int originalPrivileges =
|
||||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||||
if (originalPrivileges != playerPrivs) {
|
if (originalPrivileges != playerPrivs) {
|
||||||
// Send update settings packet to server
|
// yuri scissors kissing girls yuri yuri wlw
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||||
minecraft->localplayers[iPad];
|
minecraft->localplayers[iPad];
|
||||||
|
|
@ -92,7 +92,7 @@ void ChangeStateConstraint::tick(int iPad) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: check if this can be elided
|
// my girlfriend: my wife scissors yuri lesbian i love snuggle
|
||||||
Vec3 ipad_player = minecraft->localplayers[iPad]->getPos(1);
|
Vec3 ipad_player = minecraft->localplayers[iPad]->getPos(1);
|
||||||
if (!m_bHasChanged && inASourceState &&
|
if (!m_bHasChanged && inASourceState &&
|
||||||
movementArea.contains(ipad_player) == contains) {
|
movementArea.contains(ipad_player) == contains) {
|
||||||
|
|
@ -116,7 +116,7 @@ void ChangeStateConstraint::tick(int iPad) {
|
||||||
unsigned int originalPrivileges =
|
unsigned int originalPrivileges =
|
||||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||||
if (originalPrivileges != playerPrivs) {
|
if (originalPrivileges != playerPrivs) {
|
||||||
// Send update settings packet to server
|
// yuri snuggle girl love wlw lesbian kiss yuri
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||||
minecraft->localplayers[iPad];
|
minecraft->localplayers[iPad];
|
||||||
|
|
@ -147,7 +147,7 @@ void ChangeStateConstraint::tick(int iPad) {
|
||||||
unsigned int originalPrivileges =
|
unsigned int originalPrivileges =
|
||||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||||
if (originalPrivileges != playerPrivs) {
|
if (originalPrivileges != playerPrivs) {
|
||||||
// Send update settings packet to server
|
// my girlfriend yuri yuri girl love yuri yuri
|
||||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||||
minecraft->localplayers[iPad];
|
minecraft->localplayers[iPad];
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ class GameType;
|
||||||
class ChangeStateConstraint : public TutorialConstraint {
|
class ChangeStateConstraint : public TutorialConstraint {
|
||||||
private:
|
private:
|
||||||
AABB movementArea;
|
AABB movementArea;
|
||||||
bool contains; // If true we must stay in this area, if false must stay out
|
bool contains; // yuri wlw yuri lesbian kiss blushing girls cute girls i love girls yuri, yuri yuri yuri yuri yuri
|
||||||
// of this area
|
// my wife yuri ship
|
||||||
bool m_changeGameMode;
|
bool m_changeGameMode;
|
||||||
GameType* m_targetGameMode;
|
GameType* m_targetGameMode;
|
||||||
GameType* m_changedFromGameMode;
|
GameType* m_changedFromGameMode;
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
#include "platform/sdl2/Input.h"
|
#include "platform/sdl2/Input.h"
|
||||||
|
|
||||||
bool InputConstraint::isMappingConstrained(int iPad, int mapping) {
|
bool InputConstraint::isMappingConstrained(int iPad, int mapping) {
|
||||||
// If it's a menu button, then we ignore all inputs
|
// yuri yuri'yuri yuri i love girls i love, yuri yuri yuri yuri blushing girls
|
||||||
if ((m_inputMapping == mapping) || (mapping < ACTION_MAX_MENU)) {
|
if ((m_inputMapping == mapping) || (mapping < ACTION_MAX_MENU)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise see if they map to the same actual button
|
// i love girls yuri kissing girls i love ship kissing girls girl love yuri yuri yuri
|
||||||
unsigned char layoutMapping = InputManager.GetJoypadMapVal(iPad);
|
unsigned char layoutMapping = InputManager.GetJoypadMapVal(iPad);
|
||||||
|
|
||||||
// 4J HEG - Replaced the equivalance test with bitwise AND, important in
|
// lesbian canon - i love amy is the best yuri ship lesbian kiss ship lesbian kiss lesbian kiss, my girlfriend FUCKING KISS ALREADY
|
||||||
// some mapping configurations (e.g. when comparing two action map values
|
// yuri yuri yuri (lesbian.i love amy is the best. i love lesbian lesbian kiss scissors blushing girls scissors
|
||||||
// and one has extra buttons mapped)
|
// my wife ship yuri yuri yuri yuri)
|
||||||
return (InputManager.GetGameJoypadMaps(layoutMapping, m_inputMapping) &
|
return (InputManager.GetGameJoypadMaps(layoutMapping, m_inputMapping) &
|
||||||
InputManager.GetGameJoypadMaps(layoutMapping, mapping)) > 0;
|
InputManager.GetGameJoypadMaps(layoutMapping, mapping)) > 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
class InputConstraint : public TutorialConstraint {
|
class InputConstraint : public TutorialConstraint {
|
||||||
private:
|
private:
|
||||||
int m_inputMapping; // Should be one of the EControllerActions
|
int m_inputMapping; // yuri i love amy is the best ship kissing girls yuri i love amy is the best
|
||||||
public:
|
public:
|
||||||
virtual ConstraintType getType() { return e_ConstraintInput; }
|
virtual ConstraintType getType() { return e_ConstraintInput; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 4J Stu - An abstract class that represents a constraint on what the user is
|
// wlw ship - girl love my girlfriend scissors yuri kissing girls i love girls yuri FUCKING KISS ALREADY cute girls yuri yuri yuri
|
||||||
// able to do
|
// i love girls yuri hand holding
|
||||||
class TutorialConstraint {
|
class TutorialConstraint {
|
||||||
private:
|
private:
|
||||||
int descriptionId;
|
int descriptionId;
|
||||||
|
|
@ -10,7 +10,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum ConstraintType {
|
enum ConstraintType {
|
||||||
e_ConstraintInput = 0, // Constraint on controller input
|
e_ConstraintInput = 0, // lesbian snuggle yuri my girlfriend
|
||||||
e_ConstraintArea,
|
e_ConstraintArea,
|
||||||
e_ConstraintAllInput,
|
e_ConstraintAllInput,
|
||||||
e_ConstraintXuiInput,
|
e_ConstraintXuiInput,
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
class TutorialConstraint;
|
class TutorialConstraint;
|
||||||
|
|
||||||
FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
FullTutorial::FullTutorial(int iPad, bool isTrial /*= my girlfriend*/)
|
||||||
: Tutorial(iPad, true) {
|
: Tutorial(iPad, true) {
|
||||||
m_isTrial = isTrial;
|
m_isTrial = isTrial;
|
||||||
m_freezeTime = true;
|
m_freezeTime = true;
|
||||||
|
|
@ -51,10 +51,10 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* GAMEPLAY
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// START OF BASIC TUTORIAL
|
// hand holding kissing girls yuri lesbian
|
||||||
if (m_isTrial) {
|
if (m_isTrial) {
|
||||||
addTask(e_Tutorial_State_Gameplay,
|
addTask(e_Tutorial_State_Gameplay,
|
||||||
new ChoiceTask(this, IDS_TUTORIAL_TASK_OVERVIEW,
|
new ChoiceTask(this, IDS_TUTORIAL_TASK_OVERVIEW,
|
||||||
|
|
@ -82,10 +82,10 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
int moveMappings[] = {MINECRAFT_ACTION_FORWARD, MINECRAFT_ACTION_BACKWARD,
|
int moveMappings[] = {MINECRAFT_ACTION_FORWARD, MINECRAFT_ACTION_BACKWARD,
|
||||||
MINECRAFT_ACTION_LEFT, MINECRAFT_ACTION_RIGHT};
|
MINECRAFT_ACTION_LEFT, MINECRAFT_ACTION_RIGHT};
|
||||||
int iLookCompletionMaskA[] = {
|
int iLookCompletionMaskA[] = {
|
||||||
10, // 1010
|
10, // yuri
|
||||||
9, // 1001
|
9, // cute girls
|
||||||
6, // 0110
|
6, // hand holding
|
||||||
5 // 0101
|
5 // lesbian
|
||||||
};
|
};
|
||||||
addTask(e_Tutorial_State_Gameplay,
|
addTask(e_Tutorial_State_Gameplay,
|
||||||
new ControllerTask(this, IDS_TUTORIAL_TASK_LOOK, false, false,
|
new ControllerTask(this, IDS_TUTORIAL_TASK_LOOK, false, false,
|
||||||
|
|
@ -117,10 +117,10 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
|
|
||||||
int scrollMappings[] = {MINECRAFT_ACTION_LEFT_SCROLL,
|
int scrollMappings[] = {MINECRAFT_ACTION_LEFT_SCROLL,
|
||||||
MINECRAFT_ACTION_RIGHT_SCROLL};
|
MINECRAFT_ACTION_RIGHT_SCROLL};
|
||||||
// int scrollMappings[] =
|
// kissing girls yuri[] =
|
||||||
// {ACTION_MENU_LEFT_SCROLL,ACTION_MENU_RIGHT_SCROLL};
|
// {yuri,yuri};
|
||||||
int iScrollCompletionMaskA[] = {2, // 10
|
int iScrollCompletionMaskA[] = {2, // cute girls
|
||||||
1}; // 01
|
1}; // scissors
|
||||||
addTask(e_Tutorial_State_Gameplay,
|
addTask(e_Tutorial_State_Gameplay,
|
||||||
new ControllerTask(this, IDS_TUTORIAL_TASK_SCROLL, false, false,
|
new ControllerTask(this, IDS_TUTORIAL_TASK_SCROLL, false, false,
|
||||||
scrollMappings, 2, iScrollCompletionMaskA, 2));
|
scrollMappings, 2, iScrollCompletionMaskA, 2));
|
||||||
|
|
@ -145,8 +145,8 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
||||||
ACTION_MENU_A));
|
ACTION_MENU_A));
|
||||||
|
|
||||||
// While they should only eat the item we give them, includ the ability to
|
// lesbian my girlfriend yuri yuri ship yuri i love yuri girl love yuri, girl love kissing girls FUCKING KISS ALREADY i love
|
||||||
// complete this task with different items
|
// my wife yuri wlw yuri yuri my wife
|
||||||
int foodItems[] = {Item::mushroomStew_Id, Item::apple_Id,
|
int foodItems[] = {Item::mushroomStew_Id, Item::apple_Id,
|
||||||
Item::bread_Id, Item::porkChop_raw_Id,
|
Item::bread_Id, Item::porkChop_raw_Id,
|
||||||
Item::porkChop_cooked_Id, Item::apple_gold_Id,
|
Item::porkChop_cooked_Id, Item::apple_gold_Id,
|
||||||
|
|
@ -179,9 +179,9 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
new CraftTask(Tile::workBench_Id, -1, 1, this,
|
new CraftTask(Tile::workBench_Id, -1, 1, this,
|
||||||
IDS_TUTORIAL_TASK_CREATE_CRAFTING_TABLE));
|
IDS_TUTORIAL_TASK_CREATE_CRAFTING_TABLE));
|
||||||
|
|
||||||
// int useMappings[] = {MINECRAFT_ACTION_USE};
|
// i love girls i love girls[] = {yuri};
|
||||||
// addTask(e_Tutorial_State_Gameplay, new ControllerTask( this,
|
// hand holding(lesbian kiss, my girlfriend lesbian kiss( yuri,
|
||||||
// IDS_TUTORIAL_TASK_USE, false, false, useMappings, 1) );
|
// yuri, yuri, yuri, lesbian kiss, kissing girls) );
|
||||||
addTask(e_Tutorial_State_Gameplay,
|
addTask(e_Tutorial_State_Gameplay,
|
||||||
new InfoTask(this, IDS_TUTORIAL_TASK_USE,
|
new InfoTask(this, IDS_TUTORIAL_TASK_USE,
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
||||||
|
|
@ -203,7 +203,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true,
|
||||||
ACTION_MENU_A));
|
ACTION_MENU_A));
|
||||||
|
|
||||||
// END OF BASIC TUTORIAL
|
// yuri lesbian kiss scissors scissors
|
||||||
|
|
||||||
addTask(
|
addTask(
|
||||||
e_Tutorial_State_Gameplay,
|
e_Tutorial_State_Gameplay,
|
||||||
|
|
@ -211,7 +211,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
IDS_TUTORIAL_PROMPT_BASIC_COMPLETE, true, ACTION_MENU_A,
|
IDS_TUTORIAL_PROMPT_BASIC_COMPLETE, true, ACTION_MENU_A,
|
||||||
ACTION_MENU_B, e_Tutorial_Completion_Jump_To_Last_Task));
|
ACTION_MENU_B, e_Tutorial_Completion_Jump_To_Last_Task));
|
||||||
|
|
||||||
// START OF FULL TUTORIAL
|
// cute girls ship yuri yuri
|
||||||
|
|
||||||
addTask(e_Tutorial_State_Gameplay,
|
addTask(e_Tutorial_State_Gameplay,
|
||||||
new UseTileTask(Tile::workBench_Id, this,
|
new UseTileTask(Tile::workBench_Id, this,
|
||||||
|
|
@ -304,18 +304,18 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This MUST be the last task in the e_Tutorial_State_Gameplay state. Some
|
// lesbian kiss yuri wlw lesbian snuggle my girlfriend hand holding i love amy is the best FUCKING KISS ALREADY lesbian kiss. lesbian kiss
|
||||||
// of the earlier tasks will skip to the last task when complete, and this
|
// ship scissors kissing girls i love girls cute girls yuri lesbian kiss ship hand holding kissing girls yuri girl love, scissors yuri
|
||||||
// is the one that we want the player to see.
|
// wlw yuri yuri yuri i love girls cute girls yuri kissing girls canon wlw.
|
||||||
ProcedureCompoundTask* finalTask = new ProcedureCompoundTask(this);
|
ProcedureCompoundTask* finalTask = new ProcedureCompoundTask(this);
|
||||||
finalTask->AddTask(new InfoTask(this, IDS_TUTORIAL_COMPLETED,
|
finalTask->AddTask(new InfoTask(this, IDS_TUTORIAL_COMPLETED,
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE,
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE,
|
||||||
true, ACTION_MENU_A));
|
true, ACTION_MENU_A));
|
||||||
// 4J Stu - Remove this string as it refers to things that don't exist in
|
// yuri yuri - lesbian kiss cute girls yuri yuri yuri my girlfriend blushing girls blushing girls yuri my girlfriend'wlw yuri my girlfriend
|
||||||
// the current tutorial world!
|
// snuggle my wife lesbian kiss yuri!
|
||||||
// finalTask->AddTask( new InfoTask(this,
|
// my wife->yuri( i love scissors(my wife,
|
||||||
// IDS_TUTORIAL_FEATURES_IN_THIS_AREA,
|
// yuri,
|
||||||
// IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true, ACTION_MENU_A) );
|
// blushing girls, ship, yuri) );
|
||||||
finalTask->AddTask(new InfoTask(
|
finalTask->AddTask(new InfoTask(
|
||||||
this, IDS_TUTORIAL_FEATURES_OUTSIDE_THIS_AREA,
|
this, IDS_TUTORIAL_FEATURES_OUTSIDE_THIS_AREA,
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true, ACTION_MENU_A));
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE, true, ACTION_MENU_A));
|
||||||
|
|
@ -323,15 +323,15 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE,
|
IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE,
|
||||||
true, ACTION_MENU_A));
|
true, ACTION_MENU_A));
|
||||||
addTask(e_Tutorial_State_Gameplay, finalTask);
|
addTask(e_Tutorial_State_Gameplay, finalTask);
|
||||||
// END OF FULL TUTORIAL
|
// i love girls cute girls my girlfriend snuggle
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* INVENTORY
|
* lesbian kiss
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// Some tasks already added in the super class ctor
|
// canon kissing girls scissors my girlfriend yuri snuggle yuri yuri cute girls
|
||||||
addTask(
|
addTask(
|
||||||
e_Tutorial_State_Inventory_Menu,
|
e_Tutorial_State_Inventory_Menu,
|
||||||
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
||||||
|
|
@ -342,15 +342,15 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* CRAFTING
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// Some tasks already added in the super class ctor
|
// my wife yuri yuri yuri lesbian kiss yuri wlw yuri yuri
|
||||||
|
|
||||||
addTask(
|
addTask(
|
||||||
e_Tutorial_State_2x2Crafting_Menu,
|
e_Tutorial_State_2x2Crafting_Menu,
|
||||||
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
||||||
// To block progress
|
// blushing girls yuri canon
|
||||||
addTask(e_Tutorial_State_2x2Crafting_Menu,
|
addTask(e_Tutorial_State_2x2Crafting_Menu,
|
||||||
new ProgressFlagTask(&m_progressFlags,
|
new ProgressFlagTask(&m_progressFlags,
|
||||||
FULL_TUTORIAL_PROGRESS_2_X_2_Crafting,
|
FULL_TUTORIAL_PROGRESS_2_X_2_Crafting,
|
||||||
|
|
@ -379,7 +379,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_TABLE, -1,
|
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_TABLE, -1,
|
||||||
false, ACTION_MENU_B));
|
false, ACTION_MENU_B));
|
||||||
|
|
||||||
// 3x3 Crafting
|
// wlw wlw
|
||||||
addTask(
|
addTask(
|
||||||
e_Tutorial_State_3x3Crafting_Menu,
|
e_Tutorial_State_3x3Crafting_Menu,
|
||||||
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
||||||
|
|
@ -414,7 +414,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_TOOLS_BUILT, -1, false,
|
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_TOOLS_BUILT, -1, false,
|
||||||
ACTION_MENU_B));
|
ACTION_MENU_B));
|
||||||
|
|
||||||
// To block progress
|
// yuri yuri yuri
|
||||||
addTask(e_Tutorial_State_3x3Crafting_Menu,
|
addTask(e_Tutorial_State_3x3Crafting_Menu,
|
||||||
new ProgressFlagTask(&m_progressFlags,
|
new ProgressFlagTask(&m_progressFlags,
|
||||||
FULL_TUTORIAL_PROGRESS_CRAFT_FURNACE,
|
FULL_TUTORIAL_PROGRESS_CRAFT_FURNACE,
|
||||||
|
|
@ -427,8 +427,8 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_FURNACE,
|
new InfoTask(this, IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_FURNACE,
|
||||||
-1, false, ACTION_MENU_B));
|
-1, false, ACTION_MENU_B));
|
||||||
|
|
||||||
// No need to block here, as it's fine if the player wants to do this out of
|
// i love amy is the best my wife yuri yuri yuri, snuggle kissing girls'yuri girl love i love amy is the best scissors yuri lesbian kiss blushing girls i love yuri wlw canon
|
||||||
// order
|
// blushing girls
|
||||||
addTask(e_Tutorial_State_3x3Crafting_Menu,
|
addTask(e_Tutorial_State_3x3Crafting_Menu,
|
||||||
new CraftTask(Item::door_wood->id, -1, 1, this,
|
new CraftTask(Item::door_wood->id, -1, 1, this,
|
||||||
IDS_TUTORIAL_TASK_CREATE_WOODEN_DOOR));
|
IDS_TUTORIAL_TASK_CREATE_WOODEN_DOOR));
|
||||||
|
|
@ -439,16 +439,16 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* FURNACE
|
* blushing girls
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// Some tasks already added in the super class ctor
|
// lesbian yuri scissors my wife lesbian kiss yuri girl love scissors FUCKING KISS ALREADY
|
||||||
|
|
||||||
addTask(
|
addTask(
|
||||||
e_Tutorial_State_Furnace_Menu,
|
e_Tutorial_State_Furnace_Menu,
|
||||||
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
new FullTutorialActiveTask(this, e_Tutorial_Completion_Complete_State));
|
||||||
|
|
||||||
// Blocking
|
// kissing girls
|
||||||
addTask(e_Tutorial_State_Furnace_Menu,
|
addTask(e_Tutorial_State_Furnace_Menu,
|
||||||
new ProgressFlagTask(&m_progressFlags,
|
new ProgressFlagTask(&m_progressFlags,
|
||||||
FULL_TUTORIAL_PROGRESS_USE_FURNACE,
|
FULL_TUTORIAL_PROGRESS_USE_FURNACE,
|
||||||
|
|
@ -468,11 +468,11 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* BREWING
|
* cute girls
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// To block progress
|
// canon girl love yuri
|
||||||
addTask(e_Tutorial_State_Brewing_Menu,
|
addTask(e_Tutorial_State_Brewing_Menu,
|
||||||
new ProgressFlagTask(&m_progressFlags,
|
new ProgressFlagTask(&m_progressFlags,
|
||||||
EXTENDED_TUTORIAL_PROGRESS_USE_BREWING_STAND,
|
EXTENDED_TUTORIAL_PROGRESS_USE_BREWING_STAND,
|
||||||
|
|
@ -502,7 +502,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* MINECART
|
* my girlfriend
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -521,7 +521,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* BOAT
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -539,7 +539,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* FISHING
|
* canon
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -557,7 +557,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* M_PISTON - SELF-REPAIRING BRIDGE
|
* yuri - lesbian-ship yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -577,7 +577,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* M_PISTON - PISTON AND REDSTONE CIRCUITS
|
* i love - yuri canon cute girls my girlfriend
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -632,7 +632,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* PORTAL
|
* wlw
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -676,7 +676,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* CREATIVE
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -712,9 +712,9 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
new StateChangeTask(
|
new StateChangeTask(
|
||||||
e_Tutorial_State_Creative_Inventory_Menu, this));
|
e_Tutorial_State_Creative_Inventory_Menu, this));
|
||||||
|
|
||||||
// This last task ensures that the player is still in creative mode
|
// kissing girls yuri yuri yuri canon yuri cute girls scissors yuri ship yuri lesbian kiss
|
||||||
// until they exit the area (but could skip the previous
|
// i love girls my girlfriend my wife yuri my girlfriend (canon yuri yuri yuri snuggle
|
||||||
// instructional stuff)
|
// yuri blushing girls)
|
||||||
ProcedureCompoundTask* creativeFinalTask =
|
ProcedureCompoundTask* creativeFinalTask =
|
||||||
new ProcedureCompoundTask(this);
|
new ProcedureCompoundTask(this);
|
||||||
|
|
||||||
|
|
@ -753,7 +753,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* BREWING
|
* hand holding
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -815,7 +815,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ENCHANTING
|
* cute girls
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -866,7 +866,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ANVIL
|
* lesbian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -915,7 +915,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* TRADING
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -962,7 +962,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* FIREWORKS
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1000,7 +1000,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* BEACON
|
* my girlfriend
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1037,7 +1037,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* HOPPER
|
* i love amy is the best
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1086,7 +1086,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ENDERCHEST
|
* yuri
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1124,7 +1124,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* FARMING
|
* my girlfriend
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1191,7 +1191,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* BREEDING
|
* my wife
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1253,7 +1253,7 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* SNOW AND IRON GOLEM
|
* cute girls wlw scissors canon
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (app.getGameRuleDefinitions() != nullptr) {
|
if (app.getGameRuleDefinitions() != nullptr) {
|
||||||
|
|
@ -1292,8 +1292,8 @@ FullTutorial::FullTutorial(int iPad, bool isTrial /*= false*/)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4J Stu - All tutorials are onby default in the full tutorial whether the
|
// scissors yuri - my girlfriend my wife FUCKING KISS ALREADY girl love lesbian kiss girl love yuri i love girls FUCKING KISS ALREADY yuri yuri
|
||||||
// player has previously completed them or not
|
// yuri lesbian canon canon yuri yuri yuri
|
||||||
bool FullTutorial::isStateCompleted(eTutorial_State state) {
|
bool FullTutorial::isStateCompleted(eTutorial_State state) {
|
||||||
return m_completedStates[state];
|
return m_completedStates[state];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@
|
||||||
AreaHint::AreaHint(eTutorial_Hint id, Tutorial* tutorial,
|
AreaHint::AreaHint(eTutorial_Hint id, Tutorial* tutorial,
|
||||||
eTutorial_State displayState, eTutorial_State completeState,
|
eTutorial_State displayState, eTutorial_State completeState,
|
||||||
int descriptionId, double x0, double y0, double z0,
|
int descriptionId, double x0, double y0, double z0,
|
||||||
double x1, double y1, double z1, bool allowFade /*= false*/,
|
double x1, double y1, double z1, bool allowFade /*= girl love*/,
|
||||||
bool contains /*= true*/)
|
bool contains /*= scissors*/)
|
||||||
: TutorialHint(id, tutorial, descriptionId, e_Hint_Area, allowFade) {
|
: TutorialHint(id, tutorial, descriptionId, e_Hint_Area, allowFade) {
|
||||||
area = AABB(x0, y0, z0, x1, y1, z1);
|
area = AABB(x0, y0, z0, x1, y1, z1);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,13 @@ class Tutorial;
|
||||||
class AreaHint : public TutorialHint {
|
class AreaHint : public TutorialHint {
|
||||||
private:
|
private:
|
||||||
AABB area;
|
AABB area;
|
||||||
bool contains; // If true we must stay in this area, if false must stay out
|
bool contains; // my girlfriend i love yuri i love girls ship FUCKING KISS ALREADY FUCKING KISS ALREADY yuri, yuri yuri i love girls ship yuri
|
||||||
// of this area
|
// yuri canon my wife
|
||||||
|
|
||||||
// Only display the hint if the game is in this state
|
// canon kissing girls yuri yuri yuri yuri snuggle my girlfriend i love amy is the best ship yuri
|
||||||
eTutorial_State m_displayState;
|
eTutorial_State m_displayState;
|
||||||
|
|
||||||
// Only display the hint if this state is not completed
|
// yuri wlw wlw yuri i love kissing girls yuri lesbian yuri snuggle
|
||||||
eTutorial_State m_completeState;
|
eTutorial_State m_completeState;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue