Jump to content

Search the Community

Showing results for tags 'Help'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Visual Novels Discussion
    • Visual Novel Talk
    • Recommendations
    • Walkthroughs
    • Game Technical FAQs & Solutions
  • Development Boards
    • Creative Corner
    • Fan Translation Discussion
    • Translation Projects
    • Original Projects
    • Vtuber Programs & Assets
  • Fuwanovel Community
    • Introduce Yourself
    • Members' Lounge
    • Partners & updates
    • Community Coordination and Feedback
  • Other Discussion
    • Anime/Manga Talk
    • General Discussion
    • Gaming Talk
    • The Coliseum of Chatter

Blogs

  • AwesomeCurry Blog
  • The Geek Clinic
  • Anime of the Season
  • Fixings that Aid Men in Performing Better Physically
  • NookGaming Reviews
  • Fabulous on Fuwa
  • Yumi's Corner
  • Phase 10
  • Distractedly Undistracted ~comment te dire ADHD~
  • Project Recruitment
  • Learn Japanese with Eroge: Random Eroge Review
  • The Wonderful World of Slank
  • (NSFW) [18+] Live Now! The Co-Op "Season of Monster Girls" Lewd Mega Bundle!
  • Zero's Talk
  • 13 Common Online Visual Novel Fan Term Definitions
  • Black Heaven
  • Klarkihime Reviews and News
  • Visual Novel Video Essays
  • Hatsumira -from the future undying- Review
  • KuroKairin's Content Wrap-Up
  • OmOneko DevBlog
  • Riku's VN blog   
  • Disearnestly Disearnest
  • Towards The End Sky
  • fgf
  • tay pls
  • Novel21's Blog
  • Ronin Visual Novel Discussions
  • FinalChaos' Blog
  • KagariSoft Blog
  • The Azure Library
  • Moeblog
  • Anime Heaven
  • An Introduction to Ethical Hacking
  • Nemesis' Eroge (エロゲー) Reviews
  • Clephas' VN home
  • Mon Chérie, Ma Chérie
  • An islander's distorted tastes
  • Lino Does Stuff Too You Know
  • Testing 25060
  • Mr Poltroon's Random Codswallop
  • The Ramblings of a Recluse
  • .farside Supplement
  • Anime Was A Mistake
  • Saya no Uta Review
  • Mana
  • denpaarchivist's corner
  • fun2novel's Funtime Hour
  • Glamorous Palestinian Female Escorts
  • fun2novel's Spoiler Hour
  • Glamorous Palestinian Female Escorts
  • Forgotten Visual Novels
  • On A Rainy Day
  • super's VN experiences
  • Satsuki's Bombard Zone
  • Abogado Trafico Greensville Va
  • In The Clouds
  • RCL's Blog
  • Sirus' Blog
  • Sanahtlig's Corner
  • GFL-Redux (GFL porting project)
  • hikki-ota-neet
  • Rooke's ramblings
  • The ECLIPSED
  • Petallush Women's Best Sellers
  • Thoughts of a Rookie
  • anigatari
  • solidbatman vs. Metal Gear Solid
  • WHAT ARE THE MAIN BENEFITS OF PARTYING AT A LUXURY NIGHTCLUB?
  • Lovin' my Vita Loca
  • Unwonted Studios
  • Welcome to a test blog
  • Soloist
  • RollingArt23's visual novel reviews.
  • Random knowledges
  • Rapscallions' Quarter
  • B L O G B O Y S
  • Suika's Space
  • Kitty's Ramblings
  • YandereGirl Blogging & VN Reviews
  • Decay's musings
  • Fuwalegends ~ As told by Fidget Queen
  • starlessn1ght's random stuff
  • Chronopolis' VN Blog
  • firecat's Blog
  • Godline Games
  • AKISEKAI's Blog
  • Shikomizue's Random Game Reviews
  • Zealty
  • Rains' VN and Anime Weather Report
  • Black Rabbit's Coffee Shop
  • The Bookshelf
  • re:Edit
  • MekaMeka Time
  • Seems Legit
  • FuwaReviews Team
  • The Month In Reviews
  • 'What's a tsundere?'
  • solidbatman's Gaming Blog
  • Kaguya does touhou
  • The Better Than Bad It's Good Blog
  • Random stories of Clephas
  • Imgur reviews
  • Zalor's Seminar
  • Dergonu's blog
  • CeruleanGamer's Blogs on Visual Novels with Gameplay!
  • Arc's VN Talk
  • Divided by Rei
  • The Utterly Hopeless Blog
  • Holy Church of Incoherence (Fuwa Branch)
  • Jitaku Keibiin: No Longer Human
  • Pretty Cure on Fuwanovel
  • Forgetful Fuwa
  • John Smith's blog
  • Vn ramblings
  • Dank Mango's
  • Aizen's Rambling Corner
  • The Freditorial
  • Keaton's Terrible Blog
  • Gunpla Blog
  • Reviews and Rants
  • Uncensored and honest reviews
  • Li-Fei's Indie VN Musings
  • Some random blog
  • I am an artist of backgrounds
  • Reading Ginharu Very Slowly
  • Daily Musings
  • The VN dev sector
  • Alei Translation's Blog
  • sm's Random VN Rants
  • Social Justice with Sana-chan
  • Tyrviews
  • Endless Days, Sleepless Nights
  • SJWs leave us gamers & otakus alone & leave what we love alone
  • Vndbreview
  • Daydreamer's Thoughts & Reviews
  • Non chan's moe corner
  • EVN Chronicles
  • Maggie's journal
  • Nobody Cares: The Blog
  • Ranzo's Rancid Ramblings
  • Akshay Attempts Reviews
  • VNs, Streamers, and Exercise!
  • Chuuni Philosophy
  • Mitch and Gaming
  • Discount Nfl Jerseys - Youth Basketball Jerseys Cheap
  • Weiterfechten's Clockworks
  • Anti-Blonde Blog
  • That feeling when someone doesn't mod "le Watakushi"
  • Phantom Visual Novel Reviews
  • Maggie's fics
  • The Kyonyuu Kingdom
  • Word Line Divergence
  • Ramaladni's Gift
  • Review of VNs that I have a physical copy of, including pictures of the physical copy
  • Banter with Asonn.
  • A Closer Look
  • Learning How To Learn Series
  • Kuu's Words Manufactory
  • DivinityCure's Logs
  • onoramblings
  • Bad VN gossip blog
  • Monthly physical visual novel news
  • Lemurian Ruins
  • VN Thoughts
  • Exploring Visual Novels [Pixels, Polygons, Prose VN Feed]
  • Orglings of an Alpacaman
  • A compilation of quality VN from 2000 to 2018
  • Visual Novel Game Reviews
  • HentaiReviews.moe
  • Kickstarters and delays for physical releases
  • Former Spammer's Ramblings
  • Infinity Hole
  • Tsujidou San virgin road
  • Critically Subjective
  • About self satisfaction while playing VN's
  • Mind Of Jardic
  • Sparteh's Philosophy corner - Visual Novel Reviews and Thoughts
  • EVN Chronicles' V-tube Corner

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Interests


Projects


Japanese language


Development skill


X.com


Reddit


TikTok


Instagram


Threads


Steam


YouTube


Facebook


Fediverse


GitHub


Visual Novel Database (VNDB)


My Anime List (MAL)


Anime News Network (ANN)


Anilist


Kitsu


Discord


Skype


Public E-Mail


Website

  1. So I'm trying to repack PAK files that I took apart using Crass. The game is 堕淫フォーカス~パック~, from Heat-Soft / Eroro /2009 The only 2 real tools i've found with potential chances are ACpack32 and Filepack32, but I can't seem to get ACpack to work from some reason and Filepack32 is as far as I can tell, extinct from the internet (all links are rapidshare = dead) . The other tool I've tried is createSRPak, but the files made though it are unreadable by the game. I posted a similar question on the Data Extraction thread, and as of now the only leads i've got are the Crass code Nanashi3 got me: #include <windows.h> #include <tchar.h> #include <crass_types.h> #include <acui.h> #include <cui.h> #include <package.h> #include <resource.h> #include <cui_error.h> #include <utility.h> #include <stdio.h> /* 接口数据结构: 表示cui插件的一般信息 */ struct acui_information IPAC_cui_information = { NULL, /* copyright */ NULL, /* system */ _T(".PAK .WST"), /* package */ _T("1.0.3"), /* revision */ _T("痴汉公贼"), /* author */ _T("2009-3-29 23:09"), /* date */ NULL, /* notion */ ACUI_ATTRIBUTE_LEVEL_UNSTABLE }; /* 所有的封包特定的数据结构都要放在这个#pragma段里 */ #pragma pack (1) typedef struct { s8 magic[4]; /* "IPAC" */ u16 index_entries; u16 unknown; } PAK_header_t; typedef struct { s8 name[32]; u32 unknown; u32 offset; u32 length; } PAK_entry_t; typedef struct { s8 magic[4]; /* "IEL1" */ u32 length; } iel1_header_t; /* 20 bytes header 1024 bytes palette width * height * 3 dib data width * height alpha */ typedef struct { s8 magic[4]; /* "IES2" */ u32 unknown; /* "IES2" */ u32 width; u32 height; u32 bits_count; u32 reserved[3]; } ies2_header_t; struct key { s32 low; s32 high; }; typedef struct { s8 magic[4]; /* "WST2" */ u32 reserved[2]; u16 adpcm_fmt_parameter[14]; } wst_header_t; #pragma pack () static void *my_malloc(DWORD len) { return malloc(len); } static inline unsigned char getbit_le(unsigned char byte, unsigned int pos) { return !!(byte & (1 << pos)); } static DWORD lzss_decompress(unsigned char *uncompr, DWORD uncomprlen, unsigned char *compr, DWORD comprlen) { unsigned int act_uncomprlen = 0; /* compr中的当前字节中的下一个扫描位的位置 */ unsigned int curbit = 0; /* compr中的当前扫描字节 */ unsigned int curbyte = 0; unsigned int nCurWindowByte = 0xfee; unsigned int win_size = 4096; BYTE win[4096]; memset(win, ' ', nCurWindowByte); while (1) { /* 如果为0, 表示接下来的1个字节原样输出 */ BYTE flag; if (curbyte >= comprlen) break; flag = compr[curbyte++]; for (curbit = 0; curbit < 8; curbit++) { if (getbit_le(flag, curbit)) { unsigned char data; if (curbyte >= comprlen) goto out; if (act_uncomprlen >= uncomprlen) goto out; data = compr[curbyte++]; uncompr[act_uncomprlen++] = data; /* 输出的1字节放入滑动窗口 */ win[nCurWindowByte++] = data; nCurWindowByte &= win_size - 1; } else { unsigned int copy_bytes, win_offset; unsigned int i; if (curbyte >= comprlen) goto out; win_offset = compr[curbyte++]; if (curbyte >= comprlen) goto out; copy_bytes = compr[curbyte++]; win_offset |= (copy_bytes >> 4) << 8; copy_bytes &= 0x0f; copy_bytes += 3; for (i = 0; i < copy_bytes; i++) { unsigned char data; if (act_uncomprlen >= uncomprlen) goto out; data = win[(win_offset + i) & (win_size - 1)]; uncompr[act_uncomprlen++] = data; /* 输出的1字节放入滑动窗口 */ win[nCurWindowByte++] = data; nCurWindowByte &= win_size - 1; } } } } out: return act_uncomprlen; } static int ipac_decompress_iel1(iel1_header_t *iel1, DWORD iel1_len, BYTE **ret_buf, DWORD *ret_len) { BYTE *uncompr, *compr; DWORD uncomprLen, comprLen, actlen; uncomprLen = iel1->length; uncompr = (BYTE *)malloc(uncomprLen); if (!uncompr) return -1; compr = (BYTE *)(iel1 + 1); comprLen = iel1_len - sizeof(*iel1); actlen = lzss_decompress(uncompr, uncomprLen, compr, comprLen); if (actlen != uncomprLen) { free(uncompr); return -1; } *ret_buf = uncompr; *ret_len = actlen; return 0; } /********************* WST *********************/ /* 封包匹配回调函数 */ static int IPAC_WST_match(struct package *pkg) { s8 magic[4]; if (pkg->pio->open(pkg, IO_READONLY)) return -CUI_EOPEN; if (pkg->pio->read(pkg, magic, sizeof(magic))) { pkg->pio->close(pkg); return -CUI_EREAD; } if (memcmp(magic, "WST2", 4)) { pkg->pio->close(pkg); return -CUI_EMATCH; } return 0; } /* 封包资源提取函数 */ static int IPAC_WST_extract_resource(struct package *pkg, struct package_resource *pkg_res) { BYTE *wst_buf; u32 wst_buf_len; if (pkg->pio->seek(pkg, 0, IO_SEEK_SET)) return -CUI_ESEEK; if (pkg->pio->length_of(pkg, &wst_buf_len)) return -CUI_ELEN; wst_buf = (BYTE *)malloc(wst_buf_len); if (!wst_buf) return -CUI_EMEM; if (pkg->pio->read(pkg, wst_buf, wst_buf_len)) { free(wst_buf); return -CUI_EREAD; } pkg_res->raw_data = wst_buf; pkg_res->raw_data_length = wst_buf_len; return 0; } /* 资源保存函数 */ static int IPAC_WST_save_resource(struct resource *res, struct package_resource *pkg_res) { WAVEFORMATEX wav_header; DWORD riff_chunk_len, fmt_chunk_len, data_chunk_len; char *riff = "RIFF"; char *id = "WAVE"; char *fmt_chunk_id = "fmt "; char *data_chunk_id = "data"; char *hack_info = "Hacked By 痴汉公贼"; WORD adpcm_para[16]; BYTE *data_chunk; wst_header_t *wst2; BYTE *wst_buf = (BYTE *)pkg_res->raw_data; DWORD wst_buf_len = pkg_res->raw_data_length; if (res->rio->create(res)) return -CUI_ECREATE; wst2 = (wst_header_t *)wst_buf; /* 这个应该是还原为ADCM以后的结果 */ /* 00441E00 01 00 02 00 44 AC 00 00 10 B1 02 00 04 00 10 00 ....D?..?..... */ wav_header.wFormatTag = 2; /* ADPCM */ wav_header.nChannels = 2; wav_header.nSamplesPerSec = 0xac44; wav_header.nAvgBytesPerSec = 0xac44; /* ADPCM是4:1压缩,因此ac44的4倍就是0x2b110了 */ wav_header.nBlockAlign = 0x800; wav_header.wBitsPerSample = 4; wav_header.cbSize = 32; adpcm_para[0] = 0x07f4; adpcm_para[1] = 0x0007; memcpy(&adpcm_para[2], wst2->adpcm_fmt_parameter, sizeof(wst2->adpcm_fmt_parameter)); data_chunk = (BYTE *)(wst2 + 1); data_chunk_len = wst_buf_len - sizeof(*wst2); data_chunk_len &= ~(wav_header.nBlockAlign - 1); fmt_chunk_len = 16 + 2 + wav_header.cbSize; riff_chunk_len = 4 + (8 + fmt_chunk_len) + (8 + data_chunk_len); if (res->rio->write(res, (char *)riff, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, &riff_chunk_len, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, id, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, fmt_chunk_id, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, &fmt_chunk_len, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, &wav_header, sizeof(wav_header))) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, adpcm_para, sizeof(adpcm_para))) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, data_chunk_id, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, &data_chunk_len, 4)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, data_chunk, data_chunk_len)) { res->rio->close(res); return -CUI_EWRITE; } if (res->rio->write(res, hack_info, strlen(hack_info))) { res->rio->close(res); return -CUI_EWRITE; } res->rio->close(res); return 0; } /* 封包资源释放函数 */ static void IPAC_WST_release_resource(struct package *pkg, struct package_resource *pkg_res) { if (pkg_res->raw_data) { free(pkg_res->raw_data); pkg_res->raw_data = NULL; } } /* 封包卸载函数 */ static void IPAC_WST_release(struct package *pkg, struct package_directory *pkg_dir) { pkg->pio->close(pkg); } /* 封包处理回调函数集合 */ static cui_ext_operation IPAC_WST_operation = { IPAC_WST_match, /* match */ NULL, /* extract_directory */ NULL, /* parse_resource_info */ IPAC_WST_extract_resource, /* extract_resource */ IPAC_WST_save_resource, /* save_resource */ IPAC_WST_release_resource, /* release_resource */ IPAC_WST_release /* release */ }; /********************* PAK *********************/ /* 封包匹配回调函数 */ static int IPAC_PAK_match(struct package *pkg) { s8 magic[4]; if (pkg->pio->open(pkg, IO_READONLY)) return -CUI_EOPEN; if (pkg->pio->read(pkg, magic, sizeof(magic))) { pkg->pio->close(pkg); return -CUI_EREAD; } if (memcmp(magic, "IPAC", 4)) { pkg->pio->close(pkg); return -CUI_EMATCH; } return 0; } /* 封包索引目录提取函数 */ static int IPAC_PAK_extract_directory(struct package *pkg, struct package_directory *pkg_dir) { PAK_header_t PAK_header; PAK_entry_t *index_buffer; unsigned int index_buffer_length; if (pkg->pio->seek(pkg, 0, IO_SEEK_SET)) return -CUI_ESEEK; if (pkg->pio->read(pkg, &PAK_header, sizeof(PAK_header))) return -CUI_EREAD; pkg_dir->index_entries = PAK_header.index_entries; index_buffer_length = pkg_dir->index_entries * sizeof(PAK_entry_t); index_buffer = (PAK_entry_t *)malloc(index_buffer_length); if (!index_buffer) return -CUI_EMEM; if (pkg->pio->read(pkg, index_buffer, index_buffer_length)) { free(index_buffer); return -CUI_EREAD; } pkg_dir->directory = index_buffer; pkg_dir->directory_length = index_buffer_length; pkg_dir->index_entry_length = sizeof(PAK_entry_t); return 0; } /* 封包索引项解析函数 */ static int IPAC_PAK_parse_resource_info(struct package *pkg, struct package_resource *pkg_res) { PAK_entry_t *PAK_entry; PAK_entry = (PAK_entry_t *)pkg_res->actual_index_entry; strcpy(pkg_res->name, PAK_entry->name); pkg_res->name_length = -1; /* -1表示名称以NULL结尾 */ pkg_res->raw_data_length = PAK_entry->length; pkg_res->actual_data_length = 0; /* 数据都是明文 */ pkg_res->offset = PAK_entry->offset; return 0; } /* 封包资源提取函数 */ static int IPAC_PAK_extract_resource(struct package *pkg, struct package_resource *pkg_res) { BYTE *compr, *uncompr, *actbuf; DWORD uncomprlen, comprlen, actlen; comprlen = pkg_res->raw_data_length; compr = (BYTE *)malloc(comprlen); if (!compr) return -CUI_EMEM; if (pkg->pio->readvec(pkg, compr, comprlen, pkg_res->offset, IO_SEEK_SET)) { free(compr); return -CUI_EREADVEC; } if (pkg_res->flags & PKG_RES_FLAG_RAW) { pkg_res->raw_data = compr; return 0; } if (!memcmp(compr, "IEL1", 4)) { if (ipac_decompress_iel1((iel1_header_t *)compr, comprlen, &uncompr, &uncomprlen)) { free(compr); return -CUI_EUNCOMPR; } free(compr); compr = NULL; actbuf = uncompr; actlen = uncomprlen; } else { uncompr = NULL; uncomprlen = 0; actbuf = compr; actlen = comprlen; } if (!memcmp(actbuf, "IES2", 4)) { ies2_header_t *ies2 = (ies2_header_t *)actbuf; BYTE *save_buf; DWORD save_len; if (ies2->bits_count == 24) { BYTE *rgba; actlen = ies2->width * ies2->height * 4; rgba = (BYTE *)malloc(actlen); if (!rgba) { free(actbuf); free(compr); return -CUI_EMEM; } BYTE *rgb = actbuf + 0x420; BYTE *p_alpha = rgb + ies2->width * ies2->height * 3; BYTE *p_rgba = rgba; for (unsigned int y = 0; y < ies2->height; y++) { for (unsigned int x = 0; x < ies2->width; x++) { BYTE alpha = *p_alpha++; p_rgba[0] = (rgb[0] * alpha + 0xff * ~alpha) / 255; p_rgba[1] = (rgb[1] * alpha + 0xff * ~alpha) / 255; p_rgba[2] = (rgb[2] * alpha + 0xff * ~alpha) / 255; p_rgba[3] = alpha; rgb += 3; p_rgba += 4; } } if (MyBuildBMPFile(rgba, actlen, NULL, 0, ies2->width, 0 - ies2->height, 32, &save_buf, &save_len, my_malloc)) { free(rgba); free(actbuf); free(compr); return -CUI_EMEM; } free(rgba); } else { if (MyBuildBMPFile(actbuf + 0x420, actlen - 0x420, (BYTE *)(ies2 + 1), 0x400, ies2->width, 0 - ies2->height, ies2->bits_count, &save_buf, &save_len, my_malloc)) { free(actbuf); free(compr); return -CUI_EMEM; } } free(actbuf); uncompr = save_buf; uncomprlen = save_len; pkg_res->replace_extension = _T(".IES2.bmp"); pkg_res->flags |= PKG_RES_FLAG_REEXT; // } else if (!lstrcmpi(pkg->extension, _T(".IES"))) { } else if (strstr(pkg_res->name, ".IES")) { BYTE *save_buf; DWORD save_len; #if 0 // if (MyBuildBMPFile(actbuf + 0x420, actlen - 0x420, actbuf + 0x20, 0x400, *(DWORD *)actbuf, if (MyBuildBMPFile(actbuf + 0x414, actlen - 0x414, NULL, 0, *(DWORD *)actbuf, 0 - *(DWORD *)(actbuf + 4), *(DWORD *)(actbuf + 8), &save_buf, &save_len, my_malloc)) { free(actbuf); return -CUI_EMEM; } #else if (!memcmp(actbuf, "BM", 2)) { pkg_res->raw_data = compr; pkg_res->raw_data_length = comprlen; pkg_res->actual_data = actbuf; pkg_res->actual_data_length = actlen; return 0; } else if (*(DWORD *)(actbuf + 8) == 24) { DWORD width = *(DWORD *)actbuf; DWORD height = *(DWORD *)(actbuf + 4); BYTE *rgba; actlen = width * height * 4; rgba = (BYTE *)malloc(actlen); if (!rgba) { free(actbuf); free(compr); return -CUI_EMEM; } BYTE *rgb = actbuf + 0x414; BYTE *p_alpha = rgb + width * height * 3; BYTE *p_rgba = rgba; for (unsigned int y = 0; y < height; y++) { for (unsigned int x = 0; x < width; x++) { BYTE alpha = *p_alpha++; p_rgba[0] = (rgb[0] * alpha + 0xff * ~alpha) / 255; p_rgba[1] = (rgb[1] * alpha + 0xff * ~alpha) / 255; p_rgba[2] = (rgb[2] * alpha + 0xff * ~alpha) / 255; p_rgba[3] = alpha; rgb += 3; p_rgba += 4; } } if (MyBuildBMPFile(rgba, actlen, NULL, 0, width, 0 - height, 32, &save_buf, &save_len, my_malloc)) { free(rgba); free(actbuf); free(compr); return -CUI_EMEM; } free(rgba); } else { if (MyBuildBMPFile(actbuf + 0x414, actlen - 0x414, NULL, 0, *(DWORD *)actbuf, 0 - *(DWORD *)(actbuf + 4), *(DWORD *)(actbuf + 8), &save_buf, &save_len, my_malloc)) { free(actbuf); free(compr); return -CUI_EMEM; } } #endif free(actbuf); uncompr = save_buf; uncomprlen = save_len; pkg_res->replace_extension = _T(".IES.bmp"); pkg_res->flags |= PKG_RES_FLAG_REEXT; } pkg_res->raw_data = compr; pkg_res->raw_data_length = comprlen; pkg_res->actual_data = uncompr; pkg_res->actual_data_length = uncomprlen; return 0; } /* 资源保存函数 */ static int IPAC_PAK_save_resource(struct resource *res, struct package_resource *pkg_res) { if (res->rio->create(res)) return -CUI_ECREATE; if (pkg_res->actual_data && pkg_res->actual_data_length) { if (res->rio->write(res, pkg_res->actual_data, pkg_res->actual_data_length)) { res->rio->close(res); return -CUI_EWRITE; } } else if (pkg_res->raw_data && pkg_res->raw_data_length) { if (res->rio->write(res, pkg_res->raw_data, pkg_res->raw_data_length)) { res->rio->close(res); return -CUI_EWRITE; } } res->rio->close(res); return 0; } /* 封包资源释放函数 */ static void IPAC_PAK_release_resource(struct package *pkg, struct package_resource *pkg_res) { if (pkg_res->actual_data) { free(pkg_res->actual_data); pkg_res->actual_data = NULL; } if (pkg_res->raw_data) { free(pkg_res->raw_data); pkg_res->raw_data = NULL; } } /* 封包卸载函数 */ static void IPAC_PAK_release(struct package *pkg, struct package_directory *pkg_dir) { if (pkg_dir->directory) { free(pkg_dir->directory); pkg_dir->directory = NULL; } pkg->pio->close(pkg); } /* 封包处理回调函数集合 */ static cui_ext_operation IPAC_PAK_operation = { IPAC_PAK_match, /* match */ IPAC_PAK_extract_directory, /* extract_directory */ IPAC_PAK_parse_resource_info, /* parse_resource_info */ IPAC_PAK_extract_resource, /* extract_resource */ IPAC_PAK_save_resource, /* save_resource */ IPAC_PAK_release_resource, /* release_resource */ IPAC_PAK_release /* release */ }; /* 接口函数: 向cui_core注册支持的封包类型 */ int CALLBACK IPAC_register_cui(struct cui_register_callback *callback) { /* 注册cui插件支持的扩展名、资源放入扩展名、处理回调函数和封包属性 */ if (callback->add_extension(callback->cui, _T(".PAK"), NULL, NULL, &IPAC_PAK_operation, CUI_EXT_FLAG_PKG | CUI_EXT_FLAG_DIR)) return -1; if (callback->add_extension(callback->cui, _T(".WST"), _T(".wav"), NULL, &IPAC_WST_operation, CUI_EXT_FLAG_PKG)) return -1; return 0; } For starters, If anyone happens to have a copy of Filepack32.exe please re-upload it to someplace. Edit: I got adpack32 to work, and it doesn't support this specific type of PAK. I'm really lost now. If anyone has suggestions or tips I would appreciate it greatly, these PAK and Noa archives have been driving me crazy for a few days now.
  2. Hello, I've recently started to translate Toradora! Portable in French ( https://forums.fuwanovel.net/topic/22082-recruiting-toradora-portable-french-translation/ ) and I need to know how to pack the .so files of the translation into the game. The only thing we found is this compiler on Github : https://github.com/xyzz/taiga-aisaka but we don't have any idea on how to use it ! If someone does please contact me on Discord : 123321mario#1337 or on this forum ! If you know something else on this game that can help us, please let us know !
  3. So after some time, I was able to extract WAR files from the Visual Novel I am interested in, and I was wondering if anyone knew how to extract the S25 files and OGV files. Not only does Google not know what these file types are, I don't know what they are, and no leads on this matter. Would really greatly appreciate it if someone can give me some information on this. Thank you! Edit: The game is Gensou no Idea ~Oratorio Phantasm Historia~ And after some research and thanks from Moogy from tlwiki, I was able to find out the S25 and OGV files aren't meant to be extracted but decompiled. So if my understandings are correct, the s25 and ogv files are; BGs, voices, CGs, characters, and script files, etc just in the form of s25 and ogv. tl;dr: if anyone knows how to decompile or view s25 and ogv files, or has a tool for it, it would be very much appreciated if you can help me. Thank you Ame for letting me know to include the game title!
  4. Hello, I'm trying to make a patch of a game called Hatsukare Ecchi, but for some reason, I can't seem to make a patch it will read. When I use any programme other than KrkrExtract it ignores the file, but when I do use it, I get this error: What should I do? Any help is appreciated, thank you! (Sorry if the answer is somewhere on here, I tried looking it up and couldn't find anything. ^^;;)
  5. First off, I'm new to this forum, but i can't seem to solve my problems so I'm desperately making an account to try and solve all this. i apologize if i posted in the wrong forum. I'm attempting to translate "Torikago no Marriage" also known as Birdcage Marriage or 鳥籠のマリアージュ. The game was developed by Kalmia8. is listed to use the KiriKiri2 engine. VNDB page: https://vndb.org/v13849 First off: I am translating the .png images i have extracted from the game's data.xp3 with a nekopara bms script (http://aluigi.altervista.org/papers/bms/others/nekopara.bms), krkrextract is an absolute nightmare to work with and this script worked just fine. all the images extract as png. no fancy files to work with. but when repacking (i have tried this with krkrextract, it worked that one time, as well as the old xp3-tools) i thought xp3-tools didn't work due to how old it was, so i tried krkrextract and...? hooray! the same error. something about startup.tjs not being found. and who would have known...? there isn't a startup.tjs in data.xp3, neither is it anywhere else. Second off: People say that all the text is stored in scenario.xp3 with all the ks files... well guess what? this game doesn't even have a scenario.xp3! not even a single one of the files in any xp3 for the game has a damn ks file. and this is the same case for "Kami-sama nante yondenai!" which is also a game by Kalmia8, however, Fashioning Little Miss Lonesome, a game which was actually localized, did have all the files i'm missing. good to note that the games still ran with scripts so they are somewhere Third off: I heard that the missing tjs file error can be solved by removing the checks for the files, which could ultimately solve my problem regarding the missing non-existent file. but it involves editing a ks file. guess who doesn't have the ks file? other things to note, when the .xp3.sig files for the xp3 files are removed from the folder (as well as the tpm, which i heard was part of the protection), the game still runs. nothing stopped the game from running until i removed the original data.xp3 which didn't prompt an error for startup.tjs, only my modified data.xp3 prompted the error to show. I tried listing as much information as I can about the problem. I really hope someone can come over to this post and bless me with some help. this is driving me insane.
  6. Hi guys! newbie here. Please correct me if i did something wrong with this post. But I need help and guide. I want to port P/A Potential Ability to Ren'py so I can play it to Android and especially at the same time practicing Ren'py or Visual Novel in general. I extracted all data needed but my problem is I can't get the CG's because they are in .rct format while the sprites in .tga but a black silhouette. Also if someone can translate the scripts in the scenarios. It will be a great help and greatfully thanked the person. I'm learning Japanese but it is still poor it maybe can cause of an accurate translations. And also I'm planning to port most of Sei Shoujo games. PLEASE HELP ME! >.<
  7. I am part of a group of translation that has taken Sakura Hatsuyuki translation into Spanish. Recently, a user of this forum helped to provide us with the necessary tool to encrypt and decrypt the scripts. But we've run into a problem, Siglusengine supports the maximum number of 168 (56 * 3) characters for dialogue and 174 (58 * 3) characters for the story. We have tried in various ways, but came to the conclusion that the script only serves to insert the text of each line in place on the * .SS. It does not allow us to add lines or change commands. Every time we spent the maximum number of characters, the program issues a warning of "message overflow" (in Japanese), automatically separating it into two dialogues. The error looks like this: We need some way to be able to add new lines since the translation is extensive, and there are fundamental parts (of history) where you can not summarize. As an option, we need to know if there is any way to stop firing siglusengine warning. That would be enough. We would be grateful if someone could help with this problem. First of all, Thanks.
  8. Somebody could help me? I'm looking for a tool to repackage .pak files from the novel visual "discipline" The only tool I found is no longer available due to rapidshare closing (FILEPACK32.exe)
  9. Hi, my name is Gezoz and before this account I was an avid lurker within this forum. Now I want to do something than lurking. I've started to try and translate "Tsujidou-san no Virgin Road" since I enjoy what Minato carnival/Minato soft makes. Anyways onto the problem I was having, I was attempting to replace the menu buttons with the English ones by extracting all arc files, (arc0.dat, arc1.dat, arc2.dat, arc3.dat). I used asmodean's exwhaledat_v2 progam to extract all of them and used arc_unpacker to convert the TLG files into PNG files. After I was done with the PNG files I converted them back into TLG using krkrtpc.exe. From there I placed the TLG files back into the sys folder where they came from and attempted to pack the folders back into the ".dat" file format with rr-'s whale-tools. This is where I got stuck because I was able to pack one folder at a time but I didn't know how to pack all the folders back into ".dat". I don't know much about coding or hacking so this was the best I could do. Soon I will put up a recruitment topic in the Translation sub-topic for Translation and other things, but for now I want to know how to repack it so I can test out if the menu will work. Thank you for reading and any help would be very much appreciated.
  10. Yo~~ Fuwanovel people. Does anyone know how this tool works? Until now I was working with this other one. But then, a video is better ... ( originally the images have to be interchanged ) proof that I have the approval of the team to translate this vn into Spanish.
  11. vndb link Data extraction thread and Script Extraction Thread does not help at all. I do not understand why those threads were pinned. If anyone can help, it would be appreciated. The main archive is data.dat, so I assume the scripts are within that archive.
  12. There doesn't seem to be a kirikiri2 option in ITH, so i went for kirikiri1... but there was nothing being clipboarded. The others only clipboard broken parts of the line from the original VN. Has anything like this happen to anyone before? #ReadingWithFurigana
  13. Hi, so, using Wayback machine and downloading source code of both ONScripter-EN and PONScripter (from Uncle Mion site) I tried compiling them with no result. I'm on Windows, I first tried with Visual Studio, but it didn't work (SDL.h missing) and then with MinWG (g++ -o onscripter onscripter.ccp) but there was the same error (missing SDL.h). I tried putting SDL.h and all the files that the error sign said, but well there was no improvement. I even tried with the original ONScripter, but the error remained. How should I compile it? And, if there is no way to compile it, as last resort, how could I edit the exe with an hex editor? I read about someone who did it. Thanks for all the help.
  14. Hey guys, im trying to translate the game Kono Oozora ni, Tsubasa wo Hirogete but obviously got some problems with it. So, here's what i've already done : 1. I've extracted RIO.arc and got files i needed (there were 161 files) 2. Then i used a special japanese tool that decrypts and converts files to .txt and i noticed only 100 of them , why's that?? Where are the rest of them? And how to make the game read changed files? For example i've finished the translation but these .txt file should become .ws2 back. Also , how do I make the game change the font so the text in the game can be cyrillic? Will be grateful for your help!!
  15. I'm currently working on translating a mid-2000's eroge that was built on the kirikiri (KAG3) engine. The translation has actually been going well, with almost no problems getting the word wrapping, system file tweaks, and other minor adjustments taken care of, so I'm not in need of assistance for those items. My current problem lies more on the extra curricular side of this project. Roughly a year after the eroge was released, the creator released several flash minigames associated with the VN as a separate bundle altogether. As such, I thought it would be fun to port them into the main VN, and have them selectable from the main menu. There is some precedent for this, as the game already makes use of .swf files for cutscenes, CG viewing, and the saving menu. Decompiling the .swf files and translating them has been relatively easy, and I've successfully integrated them to the extent that the minigames can be opened and closed within the VN itself. However, for whatever reason, keystrokes will not register correctly when the .swf is loaded through the VN. Mouse clicking and the general operations of the flash file still work smoothly, but keyboard characters are only recognized if typed a split second after clicking the mouse (otherwise, this leads to the flash file acting like nothing was typed at all). So in order to use the keyboard for progressing through the .swf, I have to rapidly tap my mouse clicker for my typing to register. The flash file works correctly as a standalone .swf, so I can only assume there's some setting within kirikiri that is causing this issue. It doesn't help that documentation on using flash with the engine is severely lacking, as the developers of the engine only note that keyboard problems with flash may occur. I figured it wouldn't hurt to look for someone with experience in the engine, to see whether this side project to the translation is a pointless endeavor, or feasible with further tweaking.
  16. Hello everyone! I want to do translation of Nekopara Nintendo Switch Edition, so i need some help. Game archives are like "_info.psb.m" and "_body.bin" format. I managed to extract them with exm2lib, but i have one problem now. Is there any way to pack them back to "_info.psb.m" and "_body.bin" format? I can't load them without this. Please someone help me.
  17. Hello everyone, I am very new to Visual Novel Reader but there is a visual novel I have wanted to play for years and I finally got my hands on a copy. I know there are plenty of others out there who would enjoy it as well and so, seeing as I'm consulting my Japanese dictionary every two seconds anyway, I thought I'd use the 'subtitle' feature in VNR to translate it for people. However I'm not sure how to get it to work properly. Everything is working fine up until the first choice, then it's like the text forgets it needs to branch out and either doesn't appear, or appears at the wrong place. Am I doing something wrong? And is it easier to do the translation via VNR's soft subs? Or would making an entire English patch be better? But I'm very new and not technical at all so while I could do the translation, I have no idea where to even begin with patching it and making sure everything goes in the right place. Please help! :3 animeXalchemist
  18. Hey! I'm looking to extract basically everything from Sakura no Uta (script/assets/UI stuff) and I'm running into some trouble. The two main problems I'm running into are (a) ExtractData is telling me that the .arc files don't exist and (b) I have straight-up no idea what I'm doing. Would anyone mind giving me some pointers?
  19. Is anybody still have Genrin no Kishougun 2 eng patch by nekohen ? Im sick to death, can't find it anywhere .... If you can told or give me link, ill be great of help ....
  20. Hello everyone, I am new to the forum and I would like you to help me with something. I need help to repackage the 'scr.pak' file from the game 'Kyonyuu Fantasy'. I managed to unpack the file and extract the scripts of the dialogs with GARbro, but I would like to re-package it to test the progress. Do I need a special program or something? I thank you in advance.
  21. I'm trying to extract the script for this VN that I'm playing right now, but I can't decrypt the files. It uses YU-RIS engine (I'm pretty sure) and I've been able to extract the .ypn files from the .yps, but when I try opening the .ypn files, they are completely encrypted. Please help me. Link: https://goo.gl/txDkFQ P.S. If you could, please teach me how to extract it too.
  22. Hey, guys, okay? I wanted some help on how I can extract the text from this Arch04.dat file. The Archive is 5.56Mb and I think it has only text (I suppose). I used software that I found on the net (Believe me, I tried with several but only this one returned a result) and I was able to extract it. WDextractor result I found this strange amount of .txt files, I think something obviously did not work out. The .txt files are 'perforated'. And outside those .txt has that .psb in the end. .Txt does not have an entire dialog line, and it looks like the software loops creating a .txt on each loop and deleting a letter. Well whatever, this is not right. Hex images Arch04.dat File (Original) Arc04 File 245042.psb (Extracted from Arch04.dat) Any help would be very good. sorry my english. (>﹏<) thanks
  23. I'm trying to repack this into a VN to make an english patch to this game, but I've never worked with this file format before. I'm only familiar with .xp3 file formats. Inside of each of these "root.pfs" files are the usual scenario/sound/system etc files. This is what the files are labeled as. "root.pfs" then it's nubmered "root.pfs.000-root.pfs.005" If anyone knows how to repack this/convert this file type and could give me some help, it would be greatly appreciated.
  24. Hello, I don't know if I should write this here... Ehm, the point is... I'd like to extract Honeycomb Bingo Deluxe's and Umisen Yamasen's, both bara novels (Muscular BL), scripts but I'm unable to do so because I don't have enough knowledge. My main problem is the encryption in both of these games. Honeycomb Bingo Deluxe is a 2008 Kirikiri VN with a *.tpm encryption. Whenever I try to extract the files inside, out of 19,193 I always get around 18,500 files. This is done with: KrkrExtract, kiri_sm.exe and GARbro. Most of them are the images. KS files, a few have few lines, but I believe those are for events, rather the main files and the configuration files. Because of the year it was published, I don't think it's the new kirikiriZ engine, so I guess I'm safe from that devil (which I've read is a nuisance). But the encryption. The damn encryption it's nowhere to be found... yet. Basing myself out of this comment made by morkt in May, I believe the encryption for this game is only a filter. And although I've tried to follow his steps on to how to get there, I don't really see any patterns in the HEX viewers... Not even found the Function he talks about in the DLL, using Dependency walker... But it seems easy, or at least that's how he paints it. There's also Marcusacana's posts in LionCash's Github, he removed or at least got the hands on a clean extraction of Nekopara's script. But I haven't contacted him on how he did it. Umisen Yamasen, in the other hand, is a FamousWriter0191 VN. The SDK is lost, I couldn't find anything of it... not even the SDK or manuals... Instead, I found some extraction tools for FamousWriter0310 made by lennylxx for Handsome Academy. When I tried to use them, well, I got hit immediately by a wall. I didn't even knew which way to divide the src.fwd file. And so I asked. Which let me even further. I divided in six parts, and I was able to distinguish the offsets. And I was even able to parse out the voice file list, which got me excited! But when I had to parse the file... Well... nothing good happened. The parse.exe would hang and it'd create a bigger and bigger file. Thinking that maybe I had mistakenly compiled the .cpp, I remembered Hatoful Boyfriend was made in the same engine, and sadly (for me) the same version. So when I tried to run the parse.exe with the trial src.fwd it worked, without problems! (Or it seems, I think the scripts are aren't really complete... But I don't really know, I haven't read Hatoful or Handsome). And now, well, I can't get past this encryption either because even though I know where the scenario file starts... I don't know what's the offset, padding, encryption key, etc. And so, I made this post because I wanted some help. I wanted someone to do it, or help me do it, teach me how to... I even tried reading both of Nakamura's articles about visual novel hacking. But I couldn't really follow it, not even for the simple UmiYama VN. I got to the part of entities, but because the src.fwd file is encrypted I didn't saw anything he did, all I saw was gibberish, and got stuck. I'm still trying, but without a real sense of direction... I don't know what steps to take... That's why I want some help. Thank you for reading.
  25. I need some help to decrypt the files from this game by Dieselmine https://vndb.org/v8472#main I tried using KrKrExtract which usually works with most xp3 files I use but it just instantly closes and doesn't work, so I tried extracting it with GARbro but it still comes out encryped. Here's the xp3 file: https://mega.nz/#!VLRCVARI!DwOzxWRzY2L2Wrbnawe2OdR5tCdM9-pb2vrALwN9sy8 Here's the scenario file: https://mega.nz/#F!FSgDnbSB!_8_WQDtYp8-tU6fm8IE15g
×
×
  • Create New...