Albert Odyssey: Legend of Eldean
Albert Odyssey: Legend of Eldean |
---|
Developer: Sunsoft This game has uncompiled source code. |
Oh dear, I do believe I have the vapors. This page contains content that is not safe for work or other locations with the potential for personal embarrassment. Such as: Woman's moans. |
Albert Odyssey: Legend of Eldean is a run-of-the-mill RPG by Sunsoft. As is the case for most of Working Designs' releases, public opinion on the localization is... mixed.
Contents
Unused Sounds
Present on the North American releases of the game are three inappropriate sound files that aren't referenced in any of the event scripts.
AFF0001.AIF
AFS0001.AIF
AMS0001.AIF
Unused Text
Gigarl
Meow. Meow, I say.
Woof! Rrrrrfff! Woof!
There are animals in Gigarl, but talking to them only gives a sound effect with no text.
Chapter 1 Epilogue
The Immortal Emperor Radoria proved to be mortal after all, and peace returned to the land. Pike and his friends were praised as heroes and showered with gifts. Many years have passed since Radoria was destroyed, and people are already starting to forget the horror. Then, one day...
Not only is the intermission between the two chapters given verbally with no subtitles, but this version of it found in the script for Harpy Village is also written slightly differently. A transcription of the English audio is given below.
Due to Pike's efforts, the immortal emperor proved to be mortal after all, and peace returned to the land. Upon returning home, Pike and his friends were praised as heroes and showered with gifts. In time, the adulation subsided, the gifts wore out or broke, and the trouble with Radoria seemed to be but a distant memory. And then, one day, quite unexpectedly...
Uncompiled Source Code
Located in A_TAM.C is uncompiled C code used for initializing save data. It even contains references to a Z-axis player position variable which is marked with "未使用" (Unused).
The code contains three test saves. The first starts the game as a new file, while the other two start the player in specific locations.
Save 2 (Stuck in Pike's bed in Harpy Village) | Save 3 (Entrance to Solace) |
---|---|
/*********************************************************** SRAMイメージテーブル初期化 ***********************************************************/ void SramImageInit(){ BackUpData_Type *sram; ChrStatus *str; Uint16 i; strcpy(BackUpData.SramMemberStr[0].SramName,"\xf5\x61\x67\xa0\xa0"); /* パイク */ strcpy(BackUpData.SramMemberStr[1].SramName,"\x63\x65\xa0\xa0\xa0"); /* エカ */ strcpy(BackUpData.SramMemberStr[2].SramName,"\x86\x64\x6c\xa0\xa0"); /* レオス */ strcpy(BackUpData.SramMemberStr[3].SramName,"\x63\x85\xce\x9b\xa0"); /* エルダー */ strcpy(BackUpData.SramMemberStr[4].SramName,"\x60\x82\x8d\xa0\xa0"); /* アモン */ sram = &BackUpData; #if 0 sram->Sramroomnumber = 0; /* 部屋番号 */ sram->Sramposh = 0; /* キャラクタ位置H */ sram->Sramposv = 0; /* キャラクタ位置V */ sram->Sramplace = 0; /* 主人公のいる場所 (0:街 1:フィールド) */ sram->Sramhitflg = 0; /* キャラクタ位置アトリビュート */ sram->Sramposz = 0; /* キャラクタ位置Z(未使用)*/ #endif #if 0 sram->Sramroomnumber = 8; /* 部屋番号 */ sram->Sramposh = 0x2a80; /* キャラクタ位置H */ sram->Sramposv = 0x65a0; /* キャラクタ位置V */ sram->Sramplace = 0; /* 主人公のいる場所 (0:街 1:フィールド) */ sram->Sramhitflg = 0; /* キャラクタ位置アトリビュート */ sram->Sramposz = 2; /* キャラクタ位置Z(未使用)*/ #endif #if 1 sram->Sramroomnumber = 0x42; /* 部屋番号 */ sram->Sramposh = 0x55d0; /* キャラクタ位置H */ sram->Sramposv = 0x7dd0; /* キャラクタ位置V */ sram->Sramplace = 0; /* 主人公のいる場所 (0:街 1:フィールド) */ sram->Sramhitflg = 0; /* キャラクタ位置アトリビュート */ sram->Sramposz = 6; /* キャラクタ位置Z(未使用)*/ #endif sram->SramMachiFlag = 0; /* 町フラグ (M)*/ /* b0:シトナス b1:トマリ b2:マイセント b3:ルクナート*/ /* b4:トランピア b5:リリカル b6:ジェッジ */ sram->Sramplaneposh = 0; /* 飛空定位置H */ sram->Sramplaneposv = 0; /* 飛空挺位置V */ sram->Sramworldh = 0; /* フィールド座標H (M)*/ sram->Sramworldv = 0; /* フィールド座標V (M)*/ #if 1 sram->Srammembervalue1 = 2; /* パーティー人数(ステータスあり) (M)(戦) */ sram->Srammembervalue2 = 0; /* パーティー人数(ステータスなし)*/ sram->SramMember[0] = 0; /* パーティーメンバ (M)(戦) */ sram->SramMember[1] = 1; sram->SramMember[2] = 0; sram->SramMember[3] = 0; sram->SramMember[4] = 0; sram->Sramplaneflg = 0; /* 飛空挺所持フラグ */ #endif #if 0 sram->Srammembervalue1 = 1; /* パーティー人数(ステータスあり) (M)(戦) */ sram->Srammembervalue2 = 0; /* パーティー人数(ステータスなし)*/ sram->SramMember[0] = 0; /* パーティーメンバ (M)(戦) */ sram->SramMember[1] = 0; sram->SramMember[2] = 0; sram->SramMember[3] = 0; sram->SramMember[4] = 0; sram->Sramplaneflg = 0; /* 飛空挺所持フラグ */ #endif /* カーソル記憶時 記憶バッファ */ sram->SramRemainCursorFlg = 0; /* 設定 カーソル固定・記憶 (M)(戦)*/ sram->SramSelectMenuNum = 0; /* メイン 選択中メニュー番号 (M)*/ sram->SramSelectItem = 0; /* 選択中 道具番号 (M)*/ sram->SramSelectDoukoChr = 0; /* 道具 選択対象キャラクタ番号 (M)*/ sram->SramMagicUse = 0; /* 呪文 選択中キャラクタ番号 (M)*/ sram->SramSelectMagicChr = 0; /* 呪文 選択対象キャラクタ番号 (M)*/ sram->SramSelectHeroMagic = 0; /* 選択中 呪文番号(主人公) (M)*/ sram->SramSelectHeroinMagic = 0;/* 選択中 呪文番号(ヒロイン) (M)*/ sram->SramSelectLoesMagic = 0; /* 選択中 呪文番号(レオス・キャロル)(M)*/ sram->SramSoubiUse = 0; /* 装備 選択中キャラクタ番号 (M)*/ sram->SramSelectSoubi = 0; /* 選択中 装備の種類番号 (M)*/ sram->SramStrUse = 0; /* 強さ 選択中キャラクタ番号 (M)*/ sram->SramSelectTereport = 0; /* 選択中 テレポート移動先 (M)*/ sram->SramSelectMapSet = 0; /* 設定 選択中項目番号 (M)*/ sram->SramSoundStereo = 0; /* 設定 サウンド Stereo/Mono (M)*/ sram->SramFileLoadNumber = 0; /* 設定 ファイルロード番号 (M)*/ sram->SramByeItemSelect = 0; /* 選択 売却カーソル位置 (M)*/ sram->SramSaveDevice = 0; /* 使用ディバイス 0:CpuRam 1:BackupCat */ sram->SramSaveFileNo = 0; /* バックアツプファイル位置 */ sram->SramSaveDate = 0; /* セーブ時刻(圧縮) */ /*//// 戦闘用カーソル位置記憶 (戦)*/ for(i=0; i<12; i++) sram->SramBattleMenu[i] = 0; /*//// アイテムの数 (M)(戦)*/ for(i=0; i<256; i++) sram->SramItemValue[i]; /*//// 宝箱フラグ */ for(i=0; i<0x80; i++) sram->TreasureFlg[i] = 0; /*//// 所持金 (M)(戦)*/ sram->SramMoney = 0; /*//// イベントフラグ */ for(i=0; i<0x40; i++) sram->SramEvent[i] = 0; /* キャラステータス (M)(戦) */ strcpy(BackUpData.SramMemberStr[0].SramName,"\xf5\x61\x67\xa0\xa0"); /* パイク */ BackUpData.SramMemberStr[0].SramLevel =55; BackUpData.SramMemberStr[0].SramMaxHp =268; BackUpData.SramMemberStr[0].SramHp =148; BackUpData.SramMemberStr[0].SramMaxMp =156; BackUpData.SramMemberStr[0].SramMp =148; BackUpData.SramMemberStr[0].SramMeichu1 =10; BackUpData.SramMemberStr[0].SramMeichu2 =11; BackUpData.SramMemberStr[0].SramKaihi1 =12; BackUpData.SramMemberStr[0].SramKaihi2 =12; BackUpData.SramMemberStr[0].SramKougeki1 =13; BackUpData.SramMemberStr[0].SramKougeki2 =13; BackUpData.SramMemberStr[0].SramBougyo1 =14; BackUpData.SramMemberStr[0].SramBougyo2 =15; BackUpData.SramMemberStr[0].SramSeimei1 =16; BackUpData.SramMemberStr[0].SramSeimei2 =17; BackUpData.SramMemberStr[0].SramMaryoku1 =18; BackUpData.SramMemberStr[0].SramMaryoku2 =19; BackUpData.SramMemberStr[0].SramSpeed1 =20; BackUpData.SramMemberStr[0].SramSpeed2 =21; BackUpData.SramMemberStr[0].SramExp =3450l; BackUpData.SramMemberStr[0].SramArmor =0x97; BackUpData.SramMemberStr[0].SramShield =0x6b; BackUpData.SramMemberStr[0].SramAccessory =0xaa; BackUpData.SramMemberStr[0].SramArms =0x1b; BackUpData.SramMemberStr[0].SramAremStr =0; BackUpData.SramMemberStr[0].SramStr =0; BackUpData.SramMemberStr[0].SramMagic =0; strcpy(BackUpData.SramMemberStr[1].SramName,"\x63\x65\xa0\xa0\xa0"); /* エカ */ BackUpData.SramMemberStr[1].SramLevel =51; BackUpData.SramMemberStr[1].SramMaxHp =3256; BackUpData.SramMemberStr[1].SramHp =128; BackUpData.SramMemberStr[1].SramMaxMp =156; BackUpData.SramMemberStr[1].SramMp =149; BackUpData.SramMemberStr[1].SramMeichu1 =50; BackUpData.SramMemberStr[1].SramMeichu2 =50; BackUpData.SramMemberStr[1].SramKaihi1 =51; BackUpData.SramMemberStr[1].SramKaihi2 =12; BackUpData.SramMemberStr[1].SramKougeki1 =13; BackUpData.SramMemberStr[1].SramKougeki2 =51; BackUpData.SramMemberStr[1].SramBougyo1 =52; BackUpData.SramMemberStr[1].SramBougyo2 =52; BackUpData.SramMemberStr[1].SramSeimei1 =53; BackUpData.SramMemberStr[1].SramSeimei2 =53; BackUpData.SramMemberStr[1].SramMaryoku1 =54; BackUpData.SramMemberStr[1].SramMaryoku2 =54; BackUpData.SramMemberStr[1].SramSpeed1 =55; BackUpData.SramMemberStr[1].SramSpeed2 =55; BackUpData.SramMemberStr[1].SramExp =31456; BackUpData.SramMemberStr[1].SramArmor =0; BackUpData.SramMemberStr[1].SramShield =0; BackUpData.SramMemberStr[1].SramAccessory =0; BackUpData.SramMemberStr[1].SramArms =0; BackUpData.SramMemberStr[1].SramAremStr =0; BackUpData.SramMemberStr[1].SramStr =0; BackUpData.SramMemberStr[1].SramMagic =0; strcpy(BackUpData.SramMemberStr[2].SramName,"\x86\x64\x6c\xa0\xa0"); /* レオス */ BackUpData.SramMemberStr[2].SramLevel =55; BackUpData.SramMemberStr[2].SramMaxHp =3123; BackUpData.SramMemberStr[2].SramHp =112; BackUpData.SramMemberStr[2].SramMaxMp =456; BackUpData.SramMemberStr[2].SramMp =123; BackUpData.SramMemberStr[2].SramMeichu1 =10; BackUpData.SramMemberStr[2].SramMeichu2 =10; BackUpData.SramMemberStr[2].SramKaihi1 =11; BackUpData.SramMemberStr[2].SramKaihi2 =12; BackUpData.SramMemberStr[2].SramKougeki1 =13; BackUpData.SramMemberStr[2].SramKougeki2 =11; BackUpData.SramMemberStr[2].SramBougyo1 =12; BackUpData.SramMemberStr[2].SramBougyo2 =12; BackUpData.SramMemberStr[2].SramSeimei1 =13; BackUpData.SramMemberStr[2].SramSeimei2 =13; BackUpData.SramMemberStr[2].SramMaryoku1 =14; BackUpData.SramMemberStr[2].SramMaryoku2 =14; BackUpData.SramMemberStr[2].SramSpeed1 =15; BackUpData.SramMemberStr[2].SramSpeed2 =15; BackUpData.SramMemberStr[2].SramExp =74685; BackUpData.SramMemberStr[2].SramArmor =0; BackUpData.SramMemberStr[2].SramShield =0; BackUpData.SramMemberStr[2].SramAccessory =0; BackUpData.SramMemberStr[2].SramArms =0; BackUpData.SramMemberStr[2].SramAremStr =0; BackUpData.SramMemberStr[2].SramStr =0; BackUpData.SramMemberStr[2].SramMagic =0; strcpy(BackUpData.SramMemberStr[3].SramName,"\x63\x85\xce\x9b\xa0"); /* エルダー */ BackUpData.SramMemberStr[3].SramLevel =45; BackUpData.SramMemberStr[3].SramMaxHp =2256; BackUpData.SramMemberStr[3].SramHp =128; BackUpData.SramMemberStr[3].SramMaxMp =156; BackUpData.SramMemberStr[3].SramMp =148; BackUpData.SramMemberStr[3].SramMeichu1 =20; BackUpData.SramMemberStr[3].SramMeichu2 =20; BackUpData.SramMemberStr[3].SramKaihi1 =21; BackUpData.SramMemberStr[3].SramKaihi2 =12; BackUpData.SramMemberStr[3].SramKougeki1 =13; BackUpData.SramMemberStr[3].SramKougeki2 =21; BackUpData.SramMemberStr[3].SramBougyo1 =22; BackUpData.SramMemberStr[3].SramBougyo2 =22; BackUpData.SramMemberStr[3].SramSeimei1 =23; BackUpData.SramMemberStr[3].SramSeimei2 =23; BackUpData.SramMemberStr[3].SramMaryoku1 =24; BackUpData.SramMemberStr[3].SramMaryoku2 =24; BackUpData.SramMemberStr[3].SramSpeed1 =25; BackUpData.SramMemberStr[3].SramSpeed2 =25; BackUpData.SramMemberStr[3].SramExp =161; BackUpData.SramMemberStr[3].SramArmor =0; BackUpData.SramMemberStr[3].SramShield =0; BackUpData.SramMemberStr[3].SramAccessory =0; BackUpData.SramMemberStr[3].SramArms =0; BackUpData.SramMemberStr[3].SramAremStr =0; BackUpData.SramMemberStr[3].SramStr =0; BackUpData.SramMemberStr[3].SramMagic =0; strcpy(BackUpData.SramMemberStr[4].SramName,"\x60\x82\x8d\xa0\xa0"); /* アモン */ BackUpData.SramMemberStr[4].SramLevel =36; BackUpData.SramMemberStr[4].SramMaxHp =3524; BackUpData.SramMemberStr[4].SramHp =18; BackUpData.SramMemberStr[4].SramMaxMp =0; BackUpData.SramMemberStr[4].SramMp =0; BackUpData.SramMemberStr[4].SramMeichu1 =30; BackUpData.SramMemberStr[4].SramMeichu2 =30; BackUpData.SramMemberStr[4].SramKaihi1 =31; BackUpData.SramMemberStr[4].SramKaihi2 =12; BackUpData.SramMemberStr[4].SramKougeki1 =13; BackUpData.SramMemberStr[4].SramKougeki2 =31; BackUpData.SramMemberStr[4].SramBougyo1 =32; BackUpData.SramMemberStr[4].SramBougyo2 =32; BackUpData.SramMemberStr[4].SramSeimei1 =33; BackUpData.SramMemberStr[4].SramSeimei2 =33; BackUpData.SramMemberStr[4].SramMaryoku1 =34; BackUpData.SramMemberStr[4].SramMaryoku2 =34; BackUpData.SramMemberStr[4].SramSpeed1 =35; BackUpData.SramMemberStr[4].SramSpeed2 =35; BackUpData.SramMemberStr[4].SramExp =0; BackUpData.SramMemberStr[4].SramArmor =0xff; BackUpData.SramMemberStr[4].SramShield =0xff; BackUpData.SramMemberStr[4].SramAccessory =0xff; BackUpData.SramMemberStr[4].SramArms =0xff; BackUpData.SramMemberStr[4].SramAremStr =0; BackUpData.SramMemberStr[4].SramStr =0; BackUpData.SramMemberStr[4].SramMagic =0; BackUpData.Srammembervalue1=2; /* パーティ人数 */ BackUpData.SramMember[0]=0; BackUpData.SramMember[1]=1; BackUpData.SramMember[2]=2; BackUpData.SramMember[3]=3; BackUpData.SramMember[4]=4; BackUpData.SramMoney=553500; /* 所持金 */ #if 0 for(i=0; i<5; i++){ str = &sram->SramMemberStr[i]; str->SramLevel = 1; /* レベル (M)(戦)*/ /* str->SramName[6]; /* 名前 9999 (M)(戦)*/ str->SramMaxHp = 38; /* HP (M)(戦)*/ str->SramHp = 38; /* MaxHP (M)(戦)*/ str->SramMaxMp = 5; /* MP 999 (M)(戦)*/ str->SramMp = 5; /* MaxMP (M)(戦)*/ str->SramMeichu1 = 75; /* 命中率 200 (M)(戦)*/ str->SramMeichu2 = 75; /* 命中率 規準 (M)(戦)*/ str->SramKaihi1 = 10; /* 回避力 200 (M)(戦)*/ str->SramKaihi2 = 10; /* 回避力 規準 (M)(戦)*/ str->SramKougeki1 = 10; /* 攻撃力 999 (M)(戦)*/ str->SramKougeki2 = 10; /* 攻撃力 規準 (M)(戦)*/ str->SramBougyo1 = 4; /* 防御力 999 (M)(戦)*/ str->SramBougyo2 = 4; /* 防御力 規準 (M)(戦)*/ str->SramSeimei1 = 45; /* 生命力 200 (M)(戦)*/ str->SramSeimei2 = 45; /* 生命力 規準 (M)(戦)*/ str->SramMaryoku1 = 5; /* 魔力 200 (M)(戦)*/ str->SramMaryoku2 = 5; /* 魔力 規準 (M)(戦)*/ str->SramSpeed1 = 32; /* 素早さ 89 (M)(戦)*/ str->SramSpeed2 = 32; /* 素早さ 規準 (M)(戦)*/ str->SramExp = 0; /* 経験値 (M)(戦)*/ str->SramArmor = 0xff; /* 現在装備中の鎧 (M)(戦)*/ str->SramShield = 0xff; /* 現在装備中の縦 (M)(戦)*/ str->SramAccessory = 0xff; /* 現在装備中のアクセサリー (M)(戦)*/ str->SramArms = 0xff; /* 現在装備中の武器 (M)(戦)*/ str->SramAremStr = 0; str->SramStr = 0; /* (戦) */ str->SramMagic = 0; /* 魔法取得フラグ */ } #endif }
Version Differences
To do: Upload JP version sound effects, note the differences written in the manual, find differences between JP revisions, pictures, etc. |
Japan to US
- The Sunsoft boot logo has been replaced with an animated Working Designs logo, synced to the same sound effect as the original.
- Various voice samples where characters speak Japanese have been replaced with generic animal noises (Gryzz, Amon) or grunts (Leos, Eka's death scream).
- After-battle information will proceed automatically in the US version, but the player must press A for each message in the Japanese version.
- Sell prices for common healing items are higher in the American release.
US Revision
A second US version was released, containing a few tweaks.
- In the first version of MAP055.TWN, Eka is a bit strapped for cash. The original file is timestamped as being last modified 06/24/1997, while the updated one was last modified 08/08/1997.
Original | Revised |
---|---|
I'm Eka, and this is my friend, Pike. We've traveled a long way to fine one qualified to assist us, Leos. | I'm Eka, and this is my friend, Pike. We've traveled a long way to find one qualified to assist us, Leos. |
MAP014.TWN, the town data for Gigarl, has had unknown changes made to the map itself, though the script is exactly the same. The original file is timestamped as being last modified 06/24/1997, while the updated one was last modified 08/13/1997.
- Pages missing developer references
- Games developed by Sunsoft
- Pages missing publisher references
- Games published by Sunsoft
- Games published by Working Designs
- Games published by Wooyoung System
- Sega Saturn games
- Pages missing date references
- Games released in 1996
- Games released in August
- Games released on August 9
- Games with uncompiled source code
- Games with unused sounds
- Games with unused text
- Games with regional differences
- Games with revisional differences
- NSFW articles
- To do
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Games by content > Games with regional differences
Games > Games by content > Games with revisional differences
Games > Games by content > Games with uncompiled source code
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by content > NSFW articles
Games > Games by developer > Games developed by Sunsoft
Games > Games by platform > Sega Saturn games
Games > Games by publisher > Games published by Gaijinworks > Games published by Working Designs
Games > Games by publisher > Games published by Sunsoft
Games > Games by publisher > Games published by Wooyoung System
Games > Games by release date > Games released in 1996
Games > Games by release date > Games released in August
Games > Games by release date > Games released in August > Games released on August 9