English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Coders. Blitz Basic (https://eab.abime.net/forumdisplay.php?f=126)
-   -   I am willing to pay someone to convert an AmigaBASIC to Blitz Basic 2 for me... (https://eab.abime.net/showthread.php?t=95197)

xboxown 20 November 2018 19:29

I am willing to pay someone to convert an AmigaBASIC to Blitz Basic 2 for me...
 
Hey guys! :D Not joking here! But I am hiring someone to convert an AmigaBASIC game for me into AmiBlitz2 or Blitz Basic 2 (take the syntax and logic and make it work in Blitz Basic 2) and add a level editor for the game!

If anyone is interested please send me a message here.

rcman 20 November 2018 19:49

I'm just learning Blitz myself. Blitz itself isn't difficult for me just know about modes, bitplanes and copper is the stuff I'm trying to understand. I'm trying to port games I wrote in C on Linux to Blitz.

Slow process but I am learning slowly.

What type of game is it?

RC

P.S Hello fellow Canuck!

xboxown 20 November 2018 20:22

Junior Boulderdash! I saw the source code...it is reading the levels from data written in the engine self. 1 is wall, 3 is gem, 4 is sand, etc. So making an editor is piece of cake. What I do want is the editor use MUI and display the objects (from the game) in the window, you select the object..plot it on the map...save it as a file and the game simply reads the files as each level you pass. No blitz mode at all, no use of loading sprite or blitting...everything is done by drawing lines and circles...just simply port the engine all the code is written! Then we can compile the project as a standalone executable and run it. It doesn't bang the hardware nor take over workbench..it is afterall an AmigaBASIC game.

Daedalus 20 November 2018 23:23

If I had any spare time I would give it a go - sounds interesting! It shouldn't be that difficult to do either as a Blitz mode or system-friendly program... Why not get Blitz Basic and give it a go yourself? :)

xboxown 20 November 2018 23:45

I would like to tackle that! Why not! But it would require two WinUAE's open at the sametime however. One have the AmigaBASIC on the right and the other one blitz basic 2 on the left. Copy the syntax back and forth manually. I think I will give this a go...then the part that I don't know how to convert I will simply release the code and have someone complete the parts I don't know how to complete myself. I still need an editor for the game though! A MUI workbench friendly editor!

The engine need to be modified a little bit and instead of reading the level from data it will read it from disk and possibly encrypt the level so it can only be opened from the editor or the engine itself! What a masterpiece engine IT IS!!

My biggest fantasy is make a website with competitions for people to develop 2018 showcase AmigaBASIC games and they get rewarded with money! So people make donations into the community/website....then have programmers make awesome games, rpg, sports, horror, arcade, platform whatever they do using AmigaBASIC (there are rules to follow) then release the project to be showcased. If they win the competition they get like 500 dollars for the prize and so on.

That would be sweeet!

Cobe 21 November 2018 00:27

You don't have source in txt? Cause Blitz can read txt.

xboxown 21 November 2018 01:47

Quote:

Originally Posted by Cobe (Post 1286278)
You don't have source in txt? Cause Blitz can read txt.

Nope. It have to be opened in AmigaBASIC since the game is not compiled it is an interpreter. Problem with AmigaBASIC if you select the source and click Copy it cannot be pasted anywhere outside AmigaBASIC itself. You cannot open the source code in notepad either, since it is encrypted and can only be opened in AmigaBASIC itself. So I have to manually copy them hand by hand.

Cobe 21 November 2018 02:28

Maybe you can make use of http://aminet.net/package/util/cdity/PowerSnap22a

xboxown 21 November 2018 03:50

Quote:

Originally Posted by Cobe (Post 1286289)

I love you!! :D :laughing:laughing :bash

Daedalus 21 November 2018 17:44

Even simpler: Apparently AmigaBASIC itself has an option to export as ASCII. When you are saving a file with the SAVE command, simply add the character A as an extra parameter. For example:

Code:

SAVE Work:MyProgram.txt,A
Should save it as plain text. Note, I haven't tried it, but you can see the SAVE entry in the full AmigaBASIC Manual.

xboxown 21 November 2018 19:13

Quote:

Originally Posted by Daedalus (Post 1286428)
Even simpler: Apparently AmigaBASIC itself has an option to export as ASCII. When you are saving a file with the SAVE command, simply add the character A as an extra parameter. For example:

Code:

SAVE Work:MyProgram.txt,A
Should save it as plain text. Note, I haven't tried it, but you can see the SAVE entry in the full AmigaBASIC Manual.

Thank you so much! Today I am on it!:bash:bash

xboxown 30 November 2018 02:25

I want to ask another question in additional to these conversion I mentioned. Here goes nothing.

I want to write these games into blitz basic from AmigaBASIC and want to convert certain keywords from AmigaBASIC to blitz basic

https://computerarchive.org/files/co...k_of_Amiga.pdf.


What are the following conversion commands from AmigaBASIC => Blitz Basic?

AmigaBASIC => BlitzBasic
CLEAR, 25000 => ?
RANDOMIZE TIMER => ?
SCREEN 1,320,200,4,1 => ?
WINDOW 3,,(0,0)-(311,186),16,1 => ?
LOCATE 3,111 => ?
ON TIMER(1) GOSUB => ?
OBJECT.X => ?
OBJECT.Y => ?
OBJECT.Shape => ?
WHILE MOUSE(0) => ?
PAINT(12,95),2 => ?
PALETTE => ?
WAVE => ?
COLOR => ?
PUT (for sprite - not disk access) => ?
GET (for sprite - not disk access) => ?

Daedalus 30 November 2018 10:42

Quote:

Originally Posted by xboxown;1288065[url
https://computerarchive.org/files/computer/manufacturers/computers/Commodore/books/amiga/Compute's_Second_Book_of_Amiga.pdf[/url].

There's also the official AmigaBasic manual here: https://archive.org/details/Amiga_BA...dore/page/n145

Quote:

What are the following conversion commands from AmigaBASIC => Blitz Basic?

AmigaBASIC => BlitzBasic
CLEAR, 25000 => ?
There's a conceptual difference here. Short answer is there's no equivalent in Blitz and it's not needed.
Quote:

RANDOMIZE TIMER => ?
This seeds the random routine, and again, isn't typically needed by Blitz. Ignore it for now.
Quote:

SCREEN 1,320,200,4,1 => ?
Blitz has a Screen command that is similar. The equivalent is Screen 1, 4 for the Blitz shorthand.
Quote:

WINDOW 3,,(0,0)-(311,186),16,1 => ?
Again, Blitz has a Window command too. You need to look at the parameters of the AmigaBasic version and see what the equivalent is in Blitz. Something like Window 3, 0, 0, 311, 186, 0, "", 1, 2 is probably along the lines of what you need, but you need to figure more out from what the original program does.
Quote:

LOCATE 3,111 => ?
Blitz uses WLocate to locate the text cursor within the window.
Quote:

ON TIMER(1) GOSUB => ?
Blitz has an On command that works basically the same way. However, it's the TIMER() function that's the issue here. Blitz handles things in a different way. You should set up your own variable for counting seconds, and increment it based on the Secs function in Blitz. This will return a seconds value but since it's from the clock, not a timer, it will reset to 0 every 60 seconds, so you need to compensate for that.

Quote:

OBJECT.X => ?
OBJECT.Y => ?
OBJECT.Shape => ?
Again, this is handled differently in Blitz, and in a more Amiga-ish fashion. You need to define a Shape object (typically a graphics image loaded from disk), then set up a queue or buffer, then clear the previous shape in the queue, then blit it to a bitmap. If your program needs to work in a window, you can then transfer that bitmap to the window, which is slow. Alternatively, use the screen without a window at all and blit directly to the screen's bitmap for much faster operation.
Quote:

WHILE MOUSE(0) => ?
While is the same, but the MOUSE(0) function needs to be changed AmigaBasic has a funky way of using the MOUSE() function, so you need to base the change on what the program is doing there. At a guess, you could change it to While Joyb(0) = 0, which will carry out the loop until either mouse button is clicked.
Quote:

PAINT(12,95),2 => ?
Floodfill is the equivalent in Blitz. Check the Blitz manual for parameter information.
Quote:

PALETTE => ?
RGB is probably what you're looking for, but again, you need to know what the program is trying to do here.
Quote:

WAVE => ?
SoundData is used in Blitz to manually define a sound waveform, but you need to initialise the sound object first with InitSound.
Quote:

COLOR => ?
WColor is probably the same thing.
Quote:

PUT (for sprite - not disk access) => ?
GET (for sprite - not disk access) => ?
These are another conceptual difference between the dialects, and again, the conversion depends on the intended usage. I take it you mean graphics objects, not actual sprites for this. You might be better off using the screen's bitmap instead of the window here, but the vague equivalents are Blit, BBlit and QBlit for PUT, depending on what the intention is, and GetaShape for GET.

Look, without meaning any disrespect, I think you need to learn a bit more about how both languages work before you can do this conversion. Some of the commands above are the type of thing that's fundamental knowledge in a language, and others need more of an understanding of the program itself to convert. I've linked to both manuals above, so I think you should spend some time getting to know them both. Additionally, Blitz comes with lots of examples on the disks that you can load and run to see how the commands are used.

Porting a program, even to a different dialect of the same language, is rarely as simple as a 1:1 dictionary change of commands. But if you spend some time learning the languages, you'll eventually be able to translate concepts, not just keywords, as well as being able to write your own original programs.

xboxown 30 November 2018 21:09

Thank you so much!

Dan 30 November 2018 22:14

I can try to convert your prog to the PC-BlitzBasic.

xboxown 30 November 2018 22:29

Quote:

Originally Posted by Dan (Post 1288159)
I can try to convert your prog to the PC-BlitzBasic.

Actually...I have something better to request. I will pay you 70 bucks guaranteed if you can take

https://computerarchive.org/files/co...k_of_Amiga.pdf
https://computerarchive.org/files/co...k_of_Amiga.pdf

these games written in AmigaBASIC to write them back into AmigaBASIC..BUG FREE...ZERO BUG....and compile them as standalone executable with the icons that represent them and put them in .adf disk. But these programs have to be compiled as standalone that it does not need AmigaBASIC and you can do whatever you want the with the source code...throw them or not..I don't care.

Next paid cheque I can pay them to you instead of buying a PS 4 game.

I want nothing PC related please -_- if it is not in Amiga..then forget it.

Oh by the way, the .adf I would like it released into aminet. Oh..one final thing......I will take this adf and make it as whdload slave so it can run in any modern Amiga system..including and up to Vampire in RTG mode.

What I would love if someone can help me here list all the games in Amiga that is made in AmigaBASIC. I want to make one huge .slave whdload that have EVERY SINGLE AMIGABASIC GAME EVER WRITTEN IN HUMAN HISTORY into one .slave file that when you run it in whdload it boots into kickstart 1.3, workbench 1.3 and you open disk icon and it lists all the icons of every single AMIGABASIC WRITTEN GAME SINCE THE FIRST AMIGA EVER RELEASED UNTIL NOW.

THAT IS WHAT I REALLY WANT :crazy:crazy:crazy It will be called AmigaBASIC GAMES ULTIMATE EDITION! :crying:crying:crying

davideo 01 December 2018 00:47

Why not just compile the AmigaBasic programs with http://aminet.net/package/dev/basic/ace24dist or http://aminet.net/package/dev/basic/Cursor

xboxown 01 December 2018 02:21

Quote:

Originally Posted by davideo (Post 1288182)

WOW! I did not know about those:shocked:shocked!!!

Thank you man! Thank you for saving me 70 bucks! I will write them myself and compile them myself!! :lol:cheese:great:crazy

Daedalus I LOVE YOU MAN!! THANK YOU FOR RELEASING THE Z-500!! :bash:bash:bash:bash:bash


All times are GMT +2. The time now is 00:34.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.08171 seconds with 11 queries