This is the MND codebase changelog, while much of what is in the code isn't documented here because of the big stage jumps and log periods of inactivity some has been lost to time. We will now try to keep it rolling as we develop so we can better track the progress of the game development.
- 1 1/18/2020
- 2 12/03/2019
- 3 11/27/2019
- 4 11/02/2019
- 5 09/30/2019
- 6 09/23/2019
- 7 12/27/2017
- 8 12/26/2017
- 9 12/20/2017
- 10 12/14/2017
- 11 12/12/2017
- 12 12/09/2017
- 13 12/04/2017
- 14 09/13/2017
- 15 09/12/2017
- 16 05/16/2016
- 17 05/14/2016
- 18 04/27/2016
- 19 04/25/2016
- 20 04/23/2016
- 21 04/18/2016
- 22 04/17/2016
- 23 04/06/2016
- 24 04/03/2016
- 25 03/22/2016
- 26 09/1/2015
- 27 08/19/2015
- 28 07/22/2015
- 29 07/17/2015
- 30 07/15/2015
- 31 07/14/2015
- 32 07/08/2015
- 33 07/05/2015
- 34 07/01/2015
- 35 06/30/2015
- 36 06/29/2015
- 37 06/28/2015
- 38 06/27/2015
- 39 06/26/2015
- 40 12/03/2014
- 41 11/22/2014
- 42 11/20/2014
- 43 11/13/2014
- 44 11/11/2014
- 45 10/13/2014
- 46 10/8/2014
- 47 10/1/2014
- 48 9/30/2014
- 49 9/30/2014
- 50 9/29/2014
- 51 9/28/2014
- 52 9/27/2014
- 53 9/23/2014
- 54 9/22/2014
- 55 10/30/2013
- 56 05/01/2011
- 57 04/23/2011
- 58 3/22/2011
- 59 1/09/2011
- 60 01/08/2011
- 61 08/07/2009
- 62 07/07/2009
- 63 06/07/2009
- Updated Profession Systems
- [Glassblower] Blowing Glass, Forming Windows
- [Miner] Refining & Smelting Ore
- [Miner] Quarrying Marble & Sand
- [Farmer] Milling Flour & Cornmeal
- [Cook] Grilling: Corn, Fish, Potato
- Nature System Updates
- Growing, Freezing, Thawing
- Seeds from plants
- Added Casino Racing Basics
- Got rid of Justify
- Fixed things with save/load world settings
- Updated Profession System
- Harvest for Farmers
- Weave & Spin for Weavers
- Study to level in profession from library
- Nature System Updates
- Farming Updates, Farms Grow.
- Plant Updates
- Updated profession system
- added mold for brick, and laminate for wood/lumber
- updated DCs for profession skills, setable
- change resource wood to board.
- Rewrote networking code to use IPv6 if available and also accept connections from IPv6 clients
- gethostbyaddr is deprecated, using getnameinfo now which also handles IPv6.
- Run string through mysql_real_escape_string before inserting into DB.
- Wow, it's been a long time...
- Fixed some memory leaks in utils.c(get_char_name and a few others)
- Started rewrite of the introduction system
- Fixed characters sometimes showing twice in show_chlist_to_char()
- Added new function look_at_target(character, argument)
- Rewrote cmd_look
- Check_reconnect should now probably detach from the iterator.
- Fixed crash in linkdeath_quit(void)
- Fixed keep-alive and set to every two minutes
- Removed traces of event_socket_ping
- Added error checking for rooms in display_exits
- Added warnings for obj_same_loc, cmd_open and cmd_close to remind to fix.
- Fixed cmd_world to not just display anything when supplied with a blank argument
- Fixed various -Wformat-security warnings.
- Fixed various -Wunused-but-set-variable warnings
- Removed random_number from utils.c
- Rewrote randon_number in mud.h as static inline
- Fixed functions in buildings.c not properly detaching from iterators
- Fixed cmd_quit to NULL initialize some variables.
- Added SETTING_TELNETGA for setting on telnet go-ahead
- Fixed strftime formatting in save_account
- Added memory calculation for buildings.
- Added go-ahead
- Added percentage of paged content left into the display.
- Fixed paging to display the correct amount of text per height of client.
- Enabled MCCP again. Only version 2 is implemented now. If you need version one, update your MUD client.
- Started work on a chat server to handle chatting between different planets/worlds/servers.
- Fixed tell to not display "that person isn't around".
- Removed the added next_page line count.
- Changed next_page to use 80 characters until I can fix justify to use the proper information.
- changed next_page to subtract four from the line count for testing purposes.
- Removed the extra \r\n at the end of cmd_showlog
- Fixed get_char_data to detach the interator.
- Free MySQL results in get_char_name
- Free MySQL results in get_account_name
- Changed building IDs to be per building.
- Fixed some issues with buildings
- Various other things I probably forgot about over the years
- Picking child during character creation no longer allows you to pick stats
- Fixed issue with going back too far in character creation.
- Generation Selection in character generation.
- FARM profession phase I
- HELP FARM
- Nature System phase I
- nature.c & nature.h
- Fixed BUY bug
- Adjusted how age and date of birth are handled.
- Fixed datetime on communication log table
- New function check_coords_for_landmarks()
- Fixed deleting of landmarks
- Fixed deleting of buildings, rooms and exits
- Expanded the z grid call where it was still missing
- Fixed age and birthdate info, saving and loading.
- Expanded is_same_loc to include buildings and rooms, fixing a bit of display oddities.
- Fixed problem with SOCIALS with distance errors.
- New function set_location_type_coords
- BUILD Support
- BUILD DELETE BUILDING - command added
- BUILD ROOM NAME [name] - command added
- BUILD ROOM DESC [description] - command added
- New command build to create/remove buildings, rooms and exits
- New support commands for the building system
- Added saving/deleting functions for building, room, exits.
- Fixed crash when loading into a building that doesn't exist.
- Moved ++count in cmd_who to stop it from counting every connected client.
- Added some DetachIterator calls that were missing
- Commented out the invisible stuff in cmd_who to prevent crashes
- Adjusted cmd_who for account name not be seen as on. This is for those that wish to not be tracked by their who name. Gods still see your character and Staff still sees your account name.
- Fixed problem with cmd_set when option was not available.
- Fixed Language Selection Problems
- Added World Settings - To Toggle Sleep, Hunger, Thirst
- Added Commands - bathe & smell
- Added Staff Command - World (for world settings)
- Added Vitals - Health, Odor, Hygiene, Temp, & Drunk
- Added Drunk Talk
- Added Temp Coffee to Counter Drunk
- Added Lumbermill Building Type Usage for Saw
- Fixed cmd_sell & cmd_buy bug, when trying to buy/sell items that wasn't on the list.
- Fixed cmd_speak bug with languages
- Added Building Type Check for Exchange & Tavern
- Added Temporary Resource & Coin Usage
- Fish And Cook basics
- Added Tavern & Exchange Support Functions and structures
- Commands SHOP, BUY, SELL, WEALTH, DRINK, EAT
- Added check for can_pass terrain in can_move function
- Fixed show_chlist_to_char to not display people in buildings when not in same one
- Changed in_building to not check map ID since we keep map id the same when entering buildings
- Fixed communicate COMM_PRIV to break instead of return
- Accounts no longer save if the password is NULL
- Added new functions in_same_building, in_same_room, building_type_string
- Fixed displaying characters from every room in buildings
- Removed MCCP initialization
- Fixed COMM_LOCAL to use new functions
- copyover_recover now checks if you're in a building to load rooms
- cmd_goto now accounts for building and room information when going to another player
- display_room now shows bulding name and ID
- Quitting and going linkdead now unload rooms
- Fixed cmd_where to properly check if victim is in a building
- Fixed distance to landmarks in cmd_survey
- Check if character is loading inside a building and load rooms if not loaded
- Init room unload event if quitting while in a building that's empty
- New event event_building_unload to unload buildings after five minutes
- cmd_where now checks if a player is in a building
- cmd_enter now uses building linked list instead of DB calls
- cmd_exit now uses building linked list instead of DB calls
- Added new functions: building_from_location, building_empty
- Expanded event system to include rooms and buildings
- Rooms now dynamically load and unload when uses/unused.
- Updated pfile_locations in DB to include building and room ID
- Updated save_char to include building and room information
- Updated load_char to include building and room information
- Rewrote display room to use new room system
- Building movement code has been rewritten using new building code
- Rewrote cmd_enter to use new building code
- Added new function "move_char".
- display_exits now uses exit_list function
- New building code has replaced the old
- Rewrote cmd_exit
- Reworked cmd_enter
- Added simple account name validation check
- Fixed return value of failed query in load_account
- Added missing mysql_free_result to cmd_socials
- Added login locking, registered only, god and staff and staff only
- Fixed grantlist
- Organized some of the Chargen System to match format when making selections
- Added CHAT channel to the communications log
- Command: TRAIN: cmd_train command for training up profession levels
- functions added: profession.c - update_profession, load_profession, load_profwork, profession_lookup, has_profession
- functions added: get_account_name, get_account_id, get_char_data
- functions added: xp.c - load_xp_table, check_cxp
- Command: PROFESSIONS - to display profession data
- Added limit to the SHOWLOG command - SHOWLOG <type> <limit> or it lists last 20 if no limit is selected.
- Fixed crash with overland movement
- Fixed major bug in cmd_goto to include map and z coordinate that wasn't there before.
- Communication Log System in for Staff, Say, Tell, God
- Command SHOWLOG for viewing logs by Staff/Gods
- Fixed bug in color config settings
- Added Commoner XP and XP fields
- Added function get_char_name & get_char_id
- Added function gain_cxp & get_commoner_level for commoner
- Command PROFESSIONS shows your current levels
- Added log.c to handle log functions.
- Support for Professions
- Adjusted SET and added profession and cxp support.
- Added xp.c file to handle experience calculations
- New building implementation
- New room implementation
- New exit implementation for rooms
- Fixed account saving NULL accounts
- Changed all reference from GODNET to STAFFNET. The Staff Network that keeps them informed of various bugs and glitches.
- Added God Channel
- Restarted Sayto
- Expanded Intro System for Greet, Intro and Know
- Added profession reference, table, added to chargen, and other default support.
- Split time and date into 2 commands. Will have modifications to actual output. You won't always know what date/time it is exactly without knowing.
- Started Max_Table
- Fixed language selection bug in chargen
- Lang DB Table
- Lang Support in Chargen & Racial
- Garble adjusted and unknow lang now shows unknown rather than name of lang
- Moved world time to DB
- Worldset hour, day, month, year
- Added distance check to set_target
- Character move event now strips event when target is reached
- Function can_move now displays proper error messages if fails
- Fixed out of bounds checking in can_move
- Fixed memory leaks in movement/area/building code
- Removed out of bounds checking in moving event
- Added can_see and distance check in set target
- Added can_move to check if you can move from one location to the next
- New function exit_exists checks if room exit is there
- Added movement points to cities.
- Added move to command set
- Body parts added
- Socket formatted
- Gold Crowns & Support Menus added
- Fixed account_created, account_updated
- Modified DB table accounts column gold_crowns to smallint
- Added email to account creation
- New function boolean valid email
- Implemented account purchases from account menu
- Fixed cmd_compress to enable compression after disabled
- Added two functions, races_per_level, subraces_per_level
- Reworked socket command to be more informative
- Added email to account creation
- Redesigned Chargen, Scores, Stats, Description
- Race & Subraces added and fixed
- Added new color table in db, replacing old hardcode color table
- Fixed Account Command
- Recoded account save & load
- Installed KaVir's protocol snippet
- Added a few test MXP commands
- Forgot DetachIterator() in vitals.c after calling AttachIterator()
- Fixed a bug(I caused) in comm.c, check_social and send_social.
- We now send a space when return is passed.
- added events to godnet for debugging of events.
- changed linked list for connections to use the new list/stack functions.
- changed link list for characters to use the new list/stack functions.
- The copyover functionality is now more robust. Instead of expecting the control-socket to be passed as the 3rd argument, and considering any starting containing 3 arguments to be a copyover, it looks at the last two entries, and expects the final one to be the word "copyover", and the 2nd to last to be a number (the control-socket). This allows for as many arguments passed to the program as you could need. Check the cmd_copyover and main() functions for the details.
- in compressEnd() found in mccp.c, we no longer try to flush any residual data, but rather set avail_in and next_in to empty values, thus preventing any garbage in the output stream.
- Fixed a memory leak in SREAD macro.
- Fixed a bad check to catch copyover in main()
- current_time is now updated every pulse.
- Instead of using getdtablesize() we now use the FD_SETSIZE macro, it should be more portable.
- Added new event to ping the MySQL database once an hour to prevent it from closing the connection.
- Removed the Bulletin Board code and data.
- In socket.c the function text_to_buffer no longer relies on the i counter. This was a waste, and could actually lead to truncated buffers. Thanks to the Yahoo group member 'about_bnetd' for pointing this out.
- In string.c the function buffer_clear now terminates the data, preventing old data from being reused - thanks to Yahoo group member 'quixadhal' for pointing this out.
- action.c: Fixed cmd_wake to strip the dream event from a character when they wake up. Should also check in the event if they are still sleeping.
- core: Dream system should be functioning correctly now.
- utils.c: pc data isn't initialized(I think it's suppose to get zeroed out but I don't think it's happening after seeing what was happening to the dream system). Started correcting this buy adding what's not getting initialized into the appropriate functions. Discovered this by a bug with the dream system accessing random numbers instead of 1,MAX_DREAMS because dream_phase was set to 24441231.
- handler.c: Updated to reflect the latest changes in SocketMUD 2.4 in my effort to update our outdated code. Uses new list/stack functions.
- Changed cmd_commands, uses is_prefix instead of compares
- account.c: Fixed load_account
- socket.c: Fixed handle_new_connections when dealing with newly created accounts.
- Makefile: Modified the makefile for shits and giggles.
- Started updating the code to use the new list and stack code which is found in the newer releases of SocketMUD. Also in thevprocess of trying to update MND to the latest version of SocketMUD which includes quite a few bug fixes and exploits.
- handler.new: This is my attempt at updating the code to the latest SocketMUD using the list and stack code. ## IN USE ##
- Worked with exits and opening and closing doors.
- closed doors are now red, open are green
- cmd_close, cmd_open, open_door, close_door, exit_open