Hi, i'm new around i wanted to ask wich version of the game i download? I mean wich one is the news and what exactly are this patches?
Summer Memories+ 2.03.07 Release (Unofficial Version)
Downloads[/SPOILER]You don't have permission to view the spoiler content. Log in or register now.
Package Size Link JOIPlay 103.2M You must be registered to see the linksWindows 156.9M You must be registered to see the linksLinux 162.0M You must be registered to see the linksAs always, please report any issues you find to me.You don't have permission to view the spoiler content. Log in or register now.
Short Answeri have fully leveld up everyone but i only got 1 cosplay rio-nee how do i get the other cosplays for the other girls,idk if it is a glitch or not if so anyone got a current full save ?
So the first post is confusing. It lists 2.03.06 as a patch (it isn't) and 2.03.07 as an unofficial version. It also lists a compressed version (2.2) which is bigger than the unofficial version.So what are these patches? And do I need it after downloading the main game file ? Yes i read the above post but didnt get it.
So someone plz can u explain about them?
Thankyou so much for the info!So the first post is confusing. It lists 2.03.06 as a patch (it isn't) and 2.03.07 as an unofficial version. It also lists a compressed version (2.2) which is bigger than the unofficial version.
There really is only one of two different versions you might want. Either the official 2.03 or my unofficial 2.03.07.
The official version has major spelling, grammar and wording errors. I fixed a lot of those.
Also the official game has text that overlaps the user interface. Here's an example:
View attachment 1321444
That is fixed as well in my version.
The official version only allows your name to be 4 characters long. Mine allows 15.
The official version doesn't work with JoiPlay (an app on Android for playing some Windows games.) My version works with JoiPlay.
The official version is over 1.1 GB in size, mine is 445 MB.
The official version is supported by Kagura, who won't fix basic things like text overlapping the UI. I support my unofficial version.
Is this enough information for you to understand what version you want?
Here? It's included.the dlc plus must also be downloaded or it is included in the game
There is. Just look at the tags above next time.Any anal in this game?
Nope, v2.03 is last & final version. Game is complete.did this game get updated rescently?
You need to have done the scene before day 14, not just get the skill.i Already Clear all Event, (Side Character, Yui and Rio)
But.. I cant unlock Miyuki Event in Hiking in Day 14 ?? How i can unlock this ??
i already bought all skill..
View attachment 1328646
You mean like this ? (before day 14)You need to have done the scene before day 14, not just get the skill.
I don´t remember exactly (since i usually don´t repeat that scene) but i believe it was the first one, with two leaks IIRC.You mean like this ? (before day 14)
Lust Full > Leak > Pants inside Washmachine > Miyuki Found it > Talk to miyuki > se*
or
Lust Full > Leak > Pants inside Washmachine > Miyuki Found it >Ask for Se* and chose HandJob
witch one ?
its Number 2.. haha .. so many i spent time for this Route man wkwkwI don´t remember exactly (since i usually don´t repeat that scene) but i believe it was the first one, with two leaks IIRC.
You'd want to normalise theThis shows the ui issues I have using your JavaScript.
View attachment 1303153
This seems to be the function that deals with loading all of the files. But I don't see any modification that would let it ignore case.
Unless I am missing something, I am more of a cpp guy, I don't really know much webdev/js
path
parameter. Make all the game files lowercase, and then (before the const key
declaration)if (typeof path === 'string' && String(path).length) {path = String(path).toLowerCase()}
path
is a string.Sorry I completely missed your post. Let me explain.View attachment 1303081
This shows the ui issues I have using your JavaScript.
View attachment 1303153
This seems to be the function that deals with loading all of the files. But I don't see any modification that would let it ignore case.
Unless I am missing something, I am more of a cpp guy, I don't really know much webdev/js
loadNormalBitmap
calls to Bitmap.load
/**
* Loads a image file and returns a new bitmap object.
*
* @static
* @method load
* @param {String} url The image url of the texture
* @return Bitmap
*/
Bitmap.load = function (url) {
const bitmap = Object.create(Bitmap.prototype);
bitmap._defer = true;
bitmap.initialize();
bitmap._decodeAfterRequest = true;
bitmap._requestImage(url);
return bitmap;
};
Bitmap.prototype._requestImage = function (url_in) {
let url = CS_URL.MapURL(url_in);
if (Bitmap._reuseImages.length !== 0) {
this._image = Bitmap._reuseImages.pop();
} else {
this._image = new Image();
}
if (this._decodeAfterRequest && !this._loader) {
this._loader = ResourceHandler.createLoader(url, this._requestImage.bind(this, url), this._onError.bind(this));
}
this._url = url;
this._loadingState = 'requesting';
if (!Decrypter.checkImgIgnore(url) && Decrypter.hasEncryptedImages) {
this._loadingState = 'decrypting';
Decrypter.decryptImg(url, this);
} else {
this._image.src = CS_URL.MapURL(url);
this._image.addEventListener('load', this._loadListener = Bitmap.prototype._onLoad.bind(this));
this._image.addEventListener('error', this._errorListener = this._loader || Bitmap.prototype._onError.bind(this));
}
};
//-----------------------------------------------------------------------------
/**
* The static class that handles mapping case insensitive URL calls to case
* sensitive file names
*
* @class CS_URL
*/
function CS_URL() {
throw new Error('This is a static class');
}
CS_URL.urlMap = {};
CS_URL.absolutePrefix = "";
/**
* Initializes the CS_URL static object
* @static
* @method Initialize
*/
CS_URL.Initialize = function () {
try {
let platform;
try {
CS_URL.absolutePrefix = require('path').posix.dirname(window.location.pathname);
platform = nw.process.platform;
} catch (ex) {
CS_URL.MapURL = function (url) { return url; };
Utils.isNwjs = function () { return false; };
return;
}
if (platform !== "linux" && platform !== "android") {
CS_URL.MapURL = function (url) { return url; };
}
else {
CS_URL.urlMap=JSON.parse(LZMA.decompress(require('fs').readFileSync("pathdata.xz")));
}
} catch (ex) {
CS_URL.MapURL = function (url) { return url; };
return;
}
};
/**
* Maps a case insensitive URL to a case sensitive one
* @static
* @method MapURL
* @param {String} url
* @return {String}
*/
CS_URL.MapURL = function (url) {
let item = url;
// URLs follow posix rules for paths regardless of platform
const pathUtils = require('path').posix;
try {
item = new URL(item).pathname;
} catch (ex) {
}
if (!pathUtils.isAbsolute(item)) {
item = pathUtils.join(CS_URL.absolutePrefix, item);
}
let result = CS_URL.urlMap[item];
if (result) { return result; }
// You can enable logging here to find files that have the wrong case
//console.log("File \"" + item + "\" not found, trying lowercase");
result = CS_URL.urlMap[item.toLowerCase()];
if (result) { return result; }
if (url !== decodeURIComponent(url)) { return CS_URL.MapURL(decodeURIComponent(url)); }
//console.log("\"" + item + "\" still not found giving up");
return url;
};
CS_URL.Initialize();
load
→ requestImage
→ MapURL
urlMap
contains the case sensitive name, return the valueurlMap
contains the lowercase name, return the value%20
decode them and try againurlMap
is populated by decompressing and decoding the JSON in the pathdata.xz file.{
"/www/index.html": "/www/index.html",
"/www/package.json": "/www/package.json",
"/www/patch notes.txt": "/www/Patch Notes.txt",
"/www/css/111_inputform.css": "/www/css/111_InputForm.css",
"/www/fonts/gd-dotfont-dq-ttf_0.ttf": "/www/fonts/GD-DOTFONT-DQ-TTF_0.ttf",
"/www/fonts/jf-dot-ayu20.ttf": "/www/fonts/JF-Dot-Ayu20.ttf",
"/www/fonts/azuki.ttf": "/www/fonts/azuki.ttf",
"/www/fonts/jf-dot-mplush10b.ttf": "/www/fonts/JF-Dot-MPlusH10B.ttf",
"/www/fonts/jf-dot-ayu18.ttf": "/www/fonts/JF-Dot-Ayu18.ttf",
"/www/fonts/jf-dot-mplusq10.ttf": "/www/fonts/JF-Dot-MPlusQ10.ttf",
"/www/fonts/jf-dot-mplush10.ttf": "/www/fonts/JF-Dot-MPlusH10.ttf"
}
#!/usr/bin/env python3
import json
import os
from pathlib import PurePosixPath
import lzma
real_path = []
# Set the directory you want to start from
rootDir = 'www'
base = PurePosixPath("/")
for dir_name, _, fileList in os.walk(rootDir):
for file_name in fileList:
real_path.append(base.joinpath(dir_name, file_name))
file_check={}
file_map={}
for path in real_path:
p = PurePosixPath(path)
inputSuffix = p.suffix
# rewrite .avif/.webp as .png as that's what will be requested
if(inputSuffix == ".avif"):
inputSuffix = ".png"
if(inputSuffix == ".webp"):
inputSuffix = ".png"
p_str = str(p.parent.joinpath(str(p.stem)+inputSuffix))
p_str_lc = p_str.lower()
if p_str_lc in file_check:
print("Upper case/lower case collision with %s" % p_str)
exit(1)
else:
file_check[p_str_lc]=1
file_map[p_str_lc]=p_str
my_filters = [
{"id": lzma.FILTER_LZMA1, "preset": 2}
]
with lzma.open("pathdata.xz", "w",format=lzma.FORMAT_ALONE, filters=my_filters) as f:
f.write(bytes(json.dumps(file_map, separators=(',', ':')), "utf-8"))
CS_URL.Initialize
. Hit F5, do you stop at the breakpoints? If so hover over ex, what's the exception?This unfortunately doesn't work because there are other places other files are loaded.You'd want to normalise thepath
parameter. Make all the game files lowercase, and then (before theconst key
declaration)
...assumingJavaScript:if (typeof path === 'string' && String(path).length) {path = String(path).toLowerCase()}
path
is a string.