mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-01-23 01:21:57 -05:00
Make 0.0.23 texture pack more accurate
This commit is contained in:
parent
4eeb4cdb0d
commit
0fab5e4d82
5 changed files with 60 additions and 12 deletions
|
@ -325,10 +325,15 @@ void Camera_UpdateProjection(void) {
|
||||||
Event_RaiseVoid(&GfxEvents.ProjectionChanged);
|
Event_RaiseVoid(&GfxEvents.ProjectionChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ZoomScrollReleased(int key, struct InputDevice* device) {
|
||||||
|
Camera_SetFov(Camera.DefaultFov);
|
||||||
|
}
|
||||||
|
|
||||||
static void OnInit(void) {
|
static void OnInit(void) {
|
||||||
Camera_Register(&cam_FirstPerson);
|
Camera_Register(&cam_FirstPerson);
|
||||||
Camera_Register(&cam_ThirdPerson);
|
Camera_Register(&cam_ThirdPerson);
|
||||||
Camera_Register(&cam_ForwardThird);
|
Camera_Register(&cam_ForwardThird);
|
||||||
|
Bind_OnReleased[BIND_ZOOM_SCROLL] = ZoomScrollReleased;
|
||||||
|
|
||||||
Camera.Active = &cam_FirstPerson;
|
Camera.Active = &cam_FirstPerson;
|
||||||
Event_Register_(&PointerEvents.RawMoved, NULL, OnRawMovement);
|
Event_Register_(&PointerEvents.RawMoved, NULL, OnRawMovement);
|
||||||
|
|
|
@ -1023,7 +1023,6 @@ static void OnInputUp(void* obj, int key, cc_bool was, struct InputDevice* devic
|
||||||
struct Screen* s;
|
struct Screen* s;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (InputBind_Claims(BIND_ZOOM_SCROLL, key, device)) Camera_SetFov(Camera.DefaultFov);
|
|
||||||
#ifdef CC_BUILD_WEB
|
#ifdef CC_BUILD_WEB
|
||||||
/* When closing menus (which reacquires mouse focus) in key down, */
|
/* When closing menus (which reacquires mouse focus) in key down, */
|
||||||
/* this still leaves the cursor visible. But if this is instead */
|
/* this still leaves the cursor visible. But if this is instead */
|
||||||
|
|
|
@ -836,23 +836,35 @@ static cc_result ClassicPatcher_ExtractFiles(struct HttpRequest* req);
|
||||||
static cc_result ModernPatcher_ExtractFiles(struct HttpRequest* req);
|
static cc_result ModernPatcher_ExtractFiles(struct HttpRequest* req);
|
||||||
static cc_result TerrainPatcher_Process(struct HttpRequest* req);
|
static cc_result TerrainPatcher_Process(struct HttpRequest* req);
|
||||||
static cc_result NewTextures_ExtractGui(struct HttpRequest* req);
|
static cc_result NewTextures_ExtractGui(struct HttpRequest* req);
|
||||||
static cc_result Classic0023Patcher_OldGold(struct HttpRequest* req);
|
|
||||||
|
static cc_result Classic0023Patcher_OldGoldBlock(struct HttpRequest* req);
|
||||||
|
static cc_result Classic0023Patcher_OldGoldOre( struct HttpRequest* req);
|
||||||
|
static cc_result Classic0023Patcher_OldBlackWool(struct HttpRequest* req);
|
||||||
|
static cc_result Classic0023Patcher_OldGrayWool( struct HttpRequest* req);
|
||||||
|
|
||||||
/* URLs which data is downloaded from in order to generate the entries in default.zip */
|
/* URLs which data is downloaded from in order to generate the entries in default.zip */
|
||||||
static struct ZipfileSource {
|
struct ZipfileSource {
|
||||||
const char* name;
|
const char* name;
|
||||||
const char* url;
|
const char* url;
|
||||||
cc_result (*Process)(struct HttpRequest* req);
|
cc_result (*Process)(struct HttpRequest* req);
|
||||||
short size;
|
short size;
|
||||||
cc_bool downloaded;
|
cc_bool downloaded;
|
||||||
int reqID;
|
int reqID;
|
||||||
} defaultZipSources[] = {
|
};
|
||||||
|
|
||||||
|
#define DEFAULTZIP_0030_ENTRIES_COUNT 4
|
||||||
|
static struct ZipfileSource defaultZipSources_0030_0023[] = {
|
||||||
{ "classic jar", "http://launcher.mojang.com/mc/game/c0.30_01c/client/54622801f5ef1bcc1549a842c5b04cb5d5583005/client.jar", ClassicPatcher_ExtractFiles, 291 },
|
{ "classic jar", "http://launcher.mojang.com/mc/game/c0.30_01c/client/54622801f5ef1bcc1549a842c5b04cb5d5583005/client.jar", ClassicPatcher_ExtractFiles, 291 },
|
||||||
{ "1.6.2 jar", "http://launcher.mojang.com/mc/game/1.6.2/client/b6cb68afde1d9cf4a20cbf27fa90d0828bf440a4/client.jar", ModernPatcher_ExtractFiles, 4621 },
|
{ "1.6.2 jar", "http://launcher.mojang.com/mc/game/1.6.2/client/b6cb68afde1d9cf4a20cbf27fa90d0828bf440a4/client.jar", ModernPatcher_ExtractFiles, 4621 },
|
||||||
{ "terrain.png patch", RESOURCE_SERVER "/terrain-patch2.png", TerrainPatcher_Process, 7 },
|
{ "terrain.png patch", RESOURCE_SERVER "/terrain-patch2.png", TerrainPatcher_Process, 7 },
|
||||||
{ "gui.png patch", RESOURCE_SERVER "/gui.png", NewTextures_ExtractGui, 21 },
|
{ "gui.png patch", RESOURCE_SERVER "/gui.png", NewTextures_ExtractGui, 21 },
|
||||||
{ "classic gold", "https://classic.minecraft.net/assets/textures/gold.png", Classic0023Patcher_OldGold, 1 }, /* NOTE: this must be the last entry */
|
/* 0.0.23 textures */
|
||||||
|
{ "0.0.23 gold", "https://classic.minecraft.net/assets/textures/gold.png", Classic0023Patcher_OldGoldBlock, 1 },
|
||||||
|
{ "0.0.23 ore", "https://classic.minecraft.net/assets/textures/rock_gold.png", Classic0023Patcher_OldGoldOre, 1 },
|
||||||
|
{ "0.0.23 black", "https://classic.minecraft.net/assets/textures/color13.png", Classic0023Patcher_OldBlackWool, 1 },
|
||||||
|
{ "0.0.23 gray", "https://classic.minecraft.net/assets/textures/color14.png", Classic0023Patcher_OldGrayWool, 1 },
|
||||||
};
|
};
|
||||||
|
static struct ZipfileSource* defaultZipSources;
|
||||||
static int numDefaultZipSources, numDefaultZipProcessed;
|
static int numDefaultZipSources, numDefaultZipProcessed;
|
||||||
|
|
||||||
static void MCCTextures_ResetState(void) {
|
static void MCCTextures_ResetState(void) {
|
||||||
|
@ -1049,7 +1061,7 @@ static cc_result NewTextures_ExtractGui(struct HttpRequest* req) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cc_result Classic0023Patcher_OldGold(struct HttpRequest* req) {
|
static cc_result Classic0023Patcher_PatchBlocks(struct HttpRequest* req, const int* targets) {
|
||||||
struct Bitmap bmp;
|
struct Bitmap bmp;
|
||||||
struct Stream src;
|
struct Stream src;
|
||||||
cc_result res;
|
cc_result res;
|
||||||
|
@ -1057,14 +1069,40 @@ static cc_result Classic0023Patcher_OldGold(struct HttpRequest* req) {
|
||||||
Stream_ReadonlyMemory(&src, req->data, req->size);
|
Stream_ReadonlyMemory(&src, req->data, req->size);
|
||||||
if ((res = Png_Decode(&bmp, &src))) return res;
|
if ((res = Png_Decode(&bmp, &src))) return res;
|
||||||
|
|
||||||
PatchTerrainTile(&bmp, 0,0, 8,1);
|
while (*targets)
|
||||||
PatchTerrainTile(&bmp, 0,0, 8,2);
|
{
|
||||||
PatchTerrainTile(&bmp, 0,0, 8,3);
|
PatchTerrainTile(&bmp, 0,0, *targets >> 8, *targets & 0xFF);
|
||||||
|
targets++;
|
||||||
|
}
|
||||||
|
|
||||||
Mem_Free(bmp.scan0);
|
Mem_Free(bmp.scan0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static cc_result Classic0023Patcher_OldGoldBlock(struct HttpRequest* req) {
|
||||||
|
static const int targets[] = { (8 << 8) | 1, (8 << 8) | 2, (8 << 8) | 3, 0 };
|
||||||
|
|
||||||
|
return Classic0023Patcher_PatchBlocks(req, targets);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cc_result Classic0023Patcher_OldGoldOre(struct HttpRequest* req) {
|
||||||
|
static const int targets[] = { (0 << 8) | 2, 0 };
|
||||||
|
|
||||||
|
return Classic0023Patcher_PatchBlocks(req, targets);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cc_result Classic0023Patcher_OldBlackWool(struct HttpRequest* req) {
|
||||||
|
static const int targets[] = { (13 << 8) | 4, 0 };
|
||||||
|
|
||||||
|
return Classic0023Patcher_PatchBlocks(req, targets);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cc_result Classic0023Patcher_OldGrayWool(struct HttpRequest* req) {
|
||||||
|
static const int targets[] = { (14 << 8) | 4, 0 };
|
||||||
|
|
||||||
|
return Classic0023Patcher_PatchBlocks(req, targets);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*########################################################################################################################*
|
/*########################################################################################################################*
|
||||||
*-----------------------------------------------Minecraft Classic texture assets------------------------------------------*
|
*-----------------------------------------------Minecraft Classic texture assets------------------------------------------*
|
||||||
|
@ -1096,9 +1134,14 @@ static void MCCTextures_CountMissing(void) {
|
||||||
int i;
|
int i;
|
||||||
if (allZipEntriesExist) return;
|
if (allZipEntriesExist) return;
|
||||||
|
|
||||||
numDefaultZipSources = Array_Elems(defaultZipSources);
|
|
||||||
/* old gold texture only needed in 0.0.23 and earlier */
|
/* old gold texture only needed in 0.0.23 and earlier */
|
||||||
if (Game_Version.Version > VERSION_0023) numDefaultZipSources--;
|
if (Game_Version.Version > VERSION_0023) {
|
||||||
|
numDefaultZipSources = DEFAULTZIP_0030_ENTRIES_COUNT;
|
||||||
|
defaultZipSources = defaultZipSources_0030_0023;
|
||||||
|
} else {
|
||||||
|
numDefaultZipSources = Array_Elems(defaultZipSources_0030_0023);
|
||||||
|
defaultZipSources = defaultZipSources_0030_0023;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < numDefaultZipSources; i++) {
|
for (i = 0; i < numDefaultZipSources; i++) {
|
||||||
Resources_MissingCount++;
|
Resources_MissingCount++;
|
||||||
|
|
|
@ -536,6 +536,7 @@ static void TouchScreen_BindClick(void* screen, void* widget) {
|
||||||
struct ButtonWidget* btn = (struct ButtonWidget*)widget;
|
struct ButtonWidget* btn = (struct ButtonWidget*)widget;
|
||||||
|
|
||||||
struct TouchButtonDesc* desc = (struct TouchButtonDesc*)btn->meta.ptr;
|
struct TouchButtonDesc* desc = (struct TouchButtonDesc*)btn->meta.ptr;
|
||||||
|
if (!Bind_OnTriggered[desc->bind]) return;
|
||||||
Bind_OnTriggered[desc->bind](0, &TouchDevice);
|
Bind_OnTriggered[desc->bind](0, &TouchDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <libmouse.h>
|
#include <libmouse.h>
|
||||||
|
|
||||||
static cc_bool launcherMode, mouseSupported, kbdSupported;
|
static cc_bool launcherMode, mouseSupported, kbdSupported;
|
||||||
|
#include "VirtualCursor.h"
|
||||||
struct _DisplayData DisplayInfo;
|
struct _DisplayData DisplayInfo;
|
||||||
struct cc_window WindowInfo;
|
struct cc_window WindowInfo;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue