Girlfriend of Steel 2 pics: Enjoy! XD

This is the place to start: Feel free to introduce yourself, have general conversations and casual discussions about all things Evangelion, including chit-chatty topics like "Sachiel is adorable" or "Which Eva kicks the most ass?"

Moderator: Board Staff

Reichu
Admin Emeritus
Admin Emeritus
Posts: 24046
Joined: Aug 21, 2004
Location: Sailing for the white shores
Gender: Female
Contact:

  •      
  •      
  • Quote

Postby Reichu » Wed Dec 20, 2006 11:08 pm

Sailor Star Dust wrote:Ummm....South Park? Underpants Gnomes?

YOU ARE CORRECT SIR!

Bwahahaha, the translation makes it funnier. In terms of Youth (Japanese Culture thing), the only thing I really know is that youth=Summer(?)

青春 = blue (green/unripe/etc.) + spring.

For instance, I knew Shinji was saying something about Asuka's chest in that scene, I just didn't know what...

I wouldn't have known either if not for my beloved SpaceAlc. Shinji's sentence is actually cut off, but the context makes it easy to figure out that he's going to say "hou ga ii" (well, once you know that "hou ga ii" exists).

Reichu, I liked your "translation" of the nigoki cage scene in your walkthrough

Yeah, so do I. Too bad I've translated the real dialogue; now my razor-edged cynicism will become but a memory...

ie: With that picture I posted of Kaworu hugging Shinji amongst the flowers, for instance, Kaworu-kun said something to the affect of: "Friendship is as beautiful as a rose."

Lemme see...

Kaworu "The rose called Friendship is abloom."
Shinji "Kaworu-kun! Meeting up this way, it's like a dream."
Kaworu "A reunion with a friend who shares his joy. A single rose surpasses even décor that has reached the peak of extravagance."

Hmm, that was bizarely difficult.

says something equally stereotypical when Kaworu kisses Shinji in the elavator ride by the caves.

w00t, I already did that one. (Someone requested it at THAT BOARD, but I forgot to put it into the FAQ...)

(Elevator exterior shot)
Kaworu: A lift apparatus from the old days, eh?
Shinji: It was an elevator for construction work, so...
Kaworu: We're going into the Earth.
Shinji: You can really get a sense of how huge it is.
Kaworu: Please close your eyes.
Shinji: Huh?
Kaworu: Close your eyes, Shinji-kun.
Shinji: Alright... They're shut.

(Elevator interior – Kaworu kissing Shinji)
Kaworu: A testament to our friendship, from me.
Shinji: Kaworu-kun......
Kaworu: Is that okay?
Shinji: It felt a bit indiscrete... [???]

Asuka: I like you, Shinji.

Any idea what's up with "nan" here?
さらば、全てのEvaGeeks。
「滅びの運命は新生の喜びでもある」
Departure Message | The Arqa Apocrypha: An Evangelion Analysis Blog

Sailor Star Dust
Kept you waiting, huh?
Kept you waiting, huh?
User avatar
Age: 38
Posts: 23063
Joined: Aug 13, 2006
Location: 私の中いる自分の心
Gender: Female

  •      
  •      
  • Quote

Postby Sailor Star Dust » Thu Dec 21, 2006 8:27 pm

I think the "nandayo ne" is meant to emphaze the point she's trying to make, ie: She likes him.
*shrugs*
~Take care of yourself, I need you~

Sailor Star Dust
Kept you waiting, huh?
Kept you waiting, huh?
User avatar
Age: 38
Posts: 23063
Joined: Aug 13, 2006
Location: 私の中いる自分の心
Gender: Female

  •      
  •      
  • Quote

Postby Sailor Star Dust » Sun Dec 24, 2006 9:21 pm

Bump-ded.
I think I just realized something in the GoS2 game. :shock:
So you know how in After the End, it's possibly that Anno-sensei has a role of the Black Space God? Wells, me thinks he also has a small part in this, but I'm not certian. In the game when you have a choice between going to the concert with Rei & Kaworu or hanging with Asuka, and you choice going with Asuka, you spend the day at shopping together. When you go to section 3-3 ("Denzel Washington": A street number: 3-3."), because of a big fuss about something (turns out to be Adam), these two guys on the TV are talking. I *think* the guy that starts laughing is our dear Anno, but I could be wrong. Could anyone out there confirm this?

No big deal either way, but I'm intrguied now. :wink:
~Take care of yourself, I need you~

deeRez
Shamshel
Shamshel
User avatar
Posts: 295
Joined: Jul 31, 2011
Gender: Male

  •      
  •      
  • Quote

Postby deeRez » Sun Mar 11, 2012 1:26 pm

View Original PostReichu wrote:There's some way to rip the pics straight off the disc -- which would let me improve that collection in a number of ways. But, alas, I have no idea how Purlace did it.


I've been slowly figuring out the Iron Maiden 2 image format,
and this is how far I got:
SPOILER: Show

Image

[s]xxxxxxxxxxxxxxxxxxxxxxxxxxxxx[/s]

Image

[s]xxxxxxxxxxxxxxxxxxxxxxxxxxxxx[/s]

Image

[s]xxxxxxxxxxxxxxxxxxxxxxxxxxxxx[/s]

Image

[s]xxxxxxxxxxxxxxxxxxxxxxxxxxxxx[/s]

Image


Though, from a brief glimpse, I don't think you missed anything major.
Just little animations here and there.

There doesn't seem to be any unused images from my initial inspection, but it's still too early to tell since I still haven't figured out the file format completely.

The file format splits the image into tiles, and each tile can have various render methods. Hue/Saturation/Lightness, RGB888, grayscale, fill-operation, etc.
In and of itself, self-evident.

ONIAgent150
Ramiel
Ramiel
User avatar
Age: 31
Posts: 335
Joined: Jan 19, 2012
Location: Grinnell, IA
Gender: Male

  •      
  •      
  • Quote

Postby ONIAgent150 » Sun Mar 11, 2012 2:39 pm

Does this game STILL not have an English translation?
AVATAR: Zer0 from Borderlands 2.

Final Messenger
Evangelion
Evangelion
User avatar
Age: 31
Posts: 3206
Joined: Aug 22, 2011
Location: Toronto Canada
Gender: Male

  •      
  •      
  • Quote

Postby Final Messenger » Sun Mar 11, 2012 3:35 pm

View Original PostONIAgent150 wrote:Does this game STILL not have an English translation?

I'm pretty sure it does not.
Avatar:super high school level ???? Kyouko Kirigiri
"Before Pimptimus turned the Jupitris into his brothel it was giant helium carrier"- Fireball
"to solve a mystery sometimes you have to take risks. Isn't that right?"- Kyouko Kirigiri
more people should read Dangan Ronpa

Reichu
Admin Emeritus
Admin Emeritus
Posts: 24046
Joined: Aug 21, 2004
Location: Sailing for the white shores
Gender: Female
Contact:

  •      
  •      
  • Quote

Postby Reichu » Sun Mar 11, 2012 4:31 pm

deeRez: It was impossible to get complete images in cases of diagonal pans. I also wasn't aware of snazzy programs like AnimGet at the time I did this, so I'm sure various other panning images are missing edges.

View Original PostONIAgent150 wrote:Does this game STILL not have an English translation?

These things don't magically appear. People make them happen.
Last edited by Reichu on Mon Mar 12, 2012 12:40 am, edited 1 time in total.
さらば、全てのEvaGeeks。
「滅びの運命は新生の喜びでもある」
Departure Message | The Arqa Apocrypha: An Evangelion Analysis Blog

deeRez
Shamshel
Shamshel
User avatar
Posts: 295
Joined: Jul 31, 2011
Gender: Male

  •      
  •      
  • Quote

Postby deeRez » Sun Mar 11, 2012 6:27 pm

If anyone is interested, here's the C program to handle/extract the lb5/idx files and process the images as well.
Beware, it's a messy patchwork, and is still incomplete (CTRL-F for [TODO]):

SPOILER: Show

[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <math.h>

typedef unsigned int uint;
typedef signed long long int64;
typedef unsigned long long uint64;
typedef signed int int32;
typedef unsigned int uint32;
typedef signed short int16;
typedef unsigned short uint16;
typedef signed char int8;
typedef unsigned char uint8;

const uint8 encryptKey[4]={0x88, 0x88, 0x88, 0x88};

#define mathMinimum2(a, b) ((a) < (b)? (a):(b))
#define mathMinimum3(a,b,c) (mathMinimum2(mathMinimum2((a),(b)), (c)))

#define mathMaximum2(a, b) ((a) > (b)? (a):(b))
#define mathMaximum3(a,b,c) (mathMaximum2(mathMaximum2((a),(b)), (c)))

//Utility function obtained from:
//http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
void colorConvertRgbToHsl(float r, float g, float b, float *oh, float *os, float *ol){
r /= 255.0f;
g /= 255.0f;
b /= 255.0f;

float max = mathMaximum3(r, g, b);
float min = mathMinimum3(r, g, b);
float h=0;
float s=0;
float l = (max + min) / 2;

if(max == min){
h = s = 0; // achromatic
}else{
float d = max - min;
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);

if(max == r) {
h = (g - b) / d + (g < b ? 6 : 0);
}
else if(max == g) {
h = (b - r) / d + 2;
}
else if(max == b) {
h = (r - g) / d + 4;
}
h /= 6;
}

*oh=h * 255.0f;
*os=s * 255.0f;
*ol=l * 255.0f;
}

//Utility function obtained from:
//http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
float colorConvertHue2rgb(float p, float q, float t){
if(t < 0.0f) t += 1;
if(t > 1.0f) t -= 1;
if(t < 1.0f/6.0f) return p + (q - p) * 6.0f * t;
if(t < 1.0f/2.0f) return q;
if(t < 2.0f/3.0f) return p + (q - p) * (2.0f/3.0f - t) * 6.0f;
return p;
}

//Utility function obtained from:
//http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
void colorConvertHslToRgb(float h, float s, float l, float *or, float *og, float *ob){
float r;
float g;
float b;

h/=255.0f;
s/=255.0f;
l/=255.0f;

if(s == 0){
r = g = b = l; // achromatic
}else{
float q = l < 0.5 ? l * (1 + s) : l + s - l * s;
float p = 2 * l - q;
r = colorConvertHue2rgb(p, q, h + 1.0f/3.0f);
g = colorConvertHue2rgb(p, q, h);
b = colorConvertHue2rgb(p, q, h - 1.0f/3.0f);
}

*or=r * 255.0f;
*og=g * 255.0f;
*ob=b * 255.0f;
}


int main(int argc, const char* argv[] )
{
if(argc < 2)
{
printf("ungos <idx or lb5 file>\n");
return 0;
}

//Get length of file name
uint nameLength=strlen(argv[1]);

//Check if length is valid
if(nameLength < 4) {
printf("error: file name length is too short to be idx/lb5 file format\n");
return 0;
}

//Check for file format
if(strcmp(&argv[1][nameLength-4], ".idx") && strcmp(&argv[1][nameLength-4], ".lb5")) {
printf("error: file name is not idx nor lb5 file\n");
return 0;
}

//Create a copy of file name
uint8 *nameString=malloc(nameLength+1);
if(nameString == NULL) {
printf("error: out of memory... what is this, 1994?\n");
return 0;
}
memcpy(nameString, argv[1], nameLength+1);

//Set pointer to file format in string
uint8 *nameFormat=&nameString[nameLength-3];

//Create the directory
uint8 *dirString=malloc((nameLength-4) + 1 + 15 + 1);
if(dirString == NULL) {
printf("error: out of memory... what is this, 1994?\n");
return 0;
}
memcpy(dirString, argv[1], nameLength-4);
dirString[nameLength-4]=0;
mkdir(dirString);

//Set pointer to file name in directory string
dirString[nameLength-4]='/';
uint8 *dirFile=&dirString[nameLength-3];

//Open the idx file
strcpy(nameFormat, "idx");
FILE *fidx=fopen(nameString, "rb");

if(fidx == NULL) {
//Clean up
free(nameString);
free(dirString);

printf("error: could not open idx file\n");
return 0;
}

//Open the lb5 file
strcpy(nameFormat, "lb5");
FILE *flb5=fopen(nameString, "rb");

if(flb5 == NULL) {
//Clean up
free(nameString);
free(dirString);
fclose(fidx);

printf("error: could not open lb5 file\n");
return 0;
}

//Get the extract count from the idx file
uint extractCount=0;
fread(&extractCount, 1, 4, fidx);

//Extract the files
while(extractCount--) {
uint32 offset;
uint32 size;

//Read the offset
fread(&offset, 1, 4, fidx);

//Read size
fread(&size, 1, 4, fidx);

//Skip unknown byte
fgetc(fidx);

//Read name
fread(dirFile, 1, 15, fidx);
dirFile[15]=0;

//Skip non-test files
//if(strcmp(dirFile, "c013.bmp")) continue; ///////////////////////////////////////////////////////////////////
//if(strcmp(dirFile, "FN002.BMP")) continue;
//if(strcmp(dirFile, "c052.bmp")) continue;

//Open output file
FILE *file=fopen(dirString, "wb");
if(file == NULL) {
printf("warning: couldn't extract %s; skipping\n", dirFile);
continue;
}

//Allocate buffer to load file into memory
uint8 *data=malloc(size);
if(data == NULL) {
//Clean up
free(nameString);
free(dirString);
fclose(fidx);
fclose(flb5);
fclose(file);

printf("error: out of memory... what is this, 1994?\n");
return 0;
}

//Load file into memory
fseek(flb5, offset, SEEK_SET);
fread(data, 1, size, flb5);

//Check if file compressed
if((1==1) && (size >= 16) && (!memcmp(data, encryptKey, 4))) {
printf("decompressing & extracting: %s\n", dirFile);

uint32 imgWidth;
uint32 imgHeight;

uint imgX=0;
uint imgY=0;

uint32 decompressOffset;
uint32 decompressSize;

memcpy(&imgWidth, &data[4], 4);
memcpy(&imgHeight, &data[8], 4);
memcpy(&decompressSize, &data[12], 4);

//Calculate tile map size
uint tileWidth=(imgWidth+7)/8;
uint tileHeight=(imgHeight+7)/8;
uint tileSize=tileWidth * tileHeight;
uint tileCounter=0;

uint paletteOffset=16 + 54 + tileSize;

//Calculate starting offset
decompressOffset=16 + 54 + tileSize + 3*tileSize;

//Check if image can be represented
if(size < 16+54) {
//Free memory
free(data);

//Close output file
fclose(file);

printf("warning: can't decompress, bad data; skipping\n");
continue;
}

//Write header
fwrite(&data[16], 1, 54, file);

//Allocate image
uint8 *image=malloc(imgWidth*imgHeight*3);
memset(image, 0, imgWidth*imgHeight*3);
if(image == NULL) {
//Free memory
free(data);
free(image);

//Close file handles
fclose(fidx);
fclose(flb5);
fclose(file);

printf("error: out of memory... what is this, 1994?\n");
return 0;
}

//Decompress
while(tileCounter < tileSize) {
//Calculate tile limit
uint8 limitX=8;
uint8 limitY=8;

if((imgHeight - imgY) < 8) limitY=imgHeight - imgY;
if((imgWidth - imgX) < 8) limitX=imgWidth - imgX;

//Get dictionary tile type
uint8 tileType=data[16 + 54 + tileCounter];

switch(tileType) {
case 0: //Fill in with color from palette (correct)
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 r=data[paletteOffset + 3*(tileCounter) + 0];
uint8 g=data[paletteOffset + 3*(tileCounter) + 1];
uint8 b=data[paletteOffset + 3*(tileCounter) + 2];

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;
tileX++;
}
tileY++;
}
}
break;

case 1: //Palette + 4bpp sat/light (basic)? //[TODO]
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 satlight=data[decompressOffset + tileY*limitX + tileX];
uint lightness=satlight & 0xF0;
uint saturation=(satlight & 0x0F) << 4;

int16 r=data[paletteOffset + 3*(tileCounter) + 0];// + colorOffset;
int16 g=data[paletteOffset + 3*(tileCounter) + 1];// + colorOffset;
int16 b=data[paletteOffset + 3*(tileCounter) + 2];// + colorOffset;

/*if(r<0) r=0;
if(g<0) g=0;
if(b<0) b=0;
if(r>255) r=255;
if(g>255) g=255;
if(b>255) b=255;*/

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;

tileX++;
}
tileY++;
}
}

decompressOffset+=limitX*limitY;
break;

case 2: //Palette? //[TODO]
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 r=data[paletteOffset + 3*(tileCounter) + 0];
uint8 g=data[paletteOffset + 3*(tileCounter) + 1];
uint8 b=data[paletteOffset + 3*(tileCounter) + 2];

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;
tileX++;
}
tileY++;
}
}

decompressOffset+=limitX*limitY;
break;

case 3: //Palette? //[TODO]
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 r=data[paletteOffset + 3*(tileCounter) + 0];
uint8 g=data[paletteOffset + 3*(tileCounter) + 1];
uint8 b=data[paletteOffset + 3*(tileCounter) + 2];

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;
tileX++;
}
tileY++;
}
}

decompressOffset+=limitX*limitY;
break;

case 4: //Palette + 4bpp color offset (correct)
{
uint8 byteBuffer=0;
uint8 byteCount=0;

uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
if(byteCount == 0) {
byteBuffer=data[decompressOffset + tileY*limitX/2 + tileX/2];
byteCount=2;
}

uint8 colorOffset=(byteBuffer & 0x0F); //Correct orientation checked, low nibble is leftmost pixel
byteBuffer>>=4;
byteCount--;

uint16 r=data[paletteOffset + 3*(tileCounter) + 0] + colorOffset;
uint16 g=data[paletteOffset + 3*(tileCounter) + 1] + colorOffset;
uint16 b=data[paletteOffset + 3*(tileCounter) + 2] + colorOffset;

if(r>255) r=255;
if(g>255) g=255;
if(b>255) b=255;

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;

tileX++;
}
tileY++;
}
}

decompressOffset+=limitX*limitY/2;
break;

case 5: //8bpp grayscale (correct)
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 grayscale=data[decompressOffset + tileY*limitX + tileX];
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=grayscale;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=grayscale;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=grayscale;
tileX++;
}
tileY++;
}
}

decompressOffset+=limitX*limitY;
break;

case 6: //HSL (incorrect) //[TODO]
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
float saturation=data[decompressOffset + 2*(tileY*limitX + tileX) + 0];
float lightness=data[decompressOffset + 2*(tileY*limitX + tileX) + 1];

float r=data[paletteOffset + 3*(tileCounter) + 0];
float g=data[paletteOffset + 3*(tileCounter) + 1];
float b=data[paletteOffset + 3*(tileCounter) + 2];

/*float h,s,l;

colorConvertRgbToHsl(r,g,b, &h, &s, &l);

s+=(saturation - lightness)/2.0f;
l+=2.0f*(255.0f - saturation);

colorConvertHslToRgb(h,s,l, &r, &g, &b);

//printf("%f %f %f\n", r, g, b);

if(r<0) r=0;
if(g<0) g=0;
if(b<0) b=0;
if(r>255) r=255;
if(g>255) g=255;
if(b>255) b=255;*/

image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;
tileX++;
}
tileY++;
}
}

decompressOffset+=2*limitX*limitY;
break;

case 7: //RGB (correct)
{
uint8 tileY=0;
while(tileY < limitY) {
uint8 tileX=0;
while(tileX < limitX) {
uint8 r=data[decompressOffset + 3*(tileY*limitX + tileX) + 0];
uint8 g=data[decompressOffset + 3*(tileY*limitX + tileX) + 1];
uint8 b=data[decompressOffset + 3*(tileY*limitX + tileX) + 2];
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+0]=r;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+1]=g;
image[3 * ((imgY + tileY) * imgWidth + (imgX + tileX))+2]=b;
tileX++;
}
tileY++;
}
}

decompressOffset+=3*limitX*limitY;
break;
}

//Move ahead one tile in image
imgX+=8;
if(imgX >= imgWidth) {
imgX=0;
imgY+=8;
}

//Next tile
tileCounter++;
}

//Write image
uint lineCounter=0;
while(lineCounter < imgHeight) {
fwrite(&image[3 * lineCounter * imgWidth], 1, imgWidth*3, file);

uint padding=4-((3*imgWidth) % 4);
if(padding == 4) padding=0;

fseek(file, padding, SEEK_CUR);

lineCounter++;
}

//Debug line
fwrite(&data[70], tileSize+3*tileSize + 8*8*3,1,file);

//Free memory
free(image);
}
else {
//Write file
printf("extracting: %s\n", dirFile);
fwrite(data, 1, size, file);
}

//Free memory
free(data);

//Close output file
fclose(file);
}

//Close the file handles
fclose(fidx);
fclose(flb5);

//Free file name
free(nameString);
free(dirString);

system("pause");

return -1;
}

[/code:1]


View Original PostONIAgent150 wrote:Does this game STILL not have an English translation?


One of the game archives after unpacking seems to contain a bunch of text files.
Image

I assume the text files are script files that control the scene animations and dialog that appears.
Though, I have no idea if they're using a standard Japanese text encoding, or a custom one.
If you want to experiment with one of the text files to try to find the right encoding, here's its hex data:
SPOILER: Show

[code:1]D3E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E10D0AD309BABBBACDC8C80D0AD30D0AD3E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E10D0A0D0AA1999BA5ABE0989FA299A1A9EEDDDEDEDE0D0AA1999BA5ABEEA1DBDEDC0D0A0D0A9FA0E09BA3A59EEEC8A5A0ADA2A9BBA3A59E0D0A0D0AD3A79F9A9FEE9AA99B9ADDDE0D0AD3A79F9A9FEE9AA99B9ADDDD0D0AD3A79F9A9FEE9AA99B9ADDDC0D0AD3A79F9A9FEE9AA99B9AD5D50D0A0D0AEB9AA99B9ADDDE0D0A0D0AADA0A5A1A9E0A5A0A59A0D0AADA0A5A1A9E0BBA99AC6A5AAAAA9A0CDA2A20D0AADA0A5A1A9E098A5A9979E9F9C9AEEDEE2DEE2D6DEDEE2DADBD80D0A0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8AD09D3DDDEDEDE0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DDDEDEDEE2D7DDD6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDD0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DDDEDEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8AC09D3DDD9DEDE09DCD9DEDE0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DCD9DEDEE2DDDAD8D6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDC0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DCD9DEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8AB09D3DDD9DEDE09DADEDEDE0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DADEDEDEE2DCDCDDD6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDB0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DADEDEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8AA09D3DDDBDDD609D9D9DEDE0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1D9D9DEDEE2DCD5D8D6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDA0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2D9D9DEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8A909D3DDD9DEDE09D8D6DDD60D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1D8D5DDD6E2DBD7DCD7E2DCE2DE0D0A0D0AADA0A5A1A9E0BBA99ABBA69F97CDA2A20D0A0D0A97ADA59AEEDBD7DCD70D0A0D0AEB9AA99B9ADDDC0D0A0D0AADA0A5A1A9E0A5A0A59A0D0AADA0A5A1A9E0BBA99AC6A5AAAAA9A0CDA2A20D0AADA0A5A1A9E098A5A9979E9F9C9AEEDEE2DEE2D6DEDEE2DADBD80D0A0D0AADA0A5A1A9E0ABEEDE0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8A809D3DDDCDEDE0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DDDCDEDEE2D6DDD6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDD0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DDDCDEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8A609D3DADADD09DDD8DADD0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DDD7DADDE2DDDDDBD6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDC0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DDD6DEDE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8A709D3DADEDEEEE6DCDCD7E50D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2E1DCDADEDEE2DDD9DDD6E2DCE2DE0D0A0D0AADA0A5A1A9E0ABEEDB0D0AADA0A5A1A9E0A29FABAD9AA9EEDADEE2DE0D0AADA0A5A1A9E0A29FADAAEE9B9AADA8A8A7DC0D0AADA0A5A1A9E0BBA99ABBAB9C9FA2A2DEDCEEDEE2DADBD8E2DEE2DCDEDEE2DDDBDEE2DBE2DE0D0A0D0AADA0A5A1A9E0BBA99ABBA69F97EEDEE2DDE2DC0D0A0D0A97ADA59AEEDDDBDEDE0D0A0D0AADA0A5A1A9E0BBA99ABBA69F97EEDB0D0A0D0A999BA99C97ADA59A0D0A0D0A0D0AEBC8A5A0ADA2A9BBA3A59E0D0A0D0A9FA8A8E09BA3A59E0D0A0D0AA1999BA5ABE0A8ADAAA99F999A0D0A0D0AACA19EE09F98A99CA2AD9EEEACA2ADABA30D0A0D0AADA0A5A1A9E0CAA9A2A99AA9CDA2A20D0A0D0A9AA5A1A99CE097ADA59AEED9DEDE0D0A0D0AA29FADAAEE9B9AAD9C9A0D0A0D0AD3E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E10D0AD309A9A0AA0D0AD3E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E10D0A[/code:1]


View Original PostReichu wrote:It was impossible to get complete images in cases of diagonal pans. I also wasn't aware of snazzy programs like AnimGet at the time I did this, so I'm sure various other panning images are missing the very top or bottom.


The game also stores some of the characters as separate files from the backgrounds, so it's kind of nice to be able to take out the sprites and post them places, like:

SPOILER: Show
Draw me like one of your French girls:
Image

Though I still can't believe you sat there print-screening the game little by little!
Last edited by deeRez on Mon Mar 12, 2012 9:34 pm, edited 1 time in total.
In and of itself, self-evident.

Mr. Tines
Administrator
Administrator
User avatar
Age: 66
Posts: 21374
Joined: Nov 23, 2004
Location: This sceptered isle.
Gender: Male
Contact:

  •      
  •      
  • Quote

Postby Mr. Tines » Sun Mar 11, 2012 7:12 pm

I ran this PowerShell script over the hex dump

[code:1] $hexstring= #what you posted
$count = $hexString.length
$byteCount = $count/2
$bytes = New-Object byte[] $byteCount
$byte = $null

$x = 0
for ( $i = 0; $i -le $count-1; $i+=2 )
{
$bytes[$x] = [byte]::Parse($hexString.Substring($i,2), [System.Globalization.NumberStyles]::HexNumber)
$x += 1
}
set-content -encoding byte ".\hex.txt" -value $bytes[/code:1]

It definitely isn't ISO-2022-JP; nor a UTF16 encoding. Rendered as EUC-JP or Shift-JIS, there are not enough kana to be plausible, even before Google leaves most of it untouched.
Reminder: Play nicely <<>> My vanity publishing:- NGE|blog|Photos|retro-blog|Fanfics &c.|MAL|𝕏|🐸|🦣
Avatar: art deco Asuka

Sailor Star Dust
Kept you waiting, huh?
Kept you waiting, huh?
User avatar
Age: 38
Posts: 23063
Joined: Aug 13, 2006
Location: 私の中いる自分の心
Gender: Female

  •      
  •      
  • Quote

Postby Sailor Star Dust » Sun Mar 11, 2012 7:17 pm

Oh hai, one of the very first threads I made. :sweatdrop:

Hah, I guess nobody figured out my question if Anno made a voice cameo in this (GoS2 game). I just used the Googles in Japanese and Japanese Wikipedia mentions the cast for the "main" characters but nothing in the way of the background characters: http://tinyurl.com/GOS2Seiyuumain

But, there is a Background characters section at the bottom of the page for GoS (the game with Mana): http://tinyurl.com/GOSSeiyuuBackground Kaji and Gendo's seiyuu are utilized for background character voices in GoS. I know that happens with some of the Bridge Bunnies in GoS Special Edition as well.
~Take care of yourself, I need you~

Hyper Shinchan
Younger God
Younger God
User avatar
Age: 36
Posts: 4774
Joined: Aug 07, 2005
Location: Bunga Bunga Republic
Gender: Male

  •      
  •      
  • Quote

Postby Hyper Shinchan » Mon Mar 12, 2012 5:55 pm

There are already programs capable of extracting and decoding the bitmaps and text files of GoS2nd, you can find them on the download section of the Italian translation project, they're the last two links, "lb5_v2.rar" and "gosse.rar". The later program can be used with GoS SV as well, it uses the same formats.
So let’s make a wish.
“Please let me redo again.”
No matter how many times

From the book “All About Nagisa Kaworu: A Child of Evangelion”.

deeRez
Shamshel
Shamshel
User avatar
Posts: 295
Joined: Jul 31, 2011
Gender: Male

  •      
  •      
  • Quote

Postby deeRez » Mon Mar 12, 2012 10:19 pm

View Original PostHyper Shinchan wrote:There are already programs capable of extracting and decoding the bitmaps and text files of GoS2nd, you can find them on the download section of the Italian translation project, they're the last two links, "lb5_v2.rar" and "gosse.rar". The later program can be used with GoS SV as well, it uses the same formats.


Thanks. I'm not surprised. This happens a lot actually in these scenes, where two different groups (often of different languages) reinvent the wheel by mistake, but I write these things for a challenge and to learn so nothing is lost on me.

From reading the website via Google translate, the game script txt files are not encrypted it seems, and instead one just needs a Japanese language pack to be installed on the computer for them to be readable.

Looks like all they need is a Japanese to Italian translator.
Too bad it's from Japanese to Italian and not Japanese to English.
In and of itself, self-evident.

Hyper Shinchan
Younger God
Younger God
User avatar
Age: 36
Posts: 4774
Joined: Aug 07, 2005
Location: Bunga Bunga Republic
Gender: Male

  •      
  •      
  • Quote

Postby Hyper Shinchan » Mon Mar 12, 2012 10:54 pm

View Original PostdeeRez wrote:Looks like all they need is a Japanese to Italian translator.

They already have one but this is their problem, unfortunately they have only one lone translator so their work is progressing slowly; anyway they surpassed 75% of total work one year ago, I hope that they'll complete it sooner or later.
View Original PostdeeRez wrote:Too bad it's from Japanese to Italian and not Japanese to English.

Well, it's probably a matter of determination, I know the author of that website since he started translating GoS from English to Italian more than 5 years ago, he really amazed me when I noticed that he was seriously working on the translation of GoS2nd.
So let’s make a wish.
“Please let me redo again.”
No matter how many times

From the book “All About Nagisa Kaworu: A Child of Evangelion”.

deeRez
Shamshel
Shamshel
User avatar
Posts: 295
Joined: Jul 31, 2011
Gender: Male

  •      
  •      
  • Quote

Postby deeRez » Mon Mar 12, 2012 11:45 pm

View Original PostHyper Shinchan wrote:They already have one but this is their problem, unfortunately they have only one lone translator so their work is progressing slowly; anyway they surpassed 75% of total work one year ago, I hope that they'll complete it sooner or later.


Maybe ask Reichu to do a Japanese to English translation of the game's script files, and then that site can look for an English to Italian translator which should be easier to find, :P

Then again, something tells me Reichu doesn't want to see GoS2 ever again.
Hah.
In and of itself, self-evident.

Reichu
Admin Emeritus
Admin Emeritus
Posts: 24046
Joined: Aug 21, 2004
Location: Sailing for the white shores
Gender: Female
Contact:

  •      
  •      
  • Quote

Postby Reichu » Tue Mar 13, 2012 12:22 am

View Original PostdeeRez wrote:Then again, something tells me Reichu doesn't want to see GoS2 ever again.

Yeah, I pretty much got my fill of it. It's not interesting enough to me to warrant the effort of an attempted translation (at least, not without "compensation").

I'd probably enjoy messing around with the image extraction stuff, though, if I had any idea what to do with all that code. I at one point had an actual executable for extracting the images from the first GOS, but I unfortunately lost it in a hard disc failure, along with all the ripped images.
さらば、全てのEvaGeeks。
「滅びの運命は新生の喜びでもある」
Departure Message | The Arqa Apocrypha: An Evangelion Analysis Blog

Warren Peace
Potential Pilot
Potential Pilot
User avatar
Age: 93
Posts: 1789
Joined: May 28, 2010

  •      
  •      
  • Quote

Postby Warren Peace » Tue Mar 13, 2012 4:22 am

Man, this game is like making an alternate ending to The Lord of the Rings where Frodo uses the One Ring to become king of Middle Earth. It kinda misses the point of the original...

Grand Duke of Yashima
Ramiel
Ramiel
User avatar
Posts: 316
Joined: Jan 10, 2008
Location: LA
Gender: Male
Contact:

  •      
  •      
  • Quote

Postby Grand Duke of Yashima » Tue Mar 13, 2012 10:22 pm

Man, this game is like making an alternate ending to The Lord of the Rings where Frodo uses the One Ring to become king of Middle Earth. It kinda misses the point of the original...


Perhaps it does. The difference is that in Frodo's case we have to get someone's fanfic to see that happen, but for EVA GAINAX is glad to make it for you.
[/i]
EVA Fan Fiction: The Blue Rose Saga

https://www.facebook.com/EvangelionTheBlueRose

"The power of the Evangelion is the power of love"

Warren Peace
Potential Pilot
Potential Pilot
User avatar
Age: 93
Posts: 1789
Joined: May 28, 2010

  •      
  •      
  • Quote

Postby Warren Peace » Wed Mar 14, 2012 1:27 am

Eva's expanded universe has been so mismanaged. There are tons of interesting corners that could be explored in these things. This sentence alone from The Day Tokyo-3 Stood Still's Evawiki page...

They then board a train and meet Vice Commander Fuyutsuki, who complains that he must meet with the city council that day, even though they are just figureheads and the Magi supercomputers make the actual decisions.

... could be the beginning of a really neat story. Instead, it's always "what if they were detectives?"

Hyper Shinchan
Younger God
Younger God
User avatar
Age: 36
Posts: 4774
Joined: Aug 07, 2005
Location: Bunga Bunga Republic
Gender: Male

  •      
  •      
  • Quote

Postby Hyper Shinchan » Thu Mar 15, 2012 5:48 am

View Original PostReichu wrote:I'd probably enjoy messing around with the image extraction stuff, though, if I had any idea what to do with all that code.

Like I said before this program can be used to extract the images of GoS2nd and GoS SV, in case you can't compile deeRez's code.
View Original PostReichu wrote:I at one point had an actual executable for extracting the images from the first GOS, but I unfortunately lost it in a hard disc failure, along with all the ripped images.

Probably it was this program, it's been written by roxfan, the author of the GoS translation.

@deeRez: have you tried to decode the *.bp4 images of Ikari Shinji Ikusei Keikaku? It uses the same lb5 archive format but the image format is different, judging by the extension it's a variation/successor of the format used by GoS2nd and GoS SV but I don't know any tool capable of converting them.
So let’s make a wish.
“Please let me redo again.”
No matter how many times

From the book “All About Nagisa Kaworu: A Child of Evangelion”.

deeRez
Shamshel
Shamshel
User avatar
Posts: 295
Joined: Jul 31, 2011
Gender: Male

  •      
  •      
  • Quote

Postby deeRez » Thu Mar 15, 2012 3:02 pm

View Original PostHyper Shinchan wrote:@deeRez: have you tried to decode the *.bp4 images of Ikari Shinji Ikusei Keikaku? It uses the same lb5 archive format but the image format is different, judging by the extension it's a variation/successor of the format used by GoS2nd and GoS SV but I don't know any tool capable of converting them.


I just took a look after downloading the game.
GoS2 keeps the alpha/transparency as a separate file.
SIRP combines them into one file, into RGBA.
Four bytes per pixel.

Image

I still have more to look into it, because they did add some new render modes (probably 32bit versions of the GoS2 24-bit ones) that I have to figure out.
In and of itself, self-evident.


Return to “Evangelion General and Chit-Chat”

Who is online

Users browsing this forum: No registered users and 12 guests