restructure codebase according to vcproj filters

This commit is contained in:
Tropical
2026-03-30 09:50:58 -05:00
parent d5cf90c713
commit 451682693e
3015 changed files with 46858 additions and 54635 deletions

View File

@@ -0,0 +1,36 @@
#pragma once
#include <cstdint>
class Graphics;
class DLCPack;
class BufferedImage {
private:
int* data[10]; // Arrays for mipmaps - nullptr if not used
int width;
int height;
void ByteFlip4(unsigned int& data); // 4J added
public:
static const int TYPE_INT_ARGB = 0;
static const int TYPE_INT_RGB = 1;
BufferedImage(int width, int height, int type);
BufferedImage(const std::wstring& File, bool filenameHasExtension = false,
bool bTitleUpdateTexture = false,
const std::wstring& drive = L""); // 4J added
BufferedImage(DLCPack* dlcPack, const std::wstring& File,
bool filenameHasExtension = false); // 4J Added
BufferedImage(std::uint8_t* pbData, std::uint32_t dataBytes); // 4J added
~BufferedImage();
int getWidth();
int getHeight();
void getRGB(int startX, int startY, int w, int h, intArray out, int offset,
int scansize, int level = 0); // 4J Added level param
int* getData(); // 4J added
int* getData(int level); // 4J added
Graphics* getGraphics();
int getTransparency();
BufferedImage* getSubimage(int x, int y, int w, int h);
void preMultiplyAlpha();
};

View File

@@ -0,0 +1,100 @@
#pragma once
#ifdef ENABLE_FRAME_PROFILER
#include <cstddef>
#include <cstdint>
#include <utility>
class FrameProfiler {
public:
enum class Bucket : std::uint8_t {
Frame,
World,
Terrain,
ChunkCull,
ChunkCollect,
ChunkPlayback,
ChunkDirtyScan,
ChunkRebuildSchedule,
ChunkRebuildBody,
ChunkPrepass,
ChunkBlockShape,
ChunkBlockFaceCull,
ChunkBlockLighting,
ChunkBlockEmit,
RenderableTileEntityCleanup,
TileEntityUnloadCleanup,
Entity,
Particle,
WeatherSky,
UIHud,
Lightmap,
Count,
};
struct BucketDescriptor {
Bucket bucket;
const char* label;
};
[[nodiscard]] static constexpr std::size_t BucketIndex(
Bucket bucket) noexcept {
return static_cast<std::size_t>(std::to_underlying(bucket));
}
[[nodiscard]] static constexpr std::size_t BucketCount() noexcept {
return BucketIndex(Bucket::Count);
}
[[nodiscard]] static bool IsEnabled() noexcept;
class Scope {
public:
explicit Scope(Bucket bucket) noexcept;
Scope(const Scope&) = delete;
Scope& operator=(const Scope&) = delete;
Scope(Scope&&) = delete;
Scope& operator=(Scope&&) = delete;
~Scope() noexcept;
private:
std::uint64_t m_startNs;
Bucket m_bucket;
bool m_enabled;
};
class FrameScope {
public:
FrameScope() noexcept;
FrameScope(const FrameScope&) = delete;
FrameScope& operator=(const FrameScope&) = delete;
FrameScope(FrameScope&&) = delete;
FrameScope& operator=(FrameScope&&) = delete;
~FrameScope() noexcept;
private:
std::uint64_t m_startNs;
bool m_enabled;
};
private:
static void Record(Bucket bucket, std::uint64_t elapsedNs) noexcept;
static void EndFrame(std::uint64_t elapsedNs) noexcept;
};
#define FRAME_PROFILE_CONCAT_INNER(a, b) a##b
#define FRAME_PROFILE_CONCAT(a, b) FRAME_PROFILE_CONCAT_INNER(a, b)
#define FRAME_PROFILE_SCOPE(bucket_name) \
FrameProfiler::Scope FRAME_PROFILE_CONCAT( \
frameProfileScope_, __LINE__)(FrameProfiler::Bucket::bucket_name)
#define FRAME_PROFILE_FRAME_SCOPE() \
FrameProfiler::FrameScope FRAME_PROFILE_CONCAT(frameProfileFrameScope_, \
__LINE__)
#else
#define FRAME_PROFILE_SCOPE(bucket_name) ((void)0)
#define FRAME_PROFILE_FRAME_SCOPE() ((void)0)
#endif

View File

@@ -0,0 +1,18 @@
#pragma once
#include <cstdint>
class BufferedImage;
class MemTextureProcessor;
class MemTexture {
public:
BufferedImage* loadedImage;
int count;
int id;
bool isLoaded;
int ticksSinceLastUse;
static const int UNUSED_TICKS_TO_FREE = 20;
MemTexture(const std::wstring& _name, std::uint8_t* pbData,
std::uint32_t dataBytes, MemTextureProcessor* processor);
~MemTexture();
};

View File

@@ -0,0 +1,8 @@
#pragma once
class BufferedImage;
class MemTextureProcessor {
public:
virtual ~MemTextureProcessor() {}
virtual BufferedImage* process(BufferedImage* read) = 0;
};

View File

@@ -0,0 +1,664 @@
////////////////////////////////////////////////////////////////////
//
// C:\Work\4J\Mojang\Minecraft\Minecraft360-dev\Minecraft.Client\Xbox\GameConfig\Minecraft.spa.h
//
// Auto-generated on Thursday, 10 May 2012 at 21:23:22
// Xbox LIVE Game Config project version 1.0.173.0
// SPA Compiler version 1.0.0.0
//
////////////////////////////////////////////////////////////////////
#ifndef __MINECRAFT_SPA_H__
#define __MINECRAFT_SPA_H__
#ifdef __cplusplus
extern "C" {
#endif
//
// Title info
//
#define TITLEID_MINECRAFT 0x584111F7
//
// Context ids
//
// These values are passed as the dwContextId to XUserSetContext.
//
#define CONTEXT_GAME_STATE 0
//
// Context values
//
// These values are passed as the dwContextValue to XUserSetContext.
//
// Values for CONTEXT_GAME_STATE
#define CONTEXT_GAME_STATE_BLANK 0
#define CONTEXT_GAME_STATE_RIDING_PIG 1
#define CONTEXT_GAME_STATE_RIDING_MINECART 2
#define CONTEXT_GAME_STATE_BOATING 3
#define CONTEXT_GAME_STATE_FISHING 4
#define CONTEXT_GAME_STATE_CRAFTING 5
#define CONTEXT_GAME_STATE_FORGING 6
#define CONTEXT_GAME_STATE_NETHER 7
#define CONTEXT_GAME_STATE_CD 8
#define CONTEXT_GAME_STATE_MAP 9
#define CONTEXT_GAME_STATE_ENCHANTING 5 // TODO 10
#define CONTEXT_GAME_STATE_BREWING 5 // TODO 11
#define CONTEXT_GAME_STATE_ANVIL 6 // TODO 12
#define CONTEXT_GAME_STATE_TRADING 0 // TODO 13
// Values for X_CONTEXT_PRESENCE
#define CONTEXT_PRESENCE_IDLE 0
#define CONTEXT_PRESENCE_MENUS 1
#define CONTEXT_PRESENCE_MULTIPLAYER 2
#define CONTEXT_PRESENCE_MULTIPLAYEROFFLINE 3
#define CONTEXT_PRESENCE_MULTIPLAYER_1P 4
#define CONTEXT_PRESENCE_MULTIPLAYER_1POFFLINE 5
// Values for X_CONTEXT_GAME_MODE
#define CONTEXT_GAME_MODE_GAMEMODE 0
#define CONTEXT_GAME_MODE_MULTIPLAYER 1
//
// Property ids
//
// These values are passed as the dwPropertyId value to XUserSetProperty
// and as the dwPropertyId value in the XUSER_PROPERTY structure.
//
#define PROPERTY_LOCALE 0x10000008
#define PROPERTY_KILLS_ZOMBIE 0x1000000A
#define PROPERTY_KILLS_SKELETON 0x1000000B
#define PROPERTY_KILLS_CREEPER 0x1000000C
#define PROPERTY_KILLS_SPIDER 0x1000000D
#define PROPERTY_KILLS_SPIDERJOCKEY 0x1000000E
#define PROPERTY_KILLS_ZOMBIEPIGMAN 0x1000000F
#define PROPERTY_KILLS_SLIME 0x10000010
#define PROPERTY_KILLS_GHAST 0x10000011
#define PROPERTY_MINED_DIRT 0x10000012
#define PROPERTY_MINED_STONE 0x10000013
#define PROPERTY_MINED_SAND 0x10000014
#define PROPERTY_MINED_COBBLESTONE 0x10000015
#define PROPERTY_MINED_GRAVEL 0x10000016
#define PROPERTY_MINED_CLAY 0x10000017
#define PROPERTY_MINED_OBSIDIAN 0x10000018
#define PROPERTY_MINED_COAL 0x10000019
#define PROPERTY_MINED_IRON 0x1000001A
#define PROPERTY_MINED_GOLD 0x1000001B
#define PROPERTY_MINED_DIAMOND 0x1000001C
#define PROPERTY_MINED_REDSTONE 0x1000001D
#define PROPERTY_MINED_LAPISLAZULI 0x1000001E
#define PROPERTY_MINED_NETHERRACK 0x1000001F
#define PROPERTY_MINED_SOULSAND 0x10000020
#define PROPERTY_MINED_GLOWSTONE 0x10000021
#define PROPERTY_COLLECTED_EGG 0x10000022
#define PROPERTY_COLLECTED_WHEAT 0x10000023
#define PROPERTY_COLLECTED_MUSHROOM 0x10000024
#define PROPERTY_COLLECTED_SUGARCANE 0x10000025
#define PROPERTY_COLLECTED_MILK 0x10000026
#define PROPERTY_COLLECTED_PUMPKIN 0x10000027
#define PROPERTY_TRAVEL_WALK 0x10000028
#define PROPERTY_TRAVEL_SWIM 0x10000029
#define PROPERTY_TRAVEL_FALL 0x1000002A
#define PROPERTY_TRAVEL_CLIMB 0x1000002B
#define PROPERTY_TRAVEL_MINECART 0x1000002C
#define PROPERTY_TRAVEL_BOAT 0x1000002D
#define PROPERTY_PORTALS_CREATED 0x1000002F
#define PROPERTY_COLLECTED_NETHERLAVA 0x10000030
#define PROPERTY_RATING 0x20000009
//
// Achievement ids
//
// These values are used in the dwAchievementId member of the
// XUSER_ACHIEVEMENT structure that is used with
// XUserWriteAchievements and XUserCreateAchievementEnumerator.
//
#define ACHIEVEMENT_01 1
#define ACHIEVEMENT_02 2
#define ACHIEVEMENT_03 3
#define ACHIEVEMENT_04 4
#define ACHIEVEMENT_05 5
#define ACHIEVEMENT_06 6
#define ACHIEVEMENT_07 7
#define ACHIEVEMENT_08 8
#define ACHIEVEMENT_09 9
#define ACHIEVEMENT_10 10
#define ACHIEVEMENT_11 11
#define ACHIEVEMENT_12 12
#define ACHIEVEMENT_13 14
#define ACHIEVEMENT_14 15
#define ACHIEVEMENT_15 16
#define ACHIEVEMENT_16 17
#define ACHIEVEMENT_17 18
#define ACHIEVEMENT_18 19
#define ACHIEVEMENT_19 20
#define ACHIEVEMENT_20 21
//
// AvatarAssetAward ids
//
#define AVATARASSETAWARD_PORKCHOP_TSHIRT 1
#define AVATARASSETAWARD_WATCH 2
#define AVATARASSETAWARD_CAP 5
//
// Stats view ids
//
// These are used in the dwViewId member of the XUSER_STATS_SPEC structure
// passed to the XUserReadStats* and XUserCreateStatsEnumerator* functions.
//
// Skill leaderboards for ranked game modes
#define STATS_VIEW_SKILL_RANKED_GAMEMODE 0xFFFF0000
#define STATS_VIEW_SKILL_RANKED_MULTIPLAYER 0xFFFF0001
// Skill leaderboards for unranked (standard) game modes
#define STATS_VIEW_SKILL_STANDARD_GAMEMODE 0xFFFE0000
#define STATS_VIEW_SKILL_STANDARD_MULTIPLAYER 0xFFFE0001
// Title defined leaderboards
#define STATS_VIEW_KILLS_EASY 4
#define STATS_VIEW_KILLS_NORMAL 5
#define STATS_VIEW_KILLS_HARD 6
#define STATS_VIEW_MINING_BLOCKS_PEACEFUL 7
#define STATS_VIEW_MINING_BLOCKS_EASY 8
#define STATS_VIEW_MINING_BLOCKS_NORMAL 9
#define STATS_VIEW_MINING_BLOCKS_HARD 10
#define STATS_VIEW_FARMING_PEACEFUL 15
#define STATS_VIEW_FARMING_EASY 16
#define STATS_VIEW_FARMING_NORMAL 17
#define STATS_VIEW_FARMING_HARD 18
#define STATS_VIEW_TRAVELLING_PEACEFUL 19
#define STATS_VIEW_TRAVELLING_EASY 20
#define STATS_VIEW_TRAVELLING_NORMAL 21
#define STATS_VIEW_TRAVELLING_HARD 22
#define STATS_VIEW_TRAVELLING_TOTAL 27
//
// Stats view column ids
//
// These ids are used to read columns of stats views. They are specified in
// the rgwColumnIds array of the XUSER_STATS_SPEC structure. Rank, rating
// and gamertag are not retrieved as custom columns and so are not included
// in the following definitions. They can be retrieved from each row's
// header (e.g., pStatsResults->pViews[x].pRows[y].dwRank, etc.).
//
// Column ids for KILLS_EASY
#define STATS_COLUMN_KILLS_EASY_LOCALE 9
#define STATS_COLUMN_KILLS_EASY_ZOMBIES 1
#define STATS_COLUMN_KILLS_EASY_SKELETONS 2
#define STATS_COLUMN_KILLS_EASY_CREEPERS 3
#define STATS_COLUMN_KILLS_EASY_SPIDERS 4
#define STATS_COLUMN_KILLS_EASY_SPIDERJOCKEYS 5
#define STATS_COLUMN_KILLS_EASY_ZOMBIEPIGMEN 6
#define STATS_COLUMN_KILLS_EASY_SLIME 7
// Column ids for KILLS_NORMAL
#define STATS_COLUMN_KILLS_NORMAL_LOCALE 9
#define STATS_COLUMN_KILLS_NORMAL_ZOMBIES 1
#define STATS_COLUMN_KILLS_NORMAL_SKELETONS 2
#define STATS_COLUMN_KILLS_NORMAL_CREEPERS 3
#define STATS_COLUMN_KILLS_NORMAL_SPIDERS 4
#define STATS_COLUMN_KILLS_NORMAL_SPIDERJOCKEYS 5
#define STATS_COLUMN_KILLS_NORMAL_ZOMBIEPIGMEN 6
#define STATS_COLUMN_KILLS_NORMAL_SLIME 7
// Column ids for KILLS_HARD
#define STATS_COLUMN_KILLS_HARD_LOCALE 9
#define STATS_COLUMN_KILLS_HARD_ZOMBIES 1
#define STATS_COLUMN_KILLS_HARD_SKELETONS 2
#define STATS_COLUMN_KILLS_HARD_CREEPERS 3
#define STATS_COLUMN_KILLS_HARD_SPIDERS 4
#define STATS_COLUMN_KILLS_HARD_SPIDERJOCKEYS 5
#define STATS_COLUMN_KILLS_HARD_ZOMBIEPIGMEN 6
#define STATS_COLUMN_KILLS_HARD_SLIME 7
// Column ids for MINING_BLOCKS_PEACEFUL
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_LOCALE 1
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_DIRT 2
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_STONE 3
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_SAND 4
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_COBBLESTONE 5
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_GRAVEL 6
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_CLAY 7
#define STATS_COLUMN_MINING_BLOCKS_PEACEFUL_OBSIDIAN 8
// Column ids for MINING_BLOCKS_EASY
#define STATS_COLUMN_MINING_BLOCKS_EASY_LOCALE 1
#define STATS_COLUMN_MINING_BLOCKS_EASY_DIRT 2
#define STATS_COLUMN_MINING_BLOCKS_EASY_STONE 3
#define STATS_COLUMN_MINING_BLOCKS_EASY_SAND 4
#define STATS_COLUMN_MINING_BLOCKS_EASY_COBBLESTONE 5
#define STATS_COLUMN_MINING_BLOCKS_EASY_GRAVEL 6
#define STATS_COLUMN_MINING_BLOCKS_EASY_CLAY 7
#define STATS_COLUMN_MINING_BLOCKS_EASY_OBSIDIAN 8
// Column ids for MINING_BLOCKS_NORMAL
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_LOCALE 1
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_DIRT 2
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_STONE 3
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_SAND 4
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_COBBLESTONE 5
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_GRAVEL 6
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_CLAY 7
#define STATS_COLUMN_MINING_BLOCKS_NORMAL_OBSIDIAN 8
// Column ids for MINING_BLOCKS_HARD
#define STATS_COLUMN_MINING_BLOCKS_HARD_LOCALE 1
#define STATS_COLUMN_MINING_BLOCKS_HARD_DIRT 2
#define STATS_COLUMN_MINING_BLOCKS_HARD_STONE 3
#define STATS_COLUMN_MINING_BLOCKS_HARD_SAND 4
#define STATS_COLUMN_MINING_BLOCKS_HARD_COBBLESTONE 5
#define STATS_COLUMN_MINING_BLOCKS_HARD_GRAVEL 6
#define STATS_COLUMN_MINING_BLOCKS_HARD_CLAY 7
#define STATS_COLUMN_MINING_BLOCKS_HARD_OBSIDIAN 8
// Column ids for FARMING_PEACEFUL
#define STATS_COLUMN_FARMING_PEACEFUL_LOCALE 1
#define STATS_COLUMN_FARMING_PEACEFUL_EGGS 2
#define STATS_COLUMN_FARMING_PEACEFUL_WHEAT 3
#define STATS_COLUMN_FARMING_PEACEFUL_MUSHROOMS 4
#define STATS_COLUMN_FARMING_PEACEFUL_SUGARCANE 5
#define STATS_COLUMN_FARMING_PEACEFUL_MILK 6
#define STATS_COLUMN_FARMING_PEACEFUL_PUMPKINS 7
// Column ids for FARMING_EASY
#define STATS_COLUMN_FARMING_EASY_LOCALE 1
#define STATS_COLUMN_FARMING_EASY_EGGS 2
#define STATS_COLUMN_FARMING_EASY_WHEAT 3
#define STATS_COLUMN_FARMING_EASY_MUSHROOMS 4
#define STATS_COLUMN_FARMING_EASY_SUGARCANE 5
#define STATS_COLUMN_FARMING_EASY_MILK 6
#define STATS_COLUMN_FARMING_EASY_PUMPKINS 7
// Column ids for FARMING_NORMAL
#define STATS_COLUMN_FARMING_NORMAL_LOCALE 1
#define STATS_COLUMN_FARMING_NORMAL_EGGS 2
#define STATS_COLUMN_FARMING_NORMAL_WHEAT 3
#define STATS_COLUMN_FARMING_NORMAL_MUSHROOMS 4
#define STATS_COLUMN_FARMING_NORMAL_SUGARCANE 5
#define STATS_COLUMN_FARMING_NORMAL_MILK 6
#define STATS_COLUMN_FARMING_NORMAL_PUMPKINS 7
// Column ids for FARMING_HARD
#define STATS_COLUMN_FARMING_HARD_LOCALE 1
#define STATS_COLUMN_FARMING_HARD_EGGS 2
#define STATS_COLUMN_FARMING_HARD_WHEAT 3
#define STATS_COLUMN_FARMING_HARD_MUSHROOMS 4
#define STATS_COLUMN_FARMING_HARD_SUGARCANE 5
#define STATS_COLUMN_FARMING_HARD_MILK 6
#define STATS_COLUMN_FARMING_HARD_PUMPKINS 7
// Column ids for TRAVELLING_PEACEFUL
#define STATS_COLUMN_TRAVELLING_PEACEFUL_LOCALE 1
#define STATS_COLUMN_TRAVELLING_PEACEFUL_WALKED 2
#define STATS_COLUMN_TRAVELLING_PEACEFUL_SWAM 3
#define STATS_COLUMN_TRAVELLING_PEACEFUL_FALLEN 4
#define STATS_COLUMN_TRAVELLING_PEACEFUL_CLIMBED 5
#define STATS_COLUMN_TRAVELLING_PEACEFUL_MINECART 6
#define STATS_COLUMN_TRAVELLING_PEACEFUL_BOAT 7
// Column ids for TRAVELLING_EASY
#define STATS_COLUMN_TRAVELLING_EASY_LOCALE 1
#define STATS_COLUMN_TRAVELLING_EASY_WALKED 2
#define STATS_COLUMN_TRAVELLING_EASY_SWAM 3
#define STATS_COLUMN_TRAVELLING_EASY_FALLEN 4
#define STATS_COLUMN_TRAVELLING_EASY_CLIMBED 5
#define STATS_COLUMN_TRAVELLING_EASY_MINECART 6
#define STATS_COLUMN_TRAVELLING_EASY_BOAT 7
// Column ids for TRAVELLING_NORMAL
#define STATS_COLUMN_TRAVELLING_NORMAL_LOCALE 1
#define STATS_COLUMN_TRAVELLING_NORMAL_WALKED 2
#define STATS_COLUMN_TRAVELLING_NORMAL_SWAM 3
#define STATS_COLUMN_TRAVELLING_NORMAL_FALLEN 4
#define STATS_COLUMN_TRAVELLING_NORMAL_CLIMBED 5
#define STATS_COLUMN_TRAVELLING_NORMAL_MINECART 6
#define STATS_COLUMN_TRAVELLING_NORMAL_BOAT 7
// Column ids for TRAVELLING_HARD
#define STATS_COLUMN_TRAVELLING_HARD_LOCALE 1
#define STATS_COLUMN_TRAVELLING_HARD_WALKED 2
#define STATS_COLUMN_TRAVELLING_HARD_SWAM 3
#define STATS_COLUMN_TRAVELLING_HARD_FALLEN 4
#define STATS_COLUMN_TRAVELLING_HARD_CLIMBED 5
#define STATS_COLUMN_TRAVELLING_HARD_MINECART 6
#define STATS_COLUMN_TRAVELLING_HARD_BOAT 7
// Column ids for TRAVELLING_TOTAL
//
// Matchmaking queries
//
// These values are passed as the dwProcedureIndex parameter to
// XSessionSearch to indicate which matchmaking query to run.
//
#define SESSION_MATCH_QUERY_FRIENDS 0
//
// Gamer pictures
//
// These ids are passed as the dwPictureId parameter to XUserAwardGamerTile.
//
#define GAMER_PICTURE_GAMERPIC1 12
#define GAMER_PICTURE_GAMERPIC2 13
//
// Strings
//
// These ids are passed as the dwStringId parameter to XReadStringsFromSpaFile.
//
#define SPASTRING_PRESENCE_IDLE_NAME 4
#define SPASTRING_PRESENCE_MENUS_NAME 10
#define SPASTRING_ACH_01_NAME 376
#define SPASTRING_ACH_02_NAME 377
#define SPASTRING_ACH_03_NAME 378
#define SPASTRING_ACH_07_NAME 379
#define SPASTRING_ACH_08_NAME 380
#define SPASTRING_ACH_09_NAME 381
#define SPASTRING_ACH_13_NAME 382
#define SPASTRING_ACH_14_NAME 383
#define SPASTRING_ACH_15_NAME 384
#define SPASTRING_ACH_16_NAME 385
#define SPASTRING_ACH_04_NAME 386
#define SPASTRING_ACH_10_NAME 387
#define SPASTRING_ACH_01_DESC 388
#define SPASTRING_ACH_02_DESC 389
#define SPASTRING_ACH_03_DESC 390
#define SPASTRING_ACH_07_DESC 391
#define SPASTRING_ACH_08_DESC 392
#define SPASTRING_ACH_09_DESC 393
#define SPASTRING_ACH_13_DESC 394
#define SPASTRING_ACH_14_DESC 395
#define SPASTRING_ACH_15_DESC 396
#define SPASTRING_ACH_16_DESC 397
#define SPASTRING_ACH_04_DESC 398
#define SPASTRING_ACH_10_DESC 399
#define SPASTRING_ACH_01_HOWTO 400
#define SPASTRING_ACH_02_HOWTO 401
#define SPASTRING_ACH_03_HOWTO 402
#define SPASTRING_ACH_07_HOWTO 403
#define SPASTRING_ACH_08_HOWTO 404
#define SPASTRING_ACH_09_HOWTO 405
#define SPASTRING_ACH_13_HOWTO 406
#define SPASTRING_ACH_14_HOWTO 407
#define SPASTRING_ACH_15_HOWTO 408
#define SPASTRING_ACH_16_HOWTO 409
#define SPASTRING_ACH_04_HOWTO 410
#define SPASTRING_ACH_10_HOWTO 411
#define SPASTRING_STR_GAMEMODE_SINGLEPLAYER 420
#define SPASTRING_ACH_05_HOWTO 429
#define SPASTRING_ACH_05_NAME 430
#define SPASTRING_ACH_05_DESC 431
#define SPASTRING_ACH_11_HOWTO 432
#define SPASTRING_ACH_11_NAME 433
#define SPASTRING_ACH_11_DESC 434
#define SPASTRING_ACH_06_HOWTO 435
#define SPASTRING_ACH_06_NAME 436
#define SPASTRING_ACH_06_DESC 437
#define SPASTRING_ACH_12_HOWTO 438
#define SPASTRING_ACH_12_NAME 439
#define SPASTRING_ACH_12_DESC 440
#define SPASTRING_ACH_17_HOWTO 441
#define SPASTRING_ACH_17_NAME 442
#define SPASTRING_ACH_17_DESC 443
#define SPASTRING_ACH_18_HOWTO 444
#define SPASTRING_ACH_18_NAME 445
#define SPASTRING_ACH_18_DESC 446
#define SPASTRING_ACH_19_HOWTO 447
#define SPASTRING_ACH_19_NAME 448
#define SPASTRING_ACH_19_DESC 449
#define SPASTRING_ACH_20_HOWTO 450
#define SPASTRING_ACH_20_NAME 451
#define SPASTRING_ACH_20_DESC 452
#define SPASTRING_AV_PORKCHOP_TSHIRT_HOWTO 473
#define SPASTRING_AV_PORKCHOP_TSHIRT_TITLE1 474
#define SPASTRING_AV_PORKCHOP_TSHIRT_TITLE2 475
#define SPASTRING_AV_PORKCHOP_TSHIRT_DESC 476
#define SPASTRING_AV_WATCH_HOWTO 477
#define SPASTRING_AV_WATCH_TITLE1 478
#define SPASTRING_AV_WATCH_TITLE2 479
#define SPASTRING_AV_WATCH_DESC 480
#define SPASTRING_PRESENCE_MULTIPLAYER_NAME 490
#define SPASTRING_CT_GAME_STATE_NAME 492
#define SPASTRING_CV_GAME_STATE_BLANK_NAME 496
#define SPASTRING_CV_GAME_STATE_RIDING_PIG_NAME 497
#define SPASTRING_CV_GAME_STATE_RIDING_MINECART_NAME 498
#define SPASTRING_CV_GAME_STATE_BOATING_NAME 499
#define SPASTRING_CV_GAME_STATE_FISHING_NAME 500
#define SPASTRING_CV_GAME_STATE_CRAFTING_NAME 501
#define SPASTRING_CV_GAME_STATE_FORGING_NAME 502
#define SPASTRING_CV_GAME_STATE_NETHER_NAME 503
#define SPASTRING_CV_GAME_STATE_CD_NAME 504
#define SPASTRING_CV_GAME_STATE_MAP_NAME 505
#define SPASTRING_AV_CAP_HOWTO 506
#define SPASTRING_AV_CAP_TITLE1 507
#define SPASTRING_AV_CAP_TITLE2 508
#define SPASTRING_AV_CAP_DESC 509
#define SPASTRING_GM_MULTIPLAYER_NAME 517
#define SPASTRING_PROPERTY_LOCALE_NAME 520
#define SPASTRING_LB_KILLS_EASY_NAME 523
#define SPASTRING_LB_KILLS_EASY_ZOMBIES_NAME 524
#define SPASTRING_LB_KILLS_EASY_SKELETONS_NAME 525
#define SPASTRING_LB_KILLS_EASY_CREEPERS_NAME 526
#define SPASTRING_LB_KILLS_EASY_SPIDERS_NAME 527
#define SPASTRING_LB_KILLS_EASY_SPIDERJOCKEYS_NAME 528
#define SPASTRING_LB_KILLS_EASY_ZOMBIEPIGMEN_NAME 529
#define SPASTRING_LB_KILLS_EASY_SLIME_NAME 530
#define SPASTRING_LB_KILLS_EASY_RATING_NAME 531
#define SPASTRING_PROPERTY_RATING_NAME 532
#define SPASTRING_LB_KILLS_EASY_LOCALE_NAME 533
#define SPASTRING_PROPERTY_KILLS_ZOMBIE_NAME 534
#define SPASTRING_PROPERTY_KILLS_SKELETON_NAME 535
#define SPASTRING_PROPERTY_KILLS_CREEPER_NAME 536
#define SPASTRING_PROPERTY_KILLS_SPIDER_NAME 537
#define SPASTRING_PROPERTY_KILLS_SPIDERJOCKEY_NAME 538
#define SPASTRING_PROPERTY_KILLS_ZOMBIEPIGMAN_NAME 539
#define SPASTRING_PROPERTY_KILLS_SLIME_NAME 540
#define SPASTRING_PROPERTY_KILLS_GHAST_NAME 541
#define SPASTRING_LB_KILLS_NORMAL_NAME 543
#define SPASTRING_LB_KILLS_NORMAL_LOCALE_NAME 544
#define SPASTRING_LB_KILLS_NORMAL_ZOMBIES_NAME 545
#define SPASTRING_LB_KILLS_NORMAL_SKELETONS_NAME 546
#define SPASTRING_LB_KILLS_NORMAL_CREEPERS_NAME 547
#define SPASTRING_LB_KILLS_NORMAL_SPIDERS_NAME 548
#define SPASTRING_LB_KILLS_NORMAL_SPIDERJOCKEYS_NAME 549
#define SPASTRING_LB_KILLS_NORMAL_ZOMBIEPIGMEN_NAME 550
#define SPASTRING_LB_KILLS_NORMAL_SLIME_NAME 551
#define SPASTRING_LB_KILLS_NORMAL_RATING_NAME 552
#define SPASTRING_LB_KILLS_HARD_NAME 554
#define SPASTRING_LB_KILLS_HARD_LOCALE_NAME 555
#define SPASTRING_LB_KILLS_HARD_ZOMBIES_NAME 556
#define SPASTRING_LB_KILLS_HARD_SKELETONS_NAME 557
#define SPASTRING_LB_KILLS_HARD_CREEPERS_NAME 558
#define SPASTRING_LB_KILLS_HARD_SPIDERS_NAME 559
#define SPASTRING_LB_KILLS_HARD_SPIDERJOCKEYS_NAME 560
#define SPASTRING_LB_KILLS_HARD_ZOMBIEPIGMEN_NAME 561
#define SPASTRING_LB_KILLS_HARD_SLIME_NAME 562
#define SPASTRING_LB_KILLS_HARD_RATING_NAME 563
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_NAME 564
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_LOCALE_NAME 565
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_DIRT_NAME 566
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_STONE_NAME 567
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_SAND_NAME 568
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_COBBLESTONE_NAME 569
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_GRAVEL_NAME 570
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_CLAY_NAME 571
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_OBSIDIAN_NAME 572
#define SPASTRING_LB_MINING_BLOCKS_PEACEFUL_RATING_NAME 573
#define SPASTRING_PROPERTY_MINED_DIRT_NAME 574
#define SPASTRING_PROPERTY_MINED_STONE_NAME 575
#define SPASTRING_PROPERTY_MINED_SAND_NAME 576
#define SPASTRING_PROPERTY_MINED_COBBLESTONE_NAME 577
#define SPASTRING_PROPERTY_MINED_GRAVEL_NAME 578
#define SPASTRING_PROPERTY_MINED_CLAY_NAME 579
#define SPASTRING_PROPERTY_MINED_OBSIDIAN_NAME 580
#define SPASTRING_PROPERTY_MINED_COAL_NAME 581
#define SPASTRING_PROPERTY_MINED_IRON_NAME 582
#define SPASTRING_PROPERTY_MINED_GOLD_NAME 583
#define SPASTRING_PROPERTY_MINED_DIAMOND_NAME 584
#define SPASTRING_PROPERTY_MINED_REDSTONE_NAME 585
#define SPASTRING_PROPERTY_MINED_LAPISLAZULI_NAME 586
#define SPASTRING_PROPERTY_MINED_NETHERRACK_NAME 587
#define SPASTRING_PROPERTY_MINED_SOULSAND_NAME 588
#define SPASTRING_PROPERTY_MINED_GLOWSTONE_NAME 589
#define SPASTRING_PROPERTY_COLLECTED_EGG_NAME 590
#define SPASTRING_PROPERTY_COLLECTED_WHEAT_NAME 591
#define SPASTRING_PROPERTY_COLLECTED_MUSHROOM_NAME 592
#define SPASTRING_PROPERTY_COLLECTED_SUGARCANE_NAME 593
#define SPASTRING_PROPERTY_COLLECTED_MILK_NAME 594
#define SPASTRING_PROPERTY_COLLECTED_PUMPKIN_NAME 595
#define SPASTRING_PROPERTY_TRAVEL_WALK_NAME 596
#define SPASTRING_PROPERTY_TRAVEL_SWIM_NAME 597
#define SPASTRING_PROPERTY_TRAVEL_FALL_NAME 598
#define SPASTRING_PROPERTY_TRAVEL_CLIMB_NAME 599
#define SPASTRING_PROPERTY_TRAVEL_MINECART_NAME 600
#define SPASTRING_PROPERTY_TRAVEL_BOAT_NAME 601
#define SPASTRING_PROPERTY_PORTALS_CREATED_NAME 603
#define SPASTRING_LB_MINING_BLOCKS_EASY_NAME 605
#define SPASTRING_LB_MINING_BLOCKS_EASY_LOCALE_NAME 606
#define SPASTRING_LB_MINING_BLOCKS_EASY_DIRT_NAME 607
#define SPASTRING_LB_MINING_BLOCKS_EASY_STONE_NAME 608
#define SPASTRING_LB_MINING_BLOCKS_EASY_SAND_NAME 609
#define SPASTRING_LB_MINING_BLOCKS_EASY_COBBLESTONE_NAME 610
#define SPASTRING_LB_MINING_BLOCKS_EASY_GRAVEL_NAME 611
#define SPASTRING_LB_MINING_BLOCKS_EASY_CLAY_NAME 612
#define SPASTRING_LB_MINING_BLOCKS_EASY_OBSIDIAN_NAME 613
#define SPASTRING_LB_MINING_BLOCKS_EASY_RATING_NAME 614
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_NAME 616
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_LOCALE_NAME 617
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_DIRT_NAME 618
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_STONE_NAME 619
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_SAND_NAME 620
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_COBBLESTONE_NAME 621
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_GRAVEL_NAME 622
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_CLAY_NAME 623
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_OBSIDIAN_NAME 624
#define SPASTRING_LB_MINING_BLOCKS_NORMAL_RATING_NAME 625
#define SPASTRING_LB_MINING_BLOCKS_HARD_NAME 627
#define SPASTRING_LB_MINING_BLOCKS_HARD_LOCALE_NAME 628
#define SPASTRING_LB_MINING_BLOCKS_HARD_DIRT_NAME 629
#define SPASTRING_LB_MINING_BLOCKS_HARD_STONE_NAME 630
#define SPASTRING_LB_MINING_BLOCKS_HARD_SAND_NAME 631
#define SPASTRING_LB_MINING_BLOCKS_HARD_COBBLESTONE_NAME 632
#define SPASTRING_LB_MINING_BLOCKS_HARD_GRAVEL_NAME 633
#define SPASTRING_LB_MINING_BLOCKS_HARD_CLAY_NAME 634
#define SPASTRING_LB_MINING_BLOCKS_HARD_OBSIDIAN_NAME 635
#define SPASTRING_LB_MINING_BLOCKS_HARD_RATING_NAME 636
#define SPASTRING_LB_FARMING_PEACEFUL_NAME 676
#define SPASTRING_LB_FARMING_PEACEFUL_LOCALE_NAME 677
#define SPASTRING_LB_FARMING_PEACEFUL_EGGS_NAME 678
#define SPASTRING_LB_FARMING_PEACEFUL_WHEAT_NAME 679
#define SPASTRING_LB_FARMING_PEACEFUL_MUSHROOMS_NAME 680
#define SPASTRING_LB_FARMING_PEACEFUL_SUGARCANE_NAME 681
#define SPASTRING_LB_FARMING_PEACEFUL_MILK_NAME 682
#define SPASTRING_LB_FARMING_PEACEFUL_PUMPKINS_NAME 683
#define SPASTRING_LB_FARMING_PEACEFUL_RATING_NAME 684
#define SPASTRING_LB_FARMING_EASY_NAME 686
#define SPASTRING_LB_FARMING_EASY_LOCALE_NAME 687
#define SPASTRING_LB_FARMING_EASY_EGGS_NAME 688
#define SPASTRING_LB_FARMING_EASY_WHEAT_NAME 689
#define SPASTRING_LB_FARMING_EASY_MUSHROOMS_NAME 690
#define SPASTRING_LB_FARMING_EASY_SUGARCANE_NAME 691
#define SPASTRING_LB_FARMING_EASY_MILK_NAME 692
#define SPASTRING_LB_FARMING_EASY_PUMPKINS_NAME 693
#define SPASTRING_LB_FARMING_EASY_RATING_NAME 694
#define SPASTRING_LB_FARMING_NORMAL_NAME 696
#define SPASTRING_LB_FARMING_NORMAL_LOCALE_NAME 697
#define SPASTRING_LB_FARMING_NORMAL_EGGS_NAME 698
#define SPASTRING_LB_FARMING_NORMAL_WHEAT_NAME 699
#define SPASTRING_LB_FARMING_NORMAL_MUSHROOMS_NAME 700
#define SPASTRING_LB_FARMING_NORMAL_SUGARCANE_NAME 701
#define SPASTRING_LB_FARMING_NORMAL_MILK_NAME 702
#define SPASTRING_LB_FARMING_NORMAL_PUMPKINS_NAME 703
#define SPASTRING_LB_FARMING_NORMAL_RATING_NAME 704
#define SPASTRING_LB_FARMING_HARD_NAME 706
#define SPASTRING_LB_FARMING_HARD_LOCALE_NAME 707
#define SPASTRING_LB_FARMING_HARD_EGGS_NAME 708
#define SPASTRING_LB_FARMING_HARD_WHEAT_NAME 709
#define SPASTRING_LB_FARMING_HARD_MUSHROOMS_NAME 710
#define SPASTRING_LB_FARMING_HARD_SUGARCANE_NAME 711
#define SPASTRING_LB_FARMING_HARD_MILK_NAME 712
#define SPASTRING_LB_FARMING_HARD_PUMPKINS_NAME 713
#define SPASTRING_LB_FARMING_HARD_RATING_NAME 714
#define SPASTRING_LB_TRAVELLING_PEACEFUL_NAME 715
#define SPASTRING_LB_TRAVELLING_PEACEFUL_LOCALE_NAME 716
#define SPASTRING_LB_TRAVELLING_PEACEFUL_WALKED_NAME 717
#define SPASTRING_LB_TRAVELLING_PEACEFUL_SWAM_NAME 718
#define SPASTRING_LB_TRAVELLING_PEACEFUL_FALLEN_NAME 719
#define SPASTRING_LB_TRAVELLING_PEACEFUL_CLIMBED_NAME 720
#define SPASTRING_LB_TRAVELLING_PEACEFUL_MINECART_NAME 721
#define SPASTRING_LB_TRAVELLING_PEACEFUL_BOAT_NAME 722
#define SPASTRING_LB_TRAVELLING_PEACEFUL_RATING_NAME 724
#define SPASTRING_LB_TRAVELLING_EASY_NAME 726
#define SPASTRING_LB_TRAVELLING_EASY_LOCALE_NAME 727
#define SPASTRING_LB_TRAVELLING_EASY_WALKED_NAME 728
#define SPASTRING_LB_TRAVELLING_EASY_SWAM_NAME 729
#define SPASTRING_LB_TRAVELLING_EASY_FALLEN_NAME 730
#define SPASTRING_LB_TRAVELLING_EASY_CLIMBED_NAME 731
#define SPASTRING_LB_TRAVELLING_EASY_MINECART_NAME 732
#define SPASTRING_LB_TRAVELLING_EASY_BOAT_NAME 733
#define SPASTRING_LB_TRAVELLING_EASY_RATING_NAME 735
#define SPASTRING_LB_TRAVELLING_NORMAL_NAME 737
#define SPASTRING_LB_TRAVELLING_NORMAL_LOCALE_NAME 738
#define SPASTRING_LB_TRAVELLING_NORMAL_WALKED_NAME 739
#define SPASTRING_LB_TRAVELLING_NORMAL_SWAM_NAME 740
#define SPASTRING_LB_TRAVELLING_NORMAL_FALLEN_NAME 741
#define SPASTRING_LB_TRAVELLING_NORMAL_CLIMBED_NAME 742
#define SPASTRING_LB_TRAVELLING_NORMAL_MINECART_NAME 743
#define SPASTRING_LB_TRAVELLING_NORMAL_BOAT_NAME 744
#define SPASTRING_LB_TRAVELLING_NORMAL_RATING_NAME 746
#define SPASTRING_LB_TRAVELLING_HARD_NAME 748
#define SPASTRING_LB_TRAVELLING_HARD_LOCALE_NAME 749
#define SPASTRING_LB_TRAVELLING_HARD_WALKED_NAME 750
#define SPASTRING_LB_TRAVELLING_HARD_SWAM_NAME 751
#define SPASTRING_LB_TRAVELLING_HARD_FALLEN_NAME 752
#define SPASTRING_LB_TRAVELLING_HARD_CLIMBED_NAME 753
#define SPASTRING_LB_TRAVELLING_HARD_MINECART_NAME 754
#define SPASTRING_LB_TRAVELLING_HARD_BOAT_NAME 755
#define SPASTRING_LB_TRAVELLING_HARD_RATING_NAME 757
#define SPASTRING_LB_TRAVELLING_TOTAL_NAME 795
#define SPASTRING_LB_TRAVELLING_TOTAL_RATING_NAME 796
#define SPASTRING_LB_ARCADE_TRAVELLING_TOTAL_RATING_NAME 797
#define SPASTRING_PROPERTY_COLLECTED_NETHERLAVA_NAME 799
#define SPASTRING_PRESENCE_MULTIPLAYEROFFLINE_NAME 803
#define SPASTRING_PRESENCE_MULTIPLAYER_1P_NAME 804
#define SPASTRING_PRESENCE_MULTIPLAYER_1POFFLINE_NAME 805
#ifdef __cplusplus
}
#endif
#endif // __MINECRAFT_SPA_H__

View File

@@ -0,0 +1,16 @@
#pragma once
#include "MemTextureProcessor.h"
class MobSkinMemTextureProcessor : public MemTextureProcessor {
private:
int* pixels;
int width, height;
public:
virtual BufferedImage* process(BufferedImage* in);
private:
void setForceAlpha(int x0, int y0, int x1, int y1);
void setNoAlpha(int x0, int y0, int x1, int y1);
bool hasAlpha(int x0, int y0, int x1, int y1);
};

View File

@@ -0,0 +1,16 @@
#pragma once
enum eBodyPart {
eBodyPart_Unknown = 0,
eBodyPart_Head,
eBodyPart_Body,
eBodyPart_Arm0,
eBodyPart_Arm1,
eBodyPart_Leg0,
eBodyPart_Leg1,
};
typedef struct {
eBodyPart ePart;
float fX, fY, fZ, fW, fH, fD, fU, fV;
} SKIN_BOX;

View File

@@ -0,0 +1,87 @@
#pragma once
typedef enum _XBACKGROUND_DOWNLOAD_MODE {
XBACKGROUND_DOWNLOAD_MODE_ALWAYS_ALLOW = 1,
XBACKGROUND_DOWNLOAD_MODE_AUTO = 2
} XBACKGROUND_DOWNLOAD_MODE,
*PXBACKGROUND_DOWNLOAD_MODE;
uint32_t XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE Mode);
#define XONLINE_S_LOGON_CONNECTION_ESTABLISHED 0
#define XPARTY_E_NOT_IN_PARTY 0
#define XPARTY_MAX_USERS 4
typedef struct _XPARTY_USER_INFO {
PlayerUID Xuid;
char GamerTag[XUSER_NAME_SIZE];
uint32_t dwUserIndex;
// XONLINE_NAT_TYPE NatType;
uint32_t dwTitleId;
uint32_t dwFlags;
// XSESSION_INFO SessionInfo;
// XPARTY_CUSTOM_DATA CustomData;
} XPARTY_USER_INFO;
typedef struct _XPARTY_USER_LIST {
uint32_t dwUserCount;
XPARTY_USER_INFO Users[XPARTY_MAX_USERS];
} XPARTY_USER_LIST;
uint32_t XShowPartyUI(uint32_t dwUserIndex);
uint32_t XShowFriendsUI(uint32_t dwUserIndex);
int32_t XPartyGetUserList(XPARTY_USER_LIST* pUserList);
uint32_t XContentGetThumbnail(uint32_t dwUserIndex,
const XCONTENT_DATA* pContentData,
uint8_t* pbThumbnail, uint32_t* pcbThumbnail,
PXOVERLAPPED* pOverlapped);
void XShowAchievementsUI(int i);
uint32_t XUserAreUsersFriends(uint32_t dwUserIndex, PPlayerUID pXuids,
uint32_t dwXuidCount, bool* pfResult,
void* pOverlapped);
class XSOCIAL_IMAGEPOSTPARAMS {};
class XSOCIAL_LINKPOSTPARAMS {};
typedef struct _XSESSION_VIEW_PROPERTIES {
uint32_t dwViewId;
uint32_t dwNumProperties;
XUSER_PROPERTY* pProperties;
} XSESSION_VIEW_PROPERTIES;
#define XUSER_STATS_ATTRS_IN_SPEC 1
typedef struct _XUSER_STATS_SPEC {
uint32_t dwViewId;
uint32_t dwNumColumnIds;
uint16_t rgwColumnIds[XUSER_STATS_ATTRS_IN_SPEC];
} XUSER_STATS_SPEC, *PXUSER_STATS_SPEC;
typedef struct _XUSER_STATS_COLUMN {
uint16_t wColumnId;
XUSER_DATA Value;
} XUSER_STATS_COLUMN, *PXUSER_STATS_COLUMN;
typedef struct _XUSER_STATS_ROW {
PlayerUID xuid;
uint32_t dwRank;
int64_t i64Rating;
char szGamertag[XUSER_NAME_SIZE];
uint32_t dwNumColumns;
PXUSER_STATS_COLUMN pColumns;
} XUSER_STATS_ROW, *PXUSER_STATS_ROW;
typedef struct _XUSER_STATS_VIEW {
uint32_t dwViewId;
uint32_t dwTotalViewRows;
uint32_t dwNumRows;
PXUSER_STATS_ROW pRows;
} XUSER_STATS_VIEW, *PXUSER_STATS_VIEW;
typedef struct _XUSER_STATS_READ_RESULTS {
uint32_t dwNumViews;
PXUSER_STATS_VIEW pViews;
} XUSER_STATS_READ_RESULTS, *PXUSER_STATS_READ_RESULTS;

View File

@@ -0,0 +1,153 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
// #include <xtl.h>
// #include <xboxmath.h>
#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "(" __STR1__(__LINE__) ") : 4J Warning Msg: "
// use - #pragma message(__LOC__"Need to do something here")
#include <stdio.h>
#include <stdlib.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#ifdef __linux__
#include "../Linux/Stubs/LinuxStubs.h"
#endif
#ifdef _WINDOWS64
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <malloc.h>
#include <tchar.h>
#include <d3d11.h>
#include <DirectXMath.h>
using namespace DirectX;
#define HRESULT_SUCCEEDED(hr) (((int32_t)(hr)) >= 0)
#endif
#include "../../Minecraft.World/x64headers/extraX64.h"
#include <memory>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <algorithm>
#include <string>
#include <sstream>
#include <iostream>
#include <exception>
#include <assert.h>
#include "../../Minecraft.World/ConsoleHelpers/Definitions.h"
#include "../../Minecraft.World/ConsoleJavaLibs/Class.h"
#include "../../Minecraft.World/ConsoleHelpers/ArrayWithLength.h"
#include "../../Minecraft.World/net/minecraft/SharedConstants.h"
#include "../../Minecraft.World/ConsoleJavaLibs/Random.h"
#include "../../Minecraft.World/Header Files/compression.h"
#include "../../Minecraft.World/ConsoleHelpers/PerformanceTimer.h"
#ifdef _WINDOWS64
#include "../Platform/Windows64/4JLibs/inc/4J_Input.h"
#include "../Platform/Windows64/4JLibs/inc/4J_Profile.h"
#include "../Platform/Windows64/4JLibs/inc/4J_Render.h"
#include "../Platform/Windows64/4JLibs/inc/4J_Storage.h"
#else
#include "4J_Input.h"
#include "4J_Profile.h"
#include "4J_Render.h"
#include "4J_Storage.h"
#endif
#include "../net/minecraft/client/renderer/Textures.h"
#include "../net/minecraft/client/gui/Font.h"
#include "../net/minecraft/client/ClientConstants.h"
#include "../net/minecraft/client/gui/Gui.h"
#include "../net/minecraft/client/gui/Screen.h"
#include "../net/minecraft/client/gui/ScreenSizeCalculator.h"
#include "../net/minecraft/client/Minecraft.h"
#include "../net/minecraft/client/MemoryTracker.h"
#include "stubs.h"
#include "BufferedImage.h"
#include "../Common/Source Files/Network/GameNetworkManager.h"
#include "../Common/Source Files/UI/All Platforms/UIEnums.h"
#include "../Common/Source Files/UI/All Platforms/UIStructs.h"
#include "../Common/App_Defines.h"
#include "../Common/App_enums.h"
#include "../Common/Source Files/Tutorial/TutorialEnum.h"
#include "../Common/App_structs.h"
#include "../Common/Consoles_App.h"
#include "../Common/Minecraft_Macros.h"
#include "../Common/Source Files/BuildVer/BuildVer.h"
// This is generated at build time via scripts/pack_loc.py
#include "strings.h"
#ifdef _WINDOWS64
#include "../Windows64/Source Files/Sentient/MinecraftTelemetry.h"
#include "../Windows64/Windows64_App.h"
#include "../Windows64/Source Files/Sentient/DynamicConfigurations.h"
#include "../Windows64/Source Files/Sentient/SentientTelemetryCommon.h"
#include "Minecraft.spa.h"
#include "../Windows64/XML/ATGXmlParser.h"
#include "../Windows64/Source Files/Social/SocialManager.h"
#include "../Common/Source Files/Audio/SoundEngine.h"
#include "../Windows64/Iggy/include/iggy.h"
#include "../Windows64/Iggy/gdraw/gdraw_d3d11.h"
#include "../Windows64/Windows64_UIController.h"
#else
// Linux build: keep the Linux runtime/controller path and use the supported
// Linux/Windows64 metadata headers only.
#include "../Linux/Linux_App.h"
#include "../Windows64/Iggy/include/iggy.h"
#include "../Windows64/Source Files/Sentient/SentientTelemetryCommon.h"
#include "../Windows64/Source Files/Sentient/DynamicConfigurations.h"
#include "Minecraft.spa.h"
#include "../Common/Source Files/Audio/SoundEngine.h"
#include "../Linux/Linux_UIController.h"
#include "../Windows64/Source Files/Social/SocialManager.h"
#endif
#include "../Common/Source Files/ConsoleGameMode.h"
#include "../Common/Source Files/Console_Debug_enum.h"
#include "../Common/Source Files/Console_Awards_enum.h"
#include "../Common/Source Files/Tutorial/TutorialMode.h"
#include "../Common/Source Files/Tutorial/Tutorial.h"
#include "../Common/Source Files/Tutorial/FullTutorialMode.h"
#include "../Common/Source Files/Trial/TrialMode.h"
#include "../Common/Source Files/GameRules/ConsoleGameRules.h"
#include "../Common/Source Files/GameRules/LevelGeneration/ConsoleSchematicFile.h"
#include "../Common/Source Files/Colours/ColourTable.h"
#include "../Common/Source Files/DLC/DLCSkinFile.h"
#include "../Common/Source Files/DLC/DLCManager.h"
#include "../Common/Source Files/DLC/DLCPack.h"
#include "../Common/Source Files/Telemetry/TelemetryManager.h"
#include "extraX64client.h"
#ifdef _FINAL_BUILD
#define printf BREAKTHECOMPILE
#define wprintf BREAKTHECOMPILE
#undef OutputDebugString
#define OutputDebugString BREAKTHECOMPILE
#define OutputDebugStringA BREAKTHECOMPILE
#define OutputDebugStringW BREAKTHECOMPILE
#endif
void MemSect(int sect);

View File

@@ -0,0 +1,305 @@
#pragma once
#ifdef __linux__
#include <GL/gl.h>
#include <GL/glu.h>
#undef GL_SMOOTH
#undef GL_FLAT
static const int GL_SMOOTH = 0x1D01;
static const int GL_FLAT = 0x1D00;
class FloatBuffer;
class IntBuffer;
class ByteBuffer;
void glGenTextures(IntBuffer*);
int glGenTextures();
void glDeleteTextures(IntBuffer*);
void glDeleteTextures(int);
void glLight(int, int, FloatBuffer*);
void glLightModel(int, FloatBuffer*);
void glGetFloat(int, FloatBuffer*);
void glTexGen(int, int, FloatBuffer*);
void glFog(int, FloatBuffer*);
void glTexCoordPointer(int, int, FloatBuffer*);
void glNormalPointer(int, ByteBuffer*);
void glColorPointer(int, bool, int, ByteBuffer*);
void glVertexPointer(int, int, FloatBuffer*);
void glEndList_4J(int vertexCount = 0);
void glTexImage2D(int, int, int, int, int, int, int, int, ByteBuffer*);
void glCallLists(IntBuffer*);
void glGenQueriesARB(IntBuffer*);
void glBeginQueryARB(int, int);
void glEndQueryARB(int);
void glGetQueryObjectuARB(int, int, IntBuffer*);
void glReadPixels(int, int, int, int, int, int, ByteBuffer*);
void LinuxGLLogLightmapState(const char* stage, int textureId, bool scaleLight);
void LinuxLogStubLightmapProbe();
#else
const int GL_BYTE = 0;
const int GL_FLOAT = 0;
const int GL_UNSIGNED_BYTE = 0;
const int GL_COLOR_ARRAY = 0;
const int GL_VERTEX_ARRAY = 0;
const int GL_NORMAL_ARRAY = 0;
const int GL_TEXTURE_COORD_ARRAY = 0;
const int GL_COMPILE = 0x1300;
const int GL_NORMALIZE = 0;
const int GL_RESCALE_NORMAL = 0;
const int GL_SMOOTH = 0;
const int GL_FLAT = 0;
const int GL_RGBA = 0;
const int GL_BGRA = 1;
const int GL_BGR = 0;
const int GL_SAMPLES_PASSED_ARB = 0;
const int GL_QUERY_RESULT_AVAILABLE_ARB = 0;
const int GL_QUERY_RESULT_ARB = 0;
const int GL_POLYGON_OFFSET_FILL = 0;
const int GL_FRONT = 0;
const int GL_BACK = 1;
const int GL_FRONT_AND_BACK = 2;
const int GL_COLOR_MATERIAL = 0;
const int GL_AMBIENT_AND_DIFFUSE = 0;
const int GL_TEXTURE1 = 0;
const int GL_TEXTURE0 = 1;
void glFlush();
void glTexGeni(int, int, int);
void glTexGen(int, int, FloatBuffer*);
void glReadPixels(int, int, int, int, int, int, ByteBuffer*);
void glClearDepth(double);
void glCullFace(int);
void glDeleteLists(int, int);
void glGenTextures(IntBuffer*);
int glGenTextures();
int glGenLists(int);
void glLight(int, int, FloatBuffer*);
void glLightModel(int, FloatBuffer*);
void glGetFloat(int a, FloatBuffer* b);
void glTexCoordPointer(int, int, int, int);
void glTexCoordPointer(int, int, FloatBuffer*);
void glNormalPointer(int, int, int);
void glNormalPointer(int, ByteBuffer*);
void glEnableClientState(int);
void glDisableClientState(int);
void glColorPointer(int, bool, int, ByteBuffer*);
void glColorPointer(int, int, int, int);
void glVertexPointer(int, int, int, int);
void glVertexPointer(int, int, FloatBuffer*);
void glDrawArrays(int, int, int);
void glTranslatef(float, float, float);
void glRotatef(float, float, float, float);
void glNewList(int, int);
void glEndList(int vertexCount = 0);
void glCallList(int);
void glPopMatrix();
void glPushMatrix();
void glColor3f(float, float, float);
void glScalef(float, float, float);
void glMultMatrixf(float*);
void glColor4f(float, float, float, float);
void glDisable(int);
void glEnable(int);
void glBlendFunc(int, int);
void glDepthMask(bool);
void glNormal3f(float, float, float);
void glDepthFunc(int);
void glMatrixMode(int);
void glLoadIdentity();
void glBindTexture(int, int);
void glTexParameteri(int, int, int);
void glTexImage2D(int, int, int, int, int, int, int, int, ByteBuffer*);
void glDeleteTextures(IntBuffer*);
void glDeleteTextures(int);
void glCallLists(IntBuffer*);
void glGenQueriesARB(IntBuffer*);
void glColorMask(bool, bool, bool, bool);
void glBeginQueryARB(int, int);
void glEndQueryARB(int);
void glGetQueryObjectuARB(int, int, IntBuffer*);
void glShadeModel(int);
void glPolygonOffset(float, float);
void glLineWidth(float);
void glScaled(double, double, double);
void gluPerspective(float, float, float, float);
void glClear(int);
void glViewport(int, int, int, int);
void glAlphaFunc(int, float);
void glOrtho(float, float, float, float, float, float);
void glClearColor(float, float, float, float);
void glFogi(int, int);
void glFogf(int, float);
void glFog(int, FloatBuffer*);
void glColorMaterial(int, int);
void glMultiTexCoord2f(int, float, float);
void glClientActiveTexture(int);
void glActiveTexture(int);
#endif
#ifdef __linux__
class GL11 {
public:
static const int GL_SMOOTH = 0x1D01;
static const int GL_FLAT = 0x1D00;
#undef glShadeModel
#define GL_SHADEMODEL_IS_FUNCTION
static void glShadeModel(int mode) { ::glShadeModel(mode); }
};
#undef GL_ARRAY_BUFFER_ARB
#undef GL_STREAM_DRAW_ARB
class ARBVertexBufferObject {
public:
static const int GL_ARRAY_BUFFER_ARB = 0x8892;
static const int GL_STREAM_DRAW_ARB = 0x88E0;
static void glBindBufferARB(int, int) {}
static void glBufferDataARB(int, ByteBuffer*, int) {}
static void glGenBuffersARB(IntBuffer*) {}
};
#else
class GL11 {
public:
static const int GL_SMOOTH = 0;
static const int GL_FLAT = 0;
static void glShadeModel(int) {};
};
class ARBVertexBufferObject {
public:
static const int GL_ARRAY_BUFFER_ARB = 0;
static const int GL_STREAM_DRAW_ARB = 0;
static void glBindBufferARB(int, int) {}
static void glBufferDataARB(int, ByteBuffer*, int) {}
static void glGenBuffersARB(IntBuffer*) {}
};
#endif
class Level;
class Player;
class Textures;
class Font;
class MapItemSavedData;
class Mob;
class Particles {
public:
void render(float) {}
void tick() {}
};
class BufferedImage;
class Graphics {
public:
void drawImage(BufferedImage*, int, int, void*) {}
void dispose() {}
};
class ZipEntry {};
class InputStream;
class File;
class ZipFile {
public:
ZipFile(File* file) {}
InputStream* getInputStream(ZipEntry* entry) { return nullptr; }
ZipEntry* getEntry(const std::wstring& name) { return nullptr; }
void close() {}
};
class ImageIO {
public:
static BufferedImage* read(InputStream* in) { return nullptr; }
};
class Keyboard {
public:
static void create() {}
static void destroy() {}
static bool isKeyDown(int) { return false; }
static std::wstring getKeyName(int) { return L"KEYNAME"; }
static void enableRepeatEvents(bool) {}
static const int KEY_A = 0;
static const int KEY_B = 1;
static const int KEY_C = 2;
static const int KEY_D = 3;
static const int KEY_E = 4;
static const int KEY_F = 5;
static const int KEY_G = 6;
static const int KEY_H = 7;
static const int KEY_I = 8;
static const int KEY_J = 9;
static const int KEY_K = 10;
static const int KEY_L = 11;
static const int KEY_M = 12;
static const int KEY_N = 13;
static const int KEY_O = 14;
static const int KEY_P = 15;
static const int KEY_Q = 16;
static const int KEY_R = 17;
static const int KEY_S = 18;
static const int KEY_T = 19;
static const int KEY_U = 20;
static const int KEY_V = 21;
static const int KEY_W = 22;
static const int KEY_X = 23;
static const int KEY_Y = 24;
static const int KEY_Z = 25;
static const int KEY_SPACE = 26;
static const int KEY_LSHIFT = 27;
static const int KEY_ESCAPE = 28;
static const int KEY_BACK = 29;
static const int KEY_RETURN = 30;
static const int KEY_RSHIFT = 31;
static const int KEY_UP = 32;
static const int KEY_DOWN = 33;
static const int KEY_TAB = 34;
};
class Mouse {
public:
static void create() {}
static void destroy() {}
static int getX() { return 0; }
static int getY() { return 0; }
static bool isButtonDown(int) { return false; }
};
class Display {
public:
static bool isActive() { return true; }
static void update();
static void swapBuffers();
static void destroy() {}
};
class BackgroundDownloader {
public:
BackgroundDownloader(File workDir, Minecraft* minecraft) {}
void start() {}
void halt() {}
void forceReload() {}
};
class Color {
public:
static int HSBtoRGB(float, float, float) { return 0; }
};