English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 13 May 2022, 17:07   #1
Pyrdacor
Registered User
 
Pyrdacor's Avatar
 
Join Date: Feb 2021
Location: Germany
Posts: 116
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
Pyrdacor is offline  
Old 13 May 2022, 23:00   #2
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by Pyrdacor View Post
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
In the end, sending you my ressourced executables did not helped you a bit ?
dlfrsilver is offline  
Old 14 May 2022, 08:32   #3
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,333
Quote:
Originally Posted by dlfrsilver View Post
In the end, sending you my ressourced executables did not helped you a bit ?
I think they arrived too late? The work in Ghidra by Pyrdacor and nicode was almost done when they arrived.
alexh is online now  
Old 14 May 2022, 08:37   #4
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,333
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
alexh is online now  
Old 14 May 2022, 11:54   #5
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by dlfrsilver View Post
In the end, sending you my ressourced executables did not helped you a bit ?
Well thanks anyway This will allow me to port my translation finally 100%.
dlfrsilver is offline  
Old 14 May 2022, 15:53   #6
Pyrdacor
Registered User
 
Pyrdacor's Avatar
 
Join Date: Feb 2021
Location: Germany
Posts: 116
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.
Pyrdacor is offline  
Old 14 May 2022, 17:33   #7
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by Pyrdacor View Post
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.
Thanks, yes this would be welcome. It would allow me to inject my french translation more easily as i have less time for that

Feel free to send me the files on gmail mailbox
dlfrsilver is offline  
Old 14 May 2022, 20:05   #8
Pyrdacor
Registered User
 
Pyrdacor's Avatar
 
Join Date: Feb 2021
Location: Germany
Posts: 116
I guess you have data files like NPC_texts.amb etc already translated? So you only need the texts from the executable?
Pyrdacor is offline  
Old 14 May 2022, 21:40   #9
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by Pyrdacor View Post
I guess you have data files like NPC_texts.amb etc already translated? So you only need the texts from the executable?
Well since you modified quite a bit of data files, it would be better for me to inject my text inside the latest version (v1.14).

So yes, if you can send me the text from the executable, i will translate those
dlfrsilver is offline  
Old 15 May 2022, 16:18   #10
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,333
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.
alexh is online now  
Old 16 May 2022, 00:38   #11
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by Pyrdacor View Post
I guess you have data files like NPC_texts.amb etc already translated? So you only need the texts from the executable?
I have quite advanced in the translation of the files you sent.

However, is it normal i found german text inside ? Found some in quite a number of AMB archive text files.....
dlfrsilver is offline  
Old 08 July 2022, 11:23   #12
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,518
A new version (1.16) is out: https://github.com/Pyrdacor/Ambermoo...isks/Bugfixing
TCD is offline  
Old 08 July 2022, 17:46   #13
pipper
Registered User
 
Join Date: Jul 2017
Location: San Jose
Posts: 652
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?
pipper is offline  
Old 12 July 2022, 18:36   #14
vulture
Registered User
 
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,840
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.
vulture is offline  
Old 13 July 2022, 14:30   #15
blade002
Zone Friend
 
blade002's Avatar
 
Join Date: Dec 2005
Location: Australia
Age: 50
Posts: 2,616
Unhappy

Quote:
Originally Posted by pipper View Post
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?
I got really far into the game too and gave up in around 1999, maybe we were stuck at the same point? It's a shame because back then I was so HEAVILY invested in it. Phenomenal game but one I would no longer have time for
blade002 is offline  
Old 14 July 2022, 00:24   #16
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,333
Quote:
Originally Posted by vulture View Post
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.
Report it here

https://github.com/Pyrdacor/Ambermoon/issues
alexh is online now  
Old 14 July 2022, 00:25   #17
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,333
Quote:
Originally Posted by pipper View Post
With these number of bugs and correspond ding fixes, I wonder how people played this game at all :-)
99.99% are cosmetic. You can finish the game with the original game data. There are about 4 places that made the game crash (in the English version) but you can avoid those places and still finish the game.

Quote:
Originally Posted by pipper View Post
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?
I don't think so. Have a look :

https://docs.google.com/spreadsheets...98A/edit#gid=0

Quote:
Originally Posted by blade002 View Post
I got really far into the game too and gave up in around 1999, maybe we were stuck at the same point? It's a shame because back then I was so HEAVILY invested in it.
You must have played it early on, 1998/1999 was when it was released (in English).
alexh is online now  
Old 14 July 2022, 16:50   #18
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,518
New teaser for Ambermoon Advanced: [ Show youtube player ]
TCD is offline  
Old 15 July 2022, 05:43   #19
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
incredibly pretty !
dlfrsilver is offline  
Old 16 July 2022, 00:02   #20
kriz
Junior Member
 
kriz's Avatar
 
Join Date: Sep 2001
Location: No(R)Way
Age: 41
Posts: 3,185
Wow, really epic work here !!
kriz is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:29.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15749 seconds with 15 queries