Laser Squad Map Editor V1.4 --------------------------- Written by Matthew Carrier, 28th Aug 2005 In good old Sinclair Basic using X128(PC DOS) V0.93 by James McKay Part of this program has been compiled using Colt ZX Basic Compiler. Initial release 7th September 2005. Updated on the 10th Oct 2005 V1.4 - Now In Colour! Woo! - Some keys have been changed -read the new keys! - Fill square and move cursor at the same time (Draw'n'Move tm) - "Assassins" datatype added. Requires the version that says "Assassins" on the menu. Although the level editing works, I`ve not fully tested every strategy in every level of the game, so if something doesn`t work as it should then TELL ME! - Highly compatible with... ah, now that would be telling... Updated on the 6th Oct 2005 V1.3 - Squished data to gain room. Note: Beta - never released Updated on the 1st Oct 2005 V1.2 - Removed 0 Delete key. There was no need for it being there and I Required the few bytes that it occupied. - Cursor now stays on screen 99% of the time. The cursor delete routine was in the wrong place. - Many internal changes/fixes, nothing noticable, but if you find anything wrong please let me know. Updated 12th Sept 2005 V1.1 - Clear map and crater routine. Yes, finally written. - Mini Map location. Such a nice routine in only 5 lines of BASIC. - Updated moonbase data within the game. Have another go. Note: This was a beta tester release only. ----------- What is it? ----------- This is a map editor for the ZX Spectrum version of the Target/Blade Software game Laser Squad that was written by Julian Gollop. Currently, this editor will only make changes to ASSASSINS and MOONBASE ASSAULT ------------- Requirements. ------------- 1. ZX Spectrum emulator that supports SAVING and LOADING in the common TAP file format - you must know how to LOAD and SAVE using TAP files in your preferred emulator. Your emulator must also be able to save AND load (extract AND import) data blocks. X128 can do this. 2. This map editor program. 3. Knowledge of the game, how a ZX Spectrum works and some BASIC programming skills. ------------- Distribution. ------------- 1. As this map editor is still `work in progress` please do not upload to WOS. I will upload when everything has been done. 2. Any publication/distribution on newspaper/magazine coverdiscs must contact me first. ------------------ With thanks to.... ------------------ 1. Jame McKay - for the best ZX Spectrum emulator on the PC. Any LOADING/SAVING hints and tips that are included with this editor program are based only on X128 (PC DOS) v0.93 by James McKay. 2. Vladimir Kladov for EmuZWin. The best debugger/assembler routines ever found on a ZX Spectrum emulator - and the 256 Colour routine too. 3. Threlfal & Hodgson and Hisoft for Colt ZX Basic Compiler Used For speeding up the solving each Soduko. 4. Julian Gollop for Laser Squad - Excellent game --------- Warranty. --------- This program is supplied `as is`. It won`t screw up your hard drive, computer or dump things where it shouldn`t do. If things go wrong and you do make a complete balls up, then don`t come running to me about it. -------------------------------------------------- What the Laser Squad Map Editor can and cannot do. -------------------------------------------------- The game Laser Squad contains data tables (as yet unfound/decoded) that store the locations of any objects that can be carried (weapons, ammo) This means that this map editor cannot place a weapon/ammo pack onto the map and expect the game to find it when the game starts. So, YOU CANNOT PUT EXTRA WEAPONS, AMMO ETC ONTO THE MAP. Can do. ------- a) Edit most static items within the map to create a brand new moonbase. This includes all types doors. b) Edit the locations of the Analysers and Databank systems. c) Show and change the deployment locations of the Laser Squad. d) Show the deployment locations of the Omni Corp. The deployment locations are pre-programmed for 1 player (vs computer) games. In 2 player games Omni Corp deployment can be anywhere there is a deploy square. Cannot do. ---------- a) Edit stats/name/inventory for each character. b) Edit graphics c) Add weapons, ammo etc on the map. d) Change the length of the game(turns). Remember - this is a map editor and NOT a game editor. ------------------------------ Using the Laser Squad Map Editor ------------------------------ The map editor already includes map data - use the required version for the map that you wish to edit. The Editor Screen ----------------- At the very top of the editor screen it will show the description of the item at the cursor. Next to that it will show if the item can or cannot be edited or deleted - also know as Denied pickups. If edit states NO then you CANNOT change or delete that object as it is required for the game to operate correctly. Main Cursor ----------- The main editor cursor can be moved with the following keys:- W - Up X - Down A - Left D - Right with Q,E,Z,C as the diagonals will move the cursor around the screen. Space or M will place the selected item in the highlighted square. Symbol Shift+ direction - will move the cursor and fill that square with the selected item. This will make editing slightly quicker. Note - the first square doesn`t get filled, so this is not a bug but an exclusive non-working feature. When moving diagonally and the cursor hits the edge then it will stop placing objects. This is for your own good. For quick editing/deleting..... -Assassins only- 1 - will place a floor tile 2- will place a piece of grass -Moonbase Assault only- 1 - will place a floor tile 2- will place a piece of empty moon surface Selecting another part of the map --------------------------------- G - Choose another part of the map (using WXAD keys) Space or M to select 9 - abort map selection Redrawing the mini map ---------------------- Symbol Shift + M This will redraw the mini map. Only walls, windows and main features are shown. Use this map as a rough guide. Remember, it is decoding 4000 bytes to draw that map. Item grouping / Item selection ------------------------------ R and F - Choose item grouping. O and P - Select item Deployment Areas ---------------- To place the Laser Squad and Omni Corp troopers at the start of each game there must be Deployment squares added to the map. These are in the DEPLOY item group. ------- Laser Squad troopers can only be deployed onto D sqaures. I have set a minimum of 10 deployment squares. -Assassins only- There are two types of delpoyment squares - one for grass, one for gravel - they are named in the editor. When troopers move from these squares then that surface will appear. Any unused deployment squares will also turn to the named surface. -Moonbase Assault only- When they move off these squares the empty space will be replaced by lunar/moon surface. Any unused deployment squares will also be replaced by lunar/moon surface. ------- Onmi Corp troopers can only be deployed onto inverse D sqaures. When they move off these squares the empty space will be replaced by a floor tile, as will any unused deployment squares. In 1 player game (vs computer) The computer places Omni Corp troopers at the start of each game. These location are pre-programmed from a list (yet unfound) so the computer might demand to place a trooper at a set square (or area). Also see DENIED AREAS In 2 player game. The user controlling the Omni Corp can place troops in any of the deployment squares. I have set a minimum of 100 deployment squares for the Omni Corp. Fuel Drums / Gas Canisters / Vidi Screens ----------------------------------------- Yes, beautiful (and explosive) as they are, they should only be placed inside the moonbase as once they have exploded the square (and any surrounding squares) will be replaced by the floor tile. So, placing a fuel drum onto the moon surface (and then blowing it up) will leave a nice tiled surface which will look stupid. These explosive objects can be hit from any angle - so plan your map carefully. Analysers and Databank systems (Moonbase Assault only) ------------------------------ These are the items that must be destroyed by the Laser Squad. Analysers are woth 2 points Databanks are woth 5 points A minimum of 100 points can be placed on the map. Denied Areas ------------ Love them or hate them, like Rebelstar, Laser Squad also has denied areas. These are squares on the map that the game has reserved to deploy Omni Corp troops. If any of these squares are blocked then the game usually hangs once the last Laser Squad trooper has been deployed (That little annoying pause after Android Barker has been placed) and the game sorts out the map and tries to place Omni Corp troopers. All denied areas are marked with a big X and cannot be edited. -Assassins- Droids start in pre-programmed locations (as denied areas). Sterner Regnix is randomly placed within an oblong 14x9 squares. This is situated from 39 (across) 18 (down) to 53 (across) 26 (down) on the Assassins map. If a wall is blocking the selected square then another is chosen. so don`t fill this area with walls! Furniture is ok, as that can be walked upon. Carry a dagger and play Psycho by finding Sterner in the shower... -Moonbase Assault only- You may have noticed that one of the denied areas is not grouped within the normal deployment squares (top right of map). Yes, the game that you know and love so well has cheated for many years. Complete clean map ------------------ Symbol shift + O (the letter oh!) Upon confirmation, this routine will wipe the slate clean. -Assassins- Will fill the screen with grass. -Moonbase Assault- Will fill the screen with moonsurface and with randomly generated craters and rocks (not really random, but it`s the next best thing without the editor crashing) To Exit the map editor ---------------------- Symbol Shift + H -Moonbase Assualt- Will add up the amount of Analysers and Databank systems placed onto the map. It will also display the total victory points the map contains. I have set the victory point minimum to 100. It will then addup the deployment areas for the Laser Squad and Omni Corp and then displayed. If the minimum amount of any of the above has not been matched then you will be given an error message and then go to the menu screen. Any denied areas will be replaced with floor tiles. At the bottom of the screen are the memory locations for saving the map from the editor and loading the map into the game. Now goto `Inserting your map data into Laser Sqaud` ---------------------------------------- Inserting your map data into Laser Sqaud ---------------------------------------- It would be wise to print this out.... The following instructions work with:- X128(PC DOS) V0.93 by James McKay Once you have finished editing your map AND you have pressed symbol shift + H to test/compile the map AND it has given the OK then you can do the following. All numbers are DECIMAL (make life easier) Press F6 to bring up the emulator SAVE MENU 1. Move the CURSOR down to START and press ENTER/RETURN 2. Type in 35400 and press ENTER/RETURN 3. Move the CURSOR down to LENGTH and press ENTER/RETURN 4. Type in 4000 5. Move the CURSOR up to SAVE MEMORY CHUNK and press ENTER/RETURN 6. Type in a filename and press ENTER/RETURN Your map has now been extracted. You can also save your map as a TAP file, or just save a Z80 snap of the editor (which includes your map data) -Assassins- Included with the map editor is a normal version of Laser Squad with The Assassins level preloaded. -Moonbase Assault Only- Included with the map editor is the bug-fixed version of Laser Squad (with Moonbase Assault game loaded) USE THIS FIXED VERSION WITH YOUR MAP DATA. Once loaded, and displaying the control selection menu do the following to insert the map data. Press F6 to bring up the SAVE MENU (yes, save) 1. Move the CURSOR down to START and press ENTER/RETURN 2. Type in 54975 and press ENTER/RETURN 3. Move the CURSOR down to LENGTH and press ENTER/RETURN 4. Type in 4000 5. Move the CURSOR up to LOAD MEMORY CHUNK and press ENTER/RETURN 6. Select the file that you saved previously and ENTER/RETURN The map data is now in the game. If you want to save a Z80 snap of the game then do it now. Play the game FAQ: Q) I use (name of emulator) please tell me how to do the above. A) The short and sweet answer is as always read the documentation that came with your emulator as it might block copy code out to a file (as above) but in a different way. Then again, it might not block copy in the first place. Some emulators allow the block saving but won`t allow that data to be loaded into another memory location. Q) Once I have put my map data into the Laser Squad game I find that my map has blank black squares where there should be floor tiles. Is this a bug? A) No, not a bug. When you have finished editing your map you must press SYMBOL SHIFT + H to exit the map editor. It then compiles your map and checks the data to make sure that everything is correct and present. Only block save the map data when the OK message is displayed. If an error message is displayed then read it and do as it says. Q) There are huge gaps in the wall when in fire mode. A) Make sure that the walls you put on the map link together with the next wall - ie. it looks like a solid wall. If there are gaps in the wall in the editor, then there will be gaps in the wall in fire mode. Q) Some of the graphics are reversed when in scanner mode. A) As I`ve taken out some of the bugs within the original game (the scattering of pixels next to the loo....) by changing the one of the data tables so they read as they should`ve done in the first place, this means that I still need to find the graphics that relate to the scanner. Too many data tables....... Q) I have saved the map data mid-game from Laser Squad and loaded it into the editor. It doesn`t show weapons or any of the troopers. Why? A) Because you want to cheat. The trooper graphics have not been drawn and the descriptions (trooper names) are not included. Memory restrictions are the answer. Weapons are not shown because it is not (yet) possible to place weapons on the map without updating other data in the game. --------------- Known Problems. --------------- In the 1 player game (vs computer) the Omni Corp are pre-programmed to set paths and do things when the condition arises (ie. defend a pre-defined area when it is invaded or rush to defend a door when it has been opened) there may be times when the game will throw troopers at walls or even shoot at a new wall that should not be there. Any problems regarding the game crashing/freezing at the very start are due to there being building on the Omni Corp starting location - Remove that data and try again. I have now found that playing the original Moonbase Level (not modified in anyway) that it still freezes/crashes once the Laser Squad has been deployed so there is a bug somewhere in the game. But this is very rare. --------------- Future updates. --------------- I think that I`ve covered everything, but any suggestions and improvements are welcome (providing that I can program the routine) Final FAQs... Q) Will there be editors for the other levels of Laser Squad? A) Not at the moment. Don`t bug me with emails demanding an editor. Try writing an editor for the level that you want editing yourself as it`s a great learning curve as to how some games work (and how they cheat) and the hidden items that can be found. Q) I have some time on my hands, can I write a datatype for my fave Laser Squad level? A) Sure! You`ll need to convert each and every game 16x16 graphic to an 8x8 graphic (and still look good), type in lots of text, create a few lengthy data tables (lots of meaningless numbers that link graphics to text to colours etc), searching for computer start postitions, cheating, denied areas etc. So... you`re talking about a week of solid work and testing. Then you`ll have to get all that data to me and I`ll have to write a routine that`ll compile a fully working level for the editor. It`s not easy. Have fun and enjoy. Mat email: kindawitch@hotmail.com