Commit 87b10240 authored by Derrick Sobodash's avatar Derrick Sobodash

Adding some lost files. Will update later to ensure everything still

works correctly.
parent 351d8549
#!/usr/bin/php -q
<?
//
// langpcdump v1.5 for PHP console mode
// (c) D 2002,2003
//
// This is a dumper for the Langrisser I PC .RES files. They are a simple
// resource format used by the game.
//
// Updates to 1.5
// Added symbols dumping to the script output. Since the Korean is still
// mangled byt he shifting table, this probably won't help you to read the
// dumps. The reason for symbol dumping is to make it easier to match
// the dumps to the Japanese scripts.
// Because of the symbol dumping, this is no longer suitable for dumping
// non-script .res files. Please use langpcresdump for this from now on.
//
echo ("\nlangpcdump v1.0 (c) D 2003\n");
set_time_limit(6000000);
if ($argc < 2) { DisplayOptions(); die; }
else { $infile = $argv[1]; }
// Classes have 1584 bytes max
$fd = fopen ("class.txt", "rb");
$fddump = fread($fd, filesize("class.txt"));
fclose($fd);
$class_out = array(""); $class_pointers = ""; $class_index = 0;
$class_arr = split("<>\r\n\r\n", $fddump); unset($fddump);
$inject_str = "";
for($i=0; $i<count($class_arr); $i++) {
$index = array_search($class_arr[$i], $class_out);
if($index === FALSE) {
$class_out[$class_index] = $class_arr[$i];
$inject_str .= $class_arr[$i] . chr(0);
$class_pointers[$i] = $class_index;
$class_index++;
}
else {
$class_pointers[$i] = $index;
}
}
//die (print strlen($inject_str));
$inject_ptr = "";
for($i=0; $i< count($class_arr) -1; $i++){
print "$i\n";
$inject_ptr .= pack("V*", strpos($inject_str, $class_arr[$i]) + 0x401000 + 0x58400);
}
$inject_str = str_pad($inject_str, 1584, chr(0), STR_PAD_RIGHT);
$fd = fopen ("langpcf3.exe", "rb");
$fddump = fread($fd, filesize("langpcf3.exe"));
fclose($fd);
$pt1 = substr($fddump, 0, 0x58400);
$pt2 = substr($fddump, 0x58e2c);
$fo = fopen("test.exe", "wb");
fputs($fo, $pt1 . $inject_str . $inject_ptr . $pt2);
fclose($fo);
// Names have 1016 bytes max
echo ("All done!...\n\n");
function DisplayOptions() {
echo ("Dumps class/character strings from the Langrisser 1 PC executable\n usage: langpcdump [input]\n\n");
}
?>
#!/usr/bin/php -q
<?
//
// langpcdump v1.5 for PHP console mode
// (c) D 2002,2003
//
// This is a dumper for the Langrisser I PC .RES files. They are a simple
// resource format used by the game.
//
// Updates to 1.5
// Added symbols dumping to the script output. Since the Korean is still
// mangled byt he shifting table, this probably won't help you to read the
// dumps. The reason for symbol dumping is to make it easier to match
// the dumps to the Japanese scripts.
// Because of the symbol dumping, this is no longer suitable for dumping
// non-script .res files. Please use langpcresdump for this from now on.
//
echo ("\nlangpcdump v1.0 (c) D 2003\n");
set_time_limit(6000000);
if ($argc < 2) { DisplayOptions(); die; }
else { $infile = $argv[1]; }
// Names have 1016 bytes max
$fd = fopen ("names.txt", "rb");
$fddump = fread($fd, filesize("names.txt"));
fclose($fd);
$names_out = array(""); $names_pointers = ""; $names_index = 0;
$names_arr = split("<>\r\n\r\n", $fddump); unset($fddump);
$inject_str = "";
for($i=0; $i<count($names_arr); $i++) {
$index = array_search($names_arr[$i], $names_out);
if($index === FALSE) {
$names_out[$names_index] = $names_arr[$i];
$inject_str .= $names_arr[$i] . chr(0);
$names_pointers[$i] = $names_index;
$names_index++;
}
else {
$names_pointers[$i] = $index;
}
}
//die (print strlen($inject_str));
$inject_ptr = chr(0x38) . chr(0x5f) . chr(0x49) . chr(0x0);
for($i=0; $i< count($names_arr) -1; $i++){
print "$i\n";
$inject_ptr .= pack("V*", strpos($inject_str, $names_arr[$i]) + 0x401000 + 0x58e30);
}
$inject_str = str_pad($inject_str, 1016, chr(0), STR_PAD_RIGHT);
$fd = fopen ("test.exe", "rb");
$fddump = fread($fd, filesize("test.exe"));
fclose($fd);
$pt1 = substr($fddump, 0, 0x58e30);
$pt2 = substr($fddump, 0x59538);
$fo = fopen("test2.exe", "wb");
fputs($fo, $pt1 . $inject_str . $inject_ptr . $pt2);
fclose($fo);
// Names have 1016 bytes max
echo ("All done!...\n\n");
function DisplayOptions() {
echo ("Dumps class/character strings from the Langrisser 1 PC executable\n usage: langpcdump [input]\n\n");
}
?>
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
#!/usr/bin/php -q
<?
//
// langpcdump v1.5 for PHP console mode
// (c) D 2002,2003
//
// This is a dumper for the Langrisser I PC .RES files. They are a simple
// resource format used by the game.
//
// Updates to 1.5
// Added symbols dumping to the script output. Since the Korean is still
// mangled byt he shifting table, this probably won't help you to read the
// dumps. The reason for symbol dumping is to make it easier to match
// the dumps to the Japanese scripts.
// Because of the symbol dumping, this is no longer suitable for dumping
// non-script .res files. Please use langpcresdump for this from now on.
//
echo ("\nlangpcdump v1.0 (c) D 2003\n");
set_time_limit(6000000);
if ($argc < 2) { DisplayOptions(); die; }
else { $infile = $argv[1]; }
$fd = fopen ($infile, "rb");
//Begin Character Class pointers
print "Reading in pointers...\n";
fseek($fd, 0x58a30, SEEK_SET);
$k=0;
for($i=0; $i<255; $i++) {
$index[$k] = hexdec(bin2hex(strrev(fread($fd, 4)))) - 0x401000;
$k++;
}
print "Dumping strings...\n";
for($i=0; $i<count($index); $i++) {
fseek($fd, $index[$i], SEEK_SET);
$string[$i] = "";
$charchar = fread($fd, 1);
while($charchar != chr(0)) {
$string[$i] .= $charchar;
$charchar = fread($fd, 1);
}
}
$output = "";
for($i=0; $i<count($string); $i++) {
$output .= $string[$i] . "<>\r\n\r\n";
}
print "Writing class.txt...\n";
$fo = fopen("class.txt", "wb");
fputs($fo, $output);
fclose($fo);
// End Character Class pointers
unset($index, $output, $k, $charchar, $string, $i);
// Begin Character Name pointers
print "Reading in pointers...\n";
fseek($fd, 0x5922C, SEEK_SET);
$k=0;
for($i=0; $i<195; $i++) {
$index[$k] = hexdec(bin2hex(strrev(fread($fd, 4)))) - 0x401000;
$k++;
}
print "Dumping strings...\n";
for($i=0; $i<count($index); $i++) {
print " String $i...\n";
fseek($fd, $index[$i], SEEK_SET);
$string[$i] = "";
$charchar = fread($fd, 1);
while($charchar != chr(0)) {
$string[$i] .= $charchar;
$charchar = fread($fd, 1);
}
}
$output = "";
for($i=0; $i<count($string); $i++) {
$output .= $string[$i] . "<>\r\n\r\n";
}
print "Writing names.txt...\n";
$fo = fopen("names.txt", "wb");
fputs($fo, $output);
fclose($fo);
// End Character Name pointers
echo ("All done!...\n\n");
function DisplayOptions() {
echo ("Dumps class/character strings from the Langrisser 1 PC executable\n usage: langpcdump [input]\n\n");
}
?>
File mode changed from 100755 to 100644
<?
mkdir("maps");
for($sc=1; $sc<108; $sc++) {
$csc = str_pad($sc, 2, "0", STR_PAD_LEFT);
//$maptiles = imagecreatefrompng("resmap\ST".$csc.".png");
$maptiles = imagecreatefrompng("resmap\CELL".$csc.".png");
$fd = fopen("resmap\LAND".$csc.".HF", "rb");
$width = hexdec(bin2hex(strrev(fread($fd, 4))));
$height = hexdec(bin2hex(strrev(fread($fd, 4))));
fseek($fd, 0x10, SEEK_SET);
$scenario = imagecreate($width*48, $height*48);
$tiles = $width * $height;
$dst_row = 0; $dst_col = 0;
for($i=0; $i<$tiles; $i++) {
//Get a tile byte
$temp = bin2hex(fread($fd, 1));
//Split this to nibbles, it's time to play Battleship(tm)
$row = hexdec($temp[0]); $col = hexdec($temp[1]);
//Grab a 48x48 square from the source map and plug it into our new image
imagecopy($scenario, $maptiles, $dst_col*48, $dst_row*48, $col*48, $row*48, 48, 48);
if(($dst_col+1)%$width==0) {
$dst_row++; $dst_col=0;
}
else $dst_col++;
}
fclose($fd);
imagepng($scenario, "maps\scenario".$csc.".png");
}
?>
\ No newline at end of file
;NSIS Modern User Interface version 1.63
;Langrisser I Installer Script
!define MUI_PRODUCT "Langrisser I" ;Define your own software name here
!define MUI_VERSION "1.0en" ;Define your own software version here
!include "MUI.nsh"
;--------------------------------
;Configuration
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES\SoftAction\${MUI_PRODUCT}"
InstallDirRegKey HKCU "Software\SoftAction\${MUI_PRODUCT}" ""
;Remember the Start Menu Folder
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!define TEMP $R0
;--------------------------------
;Modern UI Configuration
!define MUI_ICON "${NSISDIR}\Contrib\Icons\setup.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Icons\normal-uninstall.ico"
!define MUI_WELCOMEPAGE
!define MUI_SPECIALBITMAP "${NSISDIR}\Contrib\Icons\modern-wizard langrisser.bmp"
!define MUI_LICENSEPAGE
!define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header langrisser.bmp"
; !define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
!define MUI_STARTMENUPAGE
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_RUN "$INSTDIR\langpc.exe"
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Language Strings
;Description
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Install Langrisser I."
;--------------------------------
;Data
LicenseData "${NSISDIR}\Contrib\Modern UI\License - Langrisser.txt"
;--------------------------------
;Installer Sections
Section "Setup.exe" SecCopyUI
SetOutPath "$INSTDIR"
File "C:\Translations\l1pc\SoftAction\Langrisser I\FACE.RES"
File "C:\Translations\l1pc\SoftAction\Langrisser I\SCENDAT.RES"
File "C:\Translations\l1pc\SoftAction\Langrisser I\SPR.RES"
File "C:\Translations\l1pc\SoftAction\Langrisser I\tdat.res"
File "C:\Translations\l1pc\SoftAction\Langrisser I\save00.dat"
File "C:\Translations\l1pc\SoftAction\Langrisser I\save01.dat"
File "C:\Translations\l1pc\SoftAction\Langrisser I\save02.dat"
File "C:\Translations\l1pc\SoftAction\Langrisser I\save03.dat"
File "C:\Translations\l1pc\SoftAction\Langrisser I\staff.mes"
File "C:\Translations\l1pc\SoftAction\Langrisser I\langpc.exe"
File "C:\Translations\l1pc\SoftAction\Langrisser I\manual.pdf"
SetOutPath "$INSTDIR\resfs"
File "C:\Translations\l1pc\SoftAction\Langrisser I\resfs\SHOP.pct"
SetOutPath "$WINDIR\Fonts"
File "C:\Translations\l1pc\SoftAction\Langrisser I\data\LANG.FON"
SetOutPath "$INSTDIR"
;Write registry values
WriteRegStr HKCU "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\langpc.exe" "WIN98 DISABLECICERO"
fonts::registerFont "$WINDIR\Fonts\LANG.FON"
;Store install folder
WriteRegStr HKCU "Software\SoftAction\${MUI_PRODUCT}" "" $INSTDIR
!insertmacro MUI_STARTMENU_WRITE_BEGIN
;Create shortcuts
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Langrisser I.lnk" "$INSTDIR\langpc.exe"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Instruction Manual.lnk" "$INSTDIR\manual.pdf"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Release Notes.lnk" "$INSTDIR\release.txt"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
CreateShortcut "$DESKTOP\Langrisser I.lnk" $INSTDIR\langpc.exe
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;Add your stuff here
Delete "$INSTDIR\FACE.RES"
Delete "$INSTDIR\SCENDAT.RES"
Delete "$INSTDIR\SPR.RES"
Delete "$INSTDIR\tdat.res"
Delete "$INSTDIR\save00.dat"
Delete "$INSTDIR\save01.dat"
Delete "$INSTDIR\save02.dat"
Delete "$INSTDIR\save03.dat"
Delete "$INSTDIR\staff.mes"
Delete "$INSTDIR\langpc.exe"
Delete "$INSTDIR\manual.pdf"
Delete "$INSTDIR\resfs\SHOP.pct"
Delete "$WINDIR\Fonts\LANG.FON"
Delete "$INSTDIR\Uninstall.exe"
;Remove shortcut
ReadRegStr ${TEMP} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
StrCmp ${TEMP} "" noshortcuts
Delete "$SMPROGRAMS\${TEMP}\Langrisser I.lnk"
Delete "$SMPROGRAMS\${TEMP}\Instruction Manual.lnk"
Delete "$SMPROGRAMS\${TEMP}\Release Notes.lnk"
Delete "$SMPROGRAMS\${TEMP}\Uninstall.lnk"
RMDir "$SMPROGRAMS\${TEMP}" ;Only if empty, so it won't delete other shortcuts
noshortcuts:
RMDir "$INSTDIR\resfs"
RMDir "$INSTDIR\data"
RMDir "$INSTDIR"
DeleteRegValue HKCU "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\langpc.exe"
fonts::unregisterFont "$WINDIR\Fonts\LANG.FON"
DeleteRegKey /ifempty HKCU "Software\SoftAction\${MUI_PRODUCT}"
Delete "$DESKTOP\Langrisser I.lnk"
!insertmacro MUI_UNFINISHHEADER
SectionEnd
\ No newline at end of file
STAFF
! DIRECTOR
YANG KYOUNG SUL
! MAIN PROGRAM
WOO SEUNG KYUN
! ENGINE PROGRAM
KIM POONG HO
! SUB PROGRAM
MA EUN JA
JEON JEONG IL
! GRAPHIC
KWON TAE HYUN
SOHN SEUNG HYUN
YANG KYOUNG SUL
! PLANNER
JEON SEONG YONG
! MANAGER
NAM EUNG WOO
! TEXT
KUWATA KASKI
! SOUND RECORDING
S. A STUDIO
! VOICE RECORDING
PLATINUM STUDIO
! VOICE CREW
PARK IL
PARK SOO OK
JEONG OK JOO
PARK HEUNG SIK
PARK JI HUN
KANG SOO JIN
PARK YOUNG HWA
MOON JI HYUN
KIM HE MI
YOON BOK SUNG
! RECORDING ENGINEER
JEON JONG HAK
! SOUND EDIT
NAM HYUN WOO
! MARKETING
HAN IN CHEOL
SUKIHASHI MITSUHIRO
! THANKS
JEON JUN WOO (PIA)
YOO JUN YEOL (PIA)
SHIN DANG DONG REST.
USERS
! PRODUCER
NAM SANG KYU
PS VERSION
! STORY DIRECTOR
ARAKI HDEKI
! ORIGINAL ART
HIGASIIDE FUTOSI
SATO SINJI
UTIDA SINYA
BOKU YASUHIRO
HAYAMA KENJI
! ANIMATION CHECK
ITIKAWA KEIZOU
! ANIMATION
F. A. I
INTERNATIONAL
! COLOR DESIGNATION
MASUDA YOSIMASA
! SPECIAL EFFECT
NISIYAMA MAKOTO
! ART DIRECTOR
NISIYAMA JUNITIRO
! BACKGROUND ART
stYUNI
! CAMERA DIRECTOR
YASUHARA YOSIAKI
! EDITOR
NISIYAMA SIGERU
! ASSIST
KAWAKAMI MASAE
OMATA SINITI
! MANUFACTURE
YAMADA TETUHISA
HOSINO TATUYA
KEITORA HIROYUKI
! MANUFACTURE SUPPORT
PHOENIX ENTERTAINMENT
! ANIMATION MANUFACTURE
ASTRO VISION
! MAIN PROGRAM
MITANI KAZUHISA
! TECHNICAL ADVICER
MATUDA TOMOHIKO
! SCENARIO
YATO FUMA
! SCENARIO ASSIST
HORI HIROAKI
HAZUKI YOU
! PLANNING
YATO FUMA
! PLANNING ASSIST
SUZUKI MASAYUKI
! MAIN GRAPHIC
FURUNO SYUITI
SUZUKI MASAYUKI
! GRAPHIC
OBA MASAHIRO
OKADA SEIJI
SAITO TAKAHIDE
AKANE TAKEYOSI
! SOUND PRODUCER
MIZOGUTI ISAO
! SOUND DIRECTION
YOSIMURA KOUJI
IWADARE NORIYUKI
KUSUNOKI MASAHIRO
! DIGITAL MUSIC
MIZOHATA SYUITI
KAWANISI RYO
! MANAGER
KOMORI TOSIYUKI
TERADA KOICHIRO
! MARKETING
KAWAZOE SEIKO
! ADVERTISING
KANAWA AKIHIRO
! CHARACTER DESIGN
URUSIHARA SATOSI
! DIRECTOR
HIDA TAIJI
HORI HIROAKI
! PRODUCER
TAKATA SINJIRO
ENGLISH TRANSLATION
! TRANSLATION
Mr. D
TeknoZX
! SCRIPT EDITING
Mr. D
Moon Knight
EricKei
! PLAY TESTING
Moon Knight
Mr. D
MASAYA (NCS) 1998
REPROGRAMED BY
SOFT ACTION(SDT) 1998
PRESENTS
TRANSLATED BY D 2003
^
\ No newline at end of file
<>
Fighter <>
Fighter <>
Fighter <>
Gladiator <>
Vampire <>
Knight <>
Knight <>
Pirate <>
Hawk Knight <>
Hawk Knight <>
<