-=Forever Legend-EXTERNAL RELEASES=- Versions: 0.01 Alpha (First Release) -Basic architecture of game, only one file with just trees, terrain, and character. -Main charcter was made. 8 frames. -Master Palette was implemented. -All files were internal. Sucked up a lot of memory. -Only had keyboard support a bad way. Kept on having to flush the keyboard buffer. ***All these I'm not to sure about. I should have made a log earlier******* 0.02 Alpha -Started adding page flipping(16bit). -Update gfx engine with new procedures(loadpal, zero). -Movement was Slooooow! Couldn't figure out why. -Tried adding sound support, but sound system stunk,but I left it anyways. 0.03 Alpha -fixed movement problem. I was calling a routine mutiple times, stupid me. -Added logo screen. -Started architecture of the game engine and file handling engine. with such procedures as drawman, doit(draw terrain and draw overlay) 0.04 Alpha -Added map reading support. Instead of having just randomly placed trees. Made such procedures as loadovr, doovr. -Started having graphic files external instead of internal, saved memory, and something that had to be done. -Added a font, that was a little screwy. -Added the print procedure to put text on screen. 0.06 Alpha -Added new graphic routines. Floadpal, overwrite, wavyu and wavyd. -updated procedures drawman, doit, drawoverlay, and drawterrain. -Added basic XMS handling. -Tried a new music engine, still stunk. -Started loading graphics into xms for faster gameplay. -Added joystick support. Only tested it on the Gravis Gamepad tm. -Made start, continue options int the title screen. -Main character was updated to 12 frames. 0.07 Alpha -Code started to get quit messy, started to get confused. -Started making keyboard routines to trap kyb interrupt. -Updated gfx engine to add 32bit page flips and cls's as well as some other procedures. -Added 2 more virtual screens so you wouldn't have to redraw the screen constantly. Also added backup screens. -Font was fixed, it was off by a line of resolution. -Put in boundries for the main character because he was doing funny things to the screen. -Updated procedure floadpal and fadeto have degree of fade and range fading. 0.08 Alpha -Added msgbox routine. -Initial battle engine was implemented. Battle character was done, but didn't follow palette. -Made routines to load graphics from disk straight to XMS. -Added initmem routine. -added playit routine which handles how the map generally behaves. -updated battleroutine to do more stuff. -updated graphics engine with rotate, openregs, closeregs, vhold, miscpal vint. -updated user input, so instead of calling two procedures, call only one. 0.085 Alpha -Changed map format. -Added resolution reading from raw file, exept from terrain, font, and character. 0.1 Alpha -Finally found a good sound engine. I settled with MIDAS tm. -Now has support for sound effects. -Seperated routine in the procedure playit. Made it out to be playmap. -Seperated procedure doit to doterrain and dooverlay. -Made procedure movemap which made to game run smoother. ***********************Done for the not to sures*************************** 0.3 Alpha (November 11, 1997) -Cut down workspace to a 64k block which can handle all graphic routines. -Freed up a lot of stack space, don't know why I didn't see that before. -Implemented Savegame feature, only supports one savegame for now. -Implemented database files for more flexibility on making the game. files are for enemies and overlay objects. -Have a new structure for all the map, enemy, and main character status. Took all global variables and slapped them on to the heap instead of the stack. This made it easier to implement the savegame. -Re-put the 32bit page flipping, found out that the sound system didn't like the 32bit cls'ing. Also changed routines to asm. -Added keyboard status saving for when the program returns the control of keyboard, it returns status. -Implemented character status, hp, mp, etc. -Started to write this log. -Made makeobj.exe and makenemy.exe for making db files. -Battle Scenes updated. added enemy gfx on battle. -Magic was put in to be prompted. 0.4 Alpha (November 23, 1997) -Restuctured *AGAIN* the data for the map and enemies. -Made MAKEMAP.EXE and MAKENEMY.EXE for making the game. -Put all data for overlay and map size in the mapfile itself. -Made MAKERES.EXE for making graphic files readable within the program. -New joystick support, read directly instead of int 15h which was SLOW! -Redid the main font for more legibility. -Updated print procedure, wasting too many cycles. Also,it was not done properly -Fixed up battle scene. -Includued somewhat of a debug screen. Press F12 during gameplay on the map. -Started cleaning up mess I made. -Changed way to edit maps makes it easier to edit using characters '0'-'~' -Updated joystick handler, no need for caliberation now Also shrunk code of it. -Very basic fighting engine. Need for expansion. -Made pcx2raw.exe to convert pcx images to raw format. 0.41 Alpha (November 24, 1997) -Added command line option to load maps. 0.5 Alpha (November 29,1997) -Started making effects routines. -Organized code a bit more. -Started putting in civilians. -Starting to add proper effects for enemies. -Added credit section. -Hope to have this be an external release. -Been slow with progression because I've been soo damn busy. -Started file packing, make directory a lot neater. -Added a zoom effect. -Fixed some bugs in the code. 0.53 Alpha(December 22,1997) -Attempting to finalize the battle scene code. -Made MIX files more secure by adding a scrambling technique. -Added exit to dos command. -Organized battle scene code a bit. -Couple of bug fixed. 0.8 Alpha**BIG RELEASE!!!**(Febuary 17, 1998) -Truly put main data structures on to the heap. -Updated MAKEMAP.EXE. Have an all new interface for it. Much neater and organized than previous ones. -Put walking character onto the heap for a true speed increase instead of calling XMS each time. -Added trigger section for the maps(almost killed myself for why it wasn't working, so had to leave it on the stack). -Optimised main overlay load and drawing procedures. A lot less cycles. -Reduced code for loading full raw files, just made one procedure to handle that. -Found bug in the map reader, sorry about that, all works great now. I wasn't reading it properly. I was off by a shift. -Used new method of loading maps. Keeps data of current play screen. -Fixed bug in battle scene, when you used magic and defeated enemy, it would still attack you. -Added map editor within the game itself. -Fixed up main overlay drawing, tops of images were being clipped. -Made new structure for the way maps are managed. PLAYIT.PAS. Saves a lot of code space. -Made a mistake with savegame loading and saving. It wasn't putting the data in the right place. -Changed save and load to F1 and F2. -Added viewing xms pages for debugging purposes. -Set up some triggers and trigger handling. -Updated map procedures. Now can be easily be transferable between different maps via triggers. -Got rid of a lot of useless procedures that here sitting like a bump on a log. -Re-did Message box procedure from scratch. Had to have it so it loads messages from MSG_BOX array. -Re-did the triggers. I put it so there would be a possibility if 255 triggers. Also 255 maps could now be used instead if just 50. -Added 13 triggers so far. -Added msg db to map structure. -Made MAKMSG.EXE for editing messages. Holds up to 255 messages per file. -Updated msgbox routine. Instead of calling the procedure woth what to print. messages are kept in a buffer. Easier for loading messages. -Made msg loader. Loads mesaages into messagebox buffer from msg database. -Fixed *AGAIN* the drawing engine. It was taking data from out of the object's boundries. Previous releases had mysterious lines around the object. Had to subtract x and y by one. Sorry about that one. -Updated trigger structure. Had to add a sixth function for trigger 1. -Finished Civilian Trigger. Civilian moves to side according to which side main character is on. Had to use special case method for this one. -Slowed down main character due to on fast machines, he was way to fast. -Took out all delays and replaced them with wdelay. This uses the moniter as the timer. -Updated Message loader, has an unlimited message size but a limit to 255 messages. -Put wait_button command to reduce on some code. -Updated enemy db structure slightly. -Fixed up some more drawing related procedures. Took out all goto commands. -added ZOOM into graphics engine, it was being called by scale before. reduced some code. -Damn data structures are getting big!!! rpgs are BIG!! -Starting to add proper delays for computers. -Fixed up trigger reader, the search spreads out more. -Added pcx snapshot capabilities from vga screen. Up to 999 snapshots. -Have a new scaling routine. Now done in 32 bit. No more problems with it. -Put a big chunk(more then half) of gfx routines into pure asm. Have that as on OBJ file now instead of PASCAL. -Made a new routine to scroll text files up the screen without affecting the game...exept the game pauses. It goes like movie credits. -Had to fix up enemy loading routine. It had to be restuctured. Sorry about that! -Used a new putpixel routine. Seems faster. -Almost all graphics routines are in pure asm. -Organised code more. Bloody big job. -Fixed up the where to draw part from reading maps. One part I forgot to put a shift. -Took out two very stupid procedures, it took up useless cpu cycles. doovr, and do terrain. Just flipped the whole damn screen. -Added a new joystick, and keyboard handler. Fixed up problem with problems when sound is implemented. -Fixed up playmap procedure. Game runs a bit smoother now. -Fixed up the packing procedures. Allocates memory only when needed. -Add sound again...Everything works great now. Slows the CPU a bit though. -Added an exit routine. When error occurs, all the mess is cleaned up, then it displays the run error. -Still giving the whole game a face lift. I really made a mess with this game. -Took out MOD player and MTM player. Freed up about 25k of memory. All that's left now is S3M player. -Restructured the whole code to OOP. Took about a week and a half. This saved memory, and also allocates memory for code when called. Also much better in a heirarchy format. -Updated map format again. Have the triggers as a seperate file now for save game purposes. -Added onscreen messages for showing things instead of using the message box for eveything. -Took out the side screen thing, it was uselessly there, instead icons are placed at the top of the screen. makes the map a lot bigger now. -Updated fvrmake to comply with the new format of the maps and triggers. -organised all code, took out all useless things.. 0.9 Alpha May 30,1998 -Added error messages for easier debugging. Gives message and address of error. -Fixed up XMS calling routine. Had to adjust page sizes. I hate segmented memory. -Fixed up FVRMAKE.EXE. I forgot to clean up memory after itself for certain procedures. -Tried putting the game to work in protected mode, but it didn't work. Had to keep it in real mode. -I found the problem for why sound wasn't working. I was writing over the sound system. -Added segment alignment checking. I can't believe for all this time it was this poorly done. There should be no problems now. -Made the sound system work with EMS again, had no choice. The demands for memory were too much. Now you need like 300k free conventional instead of 600k. -Added section to change triggers within game.(triggerpass) -Fixed map loader *AGAIN*. The objects were not aligned properly. Everything is in alignment now. -Fixed up triggers that are there. Fixed the button checking function. -Added set defaults section because when you exited the game, it would keep original data. -squeezed font together for better legibility. -Added map viewer in gfx mode. -Finished primary boss engine. -Updated map. Now only supports pcx files instead of raws which were sucking up quite a bit of memory. -Updated Battle scenes, and Boss scenes. That too only supports pcx for the enemy, and the theatre. -Put in primary introduction scene. -Touched up pcx loader. Added transparency, load, or fload palette or not load at all the palette. Also had to fix boundries. it was drawing off the screen. -Added magic spell loader. Spells could now be customized... -Updated fvrmake.exe. able to created boss databases and magic databases. -Added items, only four, but it's not a big game. -Added shop trigger to set stores. -Reconfigured keys for the game. -Added effects for the boss engine. -Implemented primary sound effects. -Implemented drawsprite procedure which donated 2 FPS. -Added a clock. Don't ask why. -Took out some asm procedures which weren't being used. -Added timer hooking to have timers in game. byte, word, and bit. -Chopped down map loader in size. -Finished boss engine. -Starting to implement final game. Messages, design, etc... -Fixed map character. Now walks a lot smoother. Used different timing method. -Added cheat engine. Still a bit buggy. -Updated save and load games to save the triggers. -Updated the file packer. Now has a checksum to test MIX's integrity. -Cleaned out some calls which were being called too many times. -Took out the clock. It was a stupid idea. -Used a larger font. Just used the one on the video card. 1.0 Beta Release June 3, 1998 -Added new credits section. Goes with the end of the game only. -Adjusted joystick threshold. -Added option to disable joystick. Cause people were having problems with it. -Fixed reset sound option. -Updated file packer engine. Changed its name to RFP(Raw File Packer) or I could say (Richard's File Packer) :)....Also there's an incredible speed up in the extraction of files. I redid the scrambling technique into pure assembler which also handles blocks instead of bytes. Also leaves room for a possible compression technique. I would have to say like a 500% increase in speed. -Made font in battle bigger for better legibility. -Updated error handlers. Now says where error originated from. -Fixed the problem with the segment alignment problems. Has sort of an auto-adjust on it now. -Fixed button problems. Now button goes hi when you press on, then disables it when button is held. So button has to be released to have it work again. -Adjusted gold for each battle, also increased potency of spells. -Patched FOREVER.EXE because the delay() procedure is error prone to CPUs at 200MHz and faster. It was causing a GPF which makes no sense considering the game was made in real mode. I thank NightBird for the patch. 1.0 FINAL -That's it that's all! After 9 long months....The game is finally done! There's two versions being distributed. One with sound, and one without sound.