![]() |
![]() |
#1 |
Registered User
![]() Join Date: Feb 2021
Location: Germany
Posts: 115
|
Extended Ambermoon for Amiga
Hello guys. Some of you might know me for creating a Ambermoon port for PC, Mac and Linux and maintaining the original Ambermoon and providing fixes for it.
Just recently I wrote an export plugin for the disassembling tool Ghidra to be able to export disassembled code (mainly Ambermoon) to valid Amiga assembler. I also decoded huge parts of the original code, commented and labeled all kind of stuff in Ghidra. There is also a public Ghidra server where we can collaborate and disassemble the last bits of the original Ambermoon code. That said I am able to compile the original Ambermoon. And I can add changes (either in Ghidra) or by modifying the produced ASM. And so I did. Original Ambermoon used 2 exe files. AM2_Blit uses the blitter to render walls and other stuff, AM2_CPU uses the CPU (loops) for this. The pre-loader called just "Ambermoon" performs a speed test with the blitter and the CPU and if the blitter is fast enough it used AM2_Blit, else AM2_CPU. The problem was, that both exes contained 90% of the same code and data. And this data includes all item data, all UI texts, in-game messages, spell names, button graphics and so on. Bugfixing was hell as you had to fix both exes and then both languages (exes differ per language as well). Moreover creating a new language was nearly impossible. This is now over. I extracted all language-dependent data to external files: - Item data to Objects.amb - Button graphics to Button_graphics - All texts to Text.amb Moreover the files "Dictionary.english" and "Dictionary.german" are now called just "Dict.amb" in both languages. I wrote loaders for those files in Ghidra so the data is loaded on startup in Ambermoon now. Moreover I merged both exes into one (AM2_CPU). The speed test is still performed but the result is just given to AM2_CPU as a parameter and then it uses internal logic to use the blitter or CPU dependent on that parameter. It was a long way and hard work but now it's done. Ambermoon 1.14 (english) and 1.13 (german) are released and they both use the same exe. https://github.com/Pyrdacor/Ambermoon If you want to see the effects you can download german and english and exchange files like "Text.amb", re-start the game and see how the texts change. The same is possible for items and button graphics, as mentioned. I would be happy if someone can test the new release. Best on real hardware. The only thing left is to make the intro and outro language-independent. Other than that, translations should now be easy. I can provide a zip with all english texts to translate if someone is interested in creating a prototype for a new language. I could help with that. Thanks for reading. Cheers Pyrdacor |
![]() |
![]() |
#2 | |
CaptainM68K-SPS France
|
Quote:
|
|
![]() |
![]() |
#3 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 13,858
|
|
![]() |
![]() |
#4 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 13,858
|
Awesome work. It opens the door to localisation for the Amiga version. First Dlfrsilver's amazing French translation and then hopefully others. I know someone once translated lots of Ambermoon into Italian.
Also knowing that Ambermoon on Amiga may get some of the new Ambermoon Advance dungeons back ported is fantastic |
![]() |
![]() |
#5 |
CaptainM68K-SPS France
|
|
![]() |
![]() |
#6 |
Registered User
![]() Join Date: Feb 2021
Location: Germany
Posts: 115
|
Thank you guys.
@dlfrsilver: Alex is right. It came a day before I exported valid ASM code out of Ghidra for the first time. And the code in Ghidra was already very well labeled and commented and all those labels and comments are exported as ASM comments as well. So this was a bonus over your files. Moreover I can't import your ASM files into Ghidra that easily. I can send you the English texts so you see what structure I need to use it. Then you can just replace the English texts with the french ones. I will also document the new file structures I invented for the in-game texts. I already built a tool to export all texts of a Ambermoon installation. This includes all data files, the in-game texts, the item names and so on. Basically everything which needs to be translated. I will also provide a tool to create a full game out of those text files so you only have to copy your french texts into the folders and the tool does the rest. |
![]() |
![]() |
#7 | |
CaptainM68K-SPS France
|
Quote:
![]() Feel free to send me the files on gmail mailbox ![]() |
|
![]() |
![]() |
#8 |
Registered User
![]() Join Date: Feb 2021
Location: Germany
Posts: 115
|
I guess you have data files like NPC_texts.amb etc already translated? So you only need the texts from the executable?
|
![]() |
![]() |
#9 | |
CaptainM68K-SPS France
|
Quote:
So yes, if you can send me the text from the executable, i will translate those ![]() |
|
![]() |
![]() |
#10 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 13,858
|
I think you already did. All the text appears to be in the ASM files you sent. Pyrdacor needs someone to reformat them to his new file format.
I've updated *_texts.amb to the latest version using the existing tools. Pyrdacor was making similar ones for *_,data.amb files. Last edited by alexh; 15 May 2022 at 16:33. |
![]() |
![]() |
#11 | |
CaptainM68K-SPS France
|
Quote:
However, is it normal i found german text inside ? Found some in quite a number of AMB archive text files..... |
|
![]() |
![]() |
#12 |
HOL/FTP busy bee
![]() Join Date: Sep 2006
Location: Germany
Age: 45
Posts: 28,123
|
A new version (1.16) is out: https://github.com/Pyrdacor/Ambermoo...isks/Bugfixing
|
![]() |
![]() |
#13 |
Registered User
![]() Join Date: Jul 2017
Location: San Jose
Posts: 584
|
Awesome! With these number of bugs and correspond ding fixes, I wonder how people played this game at all :-) This gives me the reason to pickup my old save game from the 90’s… I remember I got stuck in a dungeon on that bug infested green moon and never found a way out. Is this maybe a known bug?
|
![]() |
![]() |
#14 |
Registered User
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,739
|
I think the 1.16 English .ADFs are broken.
After clicking "Start New Quest", disk 1 will guru. This happened previously with an older update, I think the issue was something to do with the files built incorrectly. |
![]() |
![]() |
#15 | |
Zone Friend
Join Date: Dec 2005
Location: Australia
Age: 49
Posts: 2,615
|
![]() Quote:
![]() |
|
![]() |
![]() |
#16 | |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 13,858
|
Quote:
https://github.com/Pyrdacor/Ambermoon/issues |
|
![]() |
![]() |
#17 | ||
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 13,858
|
Quote:
Quote:
https://docs.google.com/spreadsheets...98A/edit#gid=0 You must have played it early on, 1998/1999 was when it was released (in English). |
||
![]() |
![]() |
#18 |
HOL/FTP busy bee
![]() Join Date: Sep 2006
Location: Germany
Age: 45
Posts: 28,123
|
New teaser for Ambermoon Advanced:
[ Show youtube player ]
|
![]() |
![]() |
#19 |
CaptainM68K-SPS France
|
incredibly pretty !
|
![]() |
![]() |
#20 |
Junior Member
![]() Join Date: Sep 2001
Location: No(R)Way
Age: 41
Posts: 3,071
|
Wow, really epic work here !!
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
"Defender of the Crown - Extended Collectors Edition" for Amiga CD32, Amiga und PC | cinemaware | News | 108 | 04 March 2017 03:49 |
Amiga 2000 extended RAM big problems! | genny | Hardware mods | 2 | 03 April 2011 14:19 |
Amiga extended character set | prowler | New to Emulation or Amiga scene | 7 | 05 February 2010 22:06 |
Extended adf to a real amiga floppy | Fabie | New to Emulation or Amiga scene | 6 | 06 November 2009 22:41 |
amiworx.de - Home of Ambermoon Arcade and Amiga meets Piano | viddi | Amiga scene | 19 | 02 April 2009 08:27 |
|
|