History of the Midnight Engine
Version 0.0016 21/05/00 Library: libraryhw.dll 1. Fixed potential crash bugs in the windows OnActiveApp system. There was a potential to be called prior to initialisation which would break the initialisation. 2. Fixed a potential crash bug in the windows OnPaint system. Some machines maybe sending a paint message during the DirectX initialisation but before it is finished. Scenario: default.mxs 3. Added default scenario Scenario: lom_spanish.mxs 4. Added lom_spanish scenario Launcher: MidnightEngine.exe 5. Finalised the scenario and frontend loading code. This has also affected all other modules. Frontend: default frontend.dll 6. Fixed compass being pressed error. ie: It was not showing the compass going down. Engine: MidnightX.dll 7. Moved all configurable variables into the main database. |
Version 0.0015
05/03/00 Engine: MidnightX.dll 1. Fixed character not losing his horse. 2. Fixed COMMA in guidance call. 3. Seek messages now implemented fully. A list of messages can be used to give general information. 4. Strongholds could reduce to zero when the winning army was already guarding the stronghold. This is now fixed. 5. Game now exits to the launcher after game over message. 6. Added a missing army count check that may reduce the battle numbers. 7. Added character memories. This is stage one, as it only records info needed by LOM. Frontend: default frontend.dll 8. Moved "ahead" and "here" text into the database. 9. Fixed TOOLTIP being left behind after scrolling map with cursor keys. |
Version 0.0014 16/02/00 Library: libraryhw.dll 1. Fixed a deinitialisation problem which caused a crash when exiting using the windows close icon. 2. Added some extra clipping for rectangle fills. This stops the pass through to the windows FILL from creating brushes for now reason. Engine: MidnightX.dll 3. Fixed an ordering error on the night message for "days have". 4. Armies occupying one of doomdark's owned strongholds now displays as being loyal to character. Frontend: default frontend.dll 5. Fixed crash bug when displaying more than 7 characters at a location 6. Removed debug information from AUTOMAP 7. Hopefully sped up the zoomed AUTOMAP tooltips. |
Version 0.0013 10/02/00 Engine: MidnightX.dll 1. Cmd_Fight describes with what object the wolves etc, were slain with. 2. More text moved into the DATABASE 3. Fixed bug in CMap::MakeAreaVisible, now considers locations correctly for AUTOMAP. 4. Increased viewing radius for CMap::MakeAreaVisible from 3 to 4. This now emulates characters visible area more consistently in AUTOMAP. 5. Fixed reporting of the ICE FEAR and COURAGE in CTextprocessor. This is now calculated as required instead cached per character. This was showing inconsistencies on the think screens. 6. CTextProcessor::DescribeStronhold no longer crashes when a stronghold is recaptured by the FREE 7. Strongholds owned by DOOMDARK at the beginning of the game can now be occupied by the lords capturing the stronghold 8. Area "The Moon" and "Moon" are now destinct. 9. Night description now describes battle areas with the correct prefix. 10. Some Ownership of keeps tidied up. 11. Regiments with command OD_GOTO now correctly only move if there is something interesting at their desired location. This could be seen with regiments on the plains of despair clumping into the keeps and citadels instead of guarding the plains. 12. Tidied up regiments routing code. Library: libraryhw.dll 13. Fixed CGraphicsX::Blit8A from not clipping the alpha the same as the image. Noticable on the mouse pointer at the top of the window. Frontend: default frontend.dll 14. new graphics for the Moon phases 15. additional graphical updates 16. ID_THINK is now correctly available during waiting modes 17. ID_WAITMODE is now tooltipped correctly 18. Right mouse click defaults to returning the LOOK screen 19. Now handles SHIFT,CTRL,ALT modifiers for the accelerators. this stops things like ALT+ESCAPE being interpreted as ESCAPE. However I cant stop windows taking system shortcuts like ALT+TAB, ALT+ESCAPE, CTRL+ESCAPE at the moment so windows gets preference on these. 20. Wide characters like FARFLAME no longer overlaps with the character to the right of them. This can mean one less character being displayed. 21. Fixed some scrolling issues in the AUTOMAP. 22. Fixed a mouse display problem after scrolling. 23. Fixed mouse up from sometimes selecting a character on the AUTOMAP scroll gadgets 24. Characters now show up on the AUTOMAP even when dead or hidden. 25. Free and Doomdarks armies icons are now distinguishable on the AUTOMAP. 26. After selecting dawn, the game now returns to the screen active before pressing night - if it can. |
Version 0.0012 06/01/00 Frontend: default frontend.dll 1. Fixed SAVEGAME. After typing and pressing return, the game is saved. 2. Added MOVE command on mouse pointer at the top of look panel 3. Fixed THINK_CHECK_PLACE from crashing when describing armies here or ahead. 4. Fixed ID_CHECK_PLACE from keyboard allowing check place when not available. 5. AUTOMAP adheres to the correct rules for showing armies at terrains. 6. A few graphic updates. 7. Fixed description of battle when characters lose no soldiers. 8. THINK_CHECK_ARMY no longer describes an army of none riders and warriors at strongholds 9. THINK_CHECK_PLACE no longer crashes after being recaptured by the free. 10. The moon is now placed correctly on the panoramic. 11. New 1600 pixel wide sky images to make correct panoramic. Library: libraryhw.dll 12. Audio system currently disabled until I use audio. This is a temporary fix for WinAMP. 13. Added DIRECTX version check. Engine: MidnightX.dll 14. Double full stop removed from guidance text. 15. A character with no army can now win a battle. 16. The correct number of new soldiers are placed in a stronghold after it is captured. 17. Characters and their armies now lose energy during a battle 18. Battles are now calculated correctly - I Think! |
Version 0.0011 17/11/99 Frontend: default frontend.dll 1. Added keyboard shortcuts for THINK_PERSON, THINK_ARMY, THINK_PLACE, THINK_BATTLE 2. SEEK Icon returns to LOOK from THINK_SEEK screen 3. THINK now automatically shows any object that can be seen or needs fighting. 4. THINK_PERSON now shows a different message for characters that have not been recruited. Fixes courage and icefear descriptions 5. LOAD AND SAVE screen now shows a title for clarity! 6. Tidied up DrawTextRectWrap, All spaces are removed between words, and thus formatting for spaces and end of sentences is now handled by the function. Looks tidier. 7. Tooltips now clear correctly when the panel changes. 8. Added multi sky images 9. Added the Moon - this is positional dependent on time and phase, also lightness of night graphics is affected by size of moon 10. Various Graphics updates 11. AUTOMAP now does a better job of keeping its position for a zoomout after a zoomin 12. AUTOMAP doesn't fill in the border as soon as one piece is visible. This is due to new map format. 13. AUTOMAP now does line of sight calculation for locations surrounding the player. 14. AUTOMAP is now only as big as the maximum area visible. disguising the real size of the map. 15. AUTOMAP now has repeat on the map scroll icons 16. Sky backgrounds are converted down to 256 colours in HICOLOR modes. This helps remove banding problems caused by insufficient hues of a color. 17. Characters can now have no shield 18. CURSOR keys map to left/right/up/down icons on all panels. These override any other mappings for these keys. Engine: MidnightX.dll 19. Stop character from entering a battle when they are already in one 20. Stop character from entering a battle when hidden 21. Added CanSee flag to objects - this is for objects that can be seen without seeking ie:horses, icetrolls, wolves, skulkrin, dragons 22. Added CCharacter::LocationObject which returns what object is at the characters location that can be seen 23. Increased the size of the map by 2 on each axis. This is to include the BORDER into the actual map rather than assuming the border. This may seem excessive and in most cases is, but it allows for the border to be made up of other blocking terrains other than frozen wastes. 24. Added CCharacter::EnterLocation and CMap::MakeAreaVisible for location line-of-sight calculations Library: libraryhw.dll 25. Fixed crash when FULLSCREEN is minimized and then maximized. 26. Added ability to load a JPG that is then dithered and quantized down to a 256 colour image Launcher: MidnightEngine.exe 27. Fixed video modes being passed incorrectly in full screen mode. 28. Default to fullscreen TRUECOLOR if the users desktop is HICOLOR or 256 colour. To try and pursuade them to use TRUECOLOR |
Version 0.0010 28/11/99 Frontend: default frontend.dll 1. Stopped keyboard command from issuing game commands when not allowed 2. Fixed display of terrains or armies in the think panel 3. Added display of Doomdarks armies 4. Fixed spurious crash caused by mouse 5. Stopped recruit character face and fight object from being displayed at inappropriate times Engine: MidnightX.dll 6. Fixed characters commands from acting on invalid commands 7. Fixed dying characters that have not been recruited from showing up areas on the map 8. The AUTOMAP location collection has been trimmed, the characters needs to explore more to get it on the map. 9. Ownership and Occupancy are now treated differently 10. Strongholds now report their soldiers name correctly. eg. Doomguard 11. Added CArmyTotal for totalling a characters armies when they are not at the location. Used of doomdark 12. Added CTextprocessor::DescribeArmyTotal |
Version 0.0009 23/11/99 Library: librarysw.dll 1. Split up into librarysw.dll, libraryos.dll and libraryhw.dll 2. Made various code less platform specific Library: libraryhw.dll 3. *Added 4. Removed DDLOCK_NOSYSLOCK from the surface lock. This was not present in DirectX3.0 and maybe causing the problems with NT. *IT WAS* Library: libraryos.dll 5. *Added Frontend: default frontend.dll 6. Added config support for default.fre 7. Added Keyboard redefinition support. See default.fre 8. Added new graphics for MOUSE_LEFT, MOUSE_RIGHT, CHOOSE_HERE 9. Changed AUTOMAP background to grey Engine: MidnightX.dll 10. Stopped regiments leaving a location when there is something interesting there. visible effect: Leaving a battle! 11. Stopped CBattleProcessor::MakeFriendOrFoeList from including dead armies. This allows the battle to report victories correctly 12. Correct victory reporting now allows Strongholds to change hands. 13. Fixed CBattleProcessor::Fight calculating attacking chance correctly 14. Fixed accumalation of soldiers killed by armies in CBattleProcessor::AllOutWar. will now correctly report. Launcher: MidnightEngine.exe 15. Fullscreen flag now disables the graphics option when turned off. Running in a window can only use the desktop settings and is hardwired to do so. |
Version 0.0008 18/11/99 Engine: MidnightX.dll 1. Added area collection on battle descriptions, so area is only displayed once 2. Fixed description of numbers greater than 999 3. Removed number description for 0 out of SS_NUMBERS and added SS_ZEROTOKENS. This allows choices of none,no,zero etc... 4. Fixed general save bug - not writing out correct values for certain class types 5. Dead characters now lose access to the think icons. 6. Fixed finding SWORDS, ICECROWN, MOONRING. ie: Anything that could be picked up. Frontend: default frontend.dll 7. Fixed Keyboard pass through for the ID_NIGHT on the Night Screen 8. Fixed AUTOMAP not showing correct tooltip for locations that had a character at them who was not recruited. Library: librarysw.dll 9. Removed DirectX5 Dependency Scenario: lom.mxs 10. Fixed min amount of troups than can be recruited from a stronhold. 11. default scenario is now more exact than LOM. ie: Where min is 100, at 110 LOM can recruit 100, default can only recruit 10 12. Fixed error with any location description of henges and lakes showing the wrong area if not the same area as the current character. This was a database problem, using {cla1} instead of {a1} 13. Fixed error with recruit and post men story using wrong location. This was a database problem, using {t1} instead of {ct1} |
Version 0.0007 16/11/99 Frontend: default frontend.dll 1. Moved to DLL and Added FrontendMain 2. Added Font Support with font smoothing. 3. Added New text printing functions to handle new fonts 4. Added Load/Save 5. Added new graphics from Jure Rogelj 6. Centered Panels 7. Rearranged Icons 8. Now uses Fullscreen splashscreen loaded from the scenario directory 9. Added splashscreen delay 10. Reduced Mouse restriction in fullscreen 11. Fixed carriage return processing in text messages Launcher: MidnightEngine.exe 12. Added Launcher 13. *Start New Game 14. *Load Game 15. *About 16. *SetFrontend 17. *SetScenario 18. *SetGraphicsMode 19. *SetFullScreen Engine: MidnightX.dll 20. Move some code around to facilitate the Scenario 21. Added InstallScenario 22. Added LoadMidnightEngine, UnloadMidnightEngine, GetMidnightInterface, ReleaseMidnightInterface 23. Added CanWeSelectCharacter 24. Fixed Movement into frozen wastes Scenario: lom.mxs 25. Added lords of midnight scenario Library: librarysw.dll 26. Added CJpg Jpeg Support 27. Added GetSysInterface, ReleaseSysInterface |
Version 0.0005 06/05/99 1. Night Processing pretty much finished. 2. Win and Lose conditions now implemented. 3. Characters now have attributes if they can wear the moonring, carry the icecrown and destroy the icecrown. 4. Fixed calculation of Ice Fear 5. Added CTextProcessor, CNightProcessor and CBattleProcessor class 6. Fixed up the TextProcessor Special Codes and now pulling almost all text from the database. However the special codes part of the textprocessor is currently memory allocation intensive and this slows the Debug Build down to a crawl! ( must fix ) 7. Sorted out both versions of the compass. Adding RotatingCompass=TRUE to the ini file sets the rotational one. However I have chosen to not have and graphically rotating compass as it didn't look as good. May revist. 8. Added internal Foe, Liege and Loyalty to characters. 9. Added internal Loyalty to regiments. 10. Added Doomdark as a none selectable character. This is so regiments and strongholds can belong to him. 11. Added Race/Terrain movement table 12. Added command time taken table 13. Added Show characters Icon to AUTOMAP 14. Added Show Armies Icon to AUTOMAP 15. Added Display Same Area Icon to AUTOMAP 16. Added Zoom Icons to AUTOMAP 17. Added lock to character on AUTOMAP 18. Added Show Current Location to AUTOMAP |
Version 0.0003 : 23/03/99 1. Mouse pointer changes to show that you are over something. 2. Armies now display on the look view. 3. nearly all think text is finished. Awaiting Message Preprocessor 4. More key navigations 5. Splash screen 6. Rest Command and Time of day icon 7. Check Person, Place, Army icons on Think screen 8. New size icons 9. New face graphics for characters 10. New Current Character Icon 11. Cursor changes to left or right at the edges of the panel. 12. various internal code and data structures that show no apparent current gains. 13. 24bit true colour support - although I am a little uncertain about it working on all systems due to the difference between RGB and BGR formats. I think I have catered for this but let me know if you have problems 14. Various bug fixes and tweaks. ( inc. BMP Loader! ) 15. I've tweaked the night/day progression. It now starts darker, gets brighter towards miday... holds it and then drops back down darker again. 16. Config file now implemented. 17. Night screen now implemented. 18. Availability mode now implemented 19. Strongholds have individual properties and no hard code! This allows for stronger/weaker strongholds etc. |
Version 0.0001 16/02/99 1. First Preview Version |