Short: Yet Another Map Editor v0.0b, by CAT/RST! Author: CAT (Toby Zuijdveld) Uploader: blaze box net au (Steven Cooke) Type: dev/misc Architecture: m68k-amigaos /\ _ _ _ /\___ _ _ //\\__ _ _ /\_ _ /\__/\_ _ /\__/\_ _ __ _________\//\_____________/ \__________/\____/\ /\ ____/\__/\______ \\_\\____ ¬\/. ____/ ____/__/ _______ __/ \/ \/ / \. ____/ | ) _// __/__\____ \ \_____ \/ \/ \ \ \ \_/ __/__ |! | ¬\ \ \ \\ \ \ \\ \\ \\ \ \\ -/ \ \ |___| //_____ //______ //__/_____ //___ //___\//_/\ //__ //DTN__ // !___/ \/ \/ \/ \/ \/ \/ \/ \/ is proud to present: Y A M E v 0 . 0 b b y C A T ! Disclaimer =-=-=-=-=-=-=-=-=-=-= I am, and will be, in no way accountable for any mishap that may occur from the use of this program. Nyah. What is it? =-=-=-=-=-=-=-=-=-=-= Who likes games such as... SWIV? And BoulderDash? And Lemmings? Ever wondered how they managed to cram such a HUGELY big level into a 512k machine? Look more closely; see the lazy artists used bits of the same scenery all over the place? I hate to be the one to tell you, but this wasn't just a boring paintjob. Maybe it would take up a lot less memory, if the artists drew lots of little `bits' of the background, and the programmer `pasted' them all over the place. The programmer could use the same bits in differant places, eg a cloud, could be placed at the top of the screen, or at the bottom, or on the sides... OK everyone knows what I'm talking about right? YAME's a map editor! But there's so many! =-=-=-=-=-=-=-=-=-=-= Why another map editor? Well, cruising around on my local BBS (yes, people still do that!), the best I could find was MapEd, which didn't support more than 256 blocks! I had a rawdata map I wanted to use, and MapEd wouldn't allow that either. Features =-=-=-=-=-=-=-=-=-=-= YAME supports 4 and a half differant types of map layout. Err. Sort of :) Up to 1024 blocks! Saves previews at 5 differant sizes! Intuition interface means - EASY TO USE! FREEWARE - may be copied freely as long as the contents of this archive remain intact and as whole, no profit must be made for the copying of the archive, magazines, Fred Fish, AmiNet CDs are free to spread this if they so wish. Commercial releases which use this mapeditor, well, a thankyou letter/maybe a free game would be nice :) Usage =-=-=-=-=-=-=-=-=-=-= YAME can be run from either CLI or Workbench. Tooltypes and CLI arguments are not supported, but the builtin Prefs editor is decent enough :) The program opens up two windows. One known as the map window, one as the block window. In the map window, you edit the mapdata. Click the left mouse button to change the current block co-ordinate to the block you last selected... In the block window. Here you click the left mouse button to select a differant block. Each window has slider bars which will scroll thru the map/block area, allowing you to see the whole thing. Each window is sizeable (only for use when I get the ScreenModeRequest working! (see Bugs) ) Menus =-=-=-=-=-=-=-=-=-=-= Project |-Load | |-Map Brings up a requester. Here you select a map file. See | | Map Types for more information on the map formats. | |-Blocks Here you select an iff file. Any width and height is | supported. Each block is cut out to be 16*16 at the | moment. You should only try to load 2-->256 colour | IFFs for now. |-Save map | |-YAME Saves out the map as the latest YAME format. | |-FREDIT Saves out the map in MapEd format (included in archive) | |-AME The program for these two formats is also in the archive, but | |-TAME incomplete. I never recieved a complete archive of TAME. | |-Raw Saves out in raw format (without a header.) Not recommended. | |-Preview Saves out a preview of your size choice. |-Preview Shows a preview of the map. Asks for differant sizes: | 1 - Full size | 2 - Half size | 3 - Quarter size | 4 - Eighth size | 5 - Sixteenth size |-Credits Brings up a small requester about the program. |-Quit Urr... duh! | |-Prefs Brings up the preferance window. | |-New Creates a new map, filled with block 0. Prefs =-=-=-=-=-=-=-=-=-=-= Here you can enter the default x and y sizes (for use with New), the path to the MapEd.DAT file (for use with Credits), the screenmode and font requestor (which are both currently disabled.) Also, the button marked Change save prefs, will ask a few questions relating to the output of the YAME map files. Save, Use and Cancel are self-explanitory. The Prefs will also save out the positions of the block and map windows, for your convenience. Map Types =-=-=-=-=-=-=-=-=-=-= See MapEd and TAME for information on the FREDIT, AME and TAME mapformats. Please note that the .BLK files used with AME and TAME are not supported by YAME (getting confused?:), only IFFs are. Preview The previews are saved out in IFF format, in the number of colours that are currently in use by the program. Raw These files contain no header, no x and y sizes, just the mapdata. Can be stored in bytes (128 blocks supported), words (1024 blocks) and longwords (same as words for now.) When loading raw maps, YAME will also ask for an offset into the file (to avoid weird headers!) AME These files have a 6 byte header. I had to guess the first 4 bytes, and the last two are a mystery to me! Offset Description 0 Header (word) = $1234 2 X size (byte) 3 Y size (byte) 4-5 ??? 6 Mapdata (words) The attribute data is not supported (skipped). YAME will try and load the associating block file(s) straight away if it can find any. TAME These files don't have headers. Datas are stored in differant files, which is just plain messy. YAME first looks for the .Dat file, reads the x and y sizes and palette information (and uses it too!), then looks for the .Map file, and reads the data. FREDIT These file have an 8 byte header. Probably my favourite external format, it's just so easy and straightforward :) Offset Description 0 Header (4 bytes) = "MAP " 4 X size (word) 6 Y size (word) 8 Mapdata (bytes) There are plenty of examples of the last 4 formats in the Examples/ drawer to keep you occupied for a few minutes :) YAME Well naturally I had to invent my own standard :) YAME map files are stored in IFF format. Chunks may be stored in any order, but must be of the right size. All chunks need not exist, but BODY chunks MUST be the last chunk in the file. Of course it doesn't make sense to exclude the MAPX and MAPY chunks :) Offset Size Chunk name Description 0 4 Header (4 bytes) = "FORM" 4 4 Subheader (4 bytes) = "YAME" 4 VERS Version information, only of use to YAME. (2 words) 108 PATH Pathname for blocks file. (108 bytes) 32 GFXN Filename for blocks file. (32 bytes) 4 MAPX X size (longword) 4 MAPY Y size (longword) BODY Mapdata (words) stored in across, downwards fashion. Bugs (shock, horror!) =-=-=-=-=-=-=-=-=-=-= BLITZ! A common profanity used of late, along with FU... DGE! OK most of these problems are overcomable, I just don't know how :) RTEZScreenModeRequest and RTEZFontRequest don't actually seem to fill my variables up with new and interesting data, seems to just leave them be instead. PICreateRequest doesn't fit on a lores screen No error checking for statements like Bitmap and Dim means the program will exit of it's own accord every now and then :) Things to do =-=-=-=-=-=-=-=-=-=-= 1) Fix bugs :) 2) Introduce INFO chunk to YAME map standard, for creator's comments and the like. If anyone can see the point in this, tell me and I'll do it. 3) Introduce more map formats, if I can get my hands on any. 4) I need layout information on the Blitz 2 mapeditor .gps and .mapstuff files. Does anyone know this??? 5) Introduce the group function, like in Blitz 2 mapeditor. Very handy! 6) Whatever YOU suggest! 7) Introduce more bugs :) Thanks go to =-=-=-=-=-=-=-=-=-=-= (in no particular order) Commodore, Escom and the hundreds of others for going bankrupt :) ACID Software for producing the best programming tool ever to walk the Earth. Nico François for creating his excellent reqtools.library. Neil O'Rourke for creating his excellent ReqTools and Progress BlitzLibs. Fabrizio Farenga for MapEd v1.5, for which without YAME would never have been born. Maybe :) Zaphod for FREDITOR, for which without MapEd would never have been born :) Anthony Ball for TAME and his really ugly mapformats (but they were based on Atari ST programs, so I don't really blame you:) Tiertex for your map editor, which led Anthony to making AME. Atari for Gauntlet and Gauntlet 2. The Bitmap Brothers for Speedball. Ben Campbell and JS Hong for The Caffiene-Free Diet Shoot-Em-Up :) Dongleware for Catch Em! (I only used maps on the coverdisk demo!) Frank Wille for his Phantasm Map Editor (and the nice example map :) Contact me =-=-=-=-=-=-=-=-=-=-= Send all your comments, suggestions, criticisms, help, mapformats and beautiful women to me c/o: hoss@box.net.au (Ian Hoskins). That's it! I think.