*** 2003-12-31 by Andrew Dai - Added rest of inventory slots *** 2003-12-30 by Anders Reggestad - Created server console command maplist to list all loaded maps - Removed some printing when server starting *** 2003-12-30 by Andrew Dai - Added tooltips to widgets, they will be read from XML files as an attribute of and displayed if the mouse is not moved for 1 second. This should be made settable in Options - Fixed a bug in pawsWidget::SetFont() causing the defaultFont's size to be changed when it shouldn't *** 2003-12-29 by Thomas Towey - Simplified call to trade logic in user manager module. - Added logic for auto transformation - still needs a little more work and testing. *** 2003-12-29 by Andrew Dai - Updated implementation of binary trees to (balanced) Red-Black Trees, so any access will take at most O(lg n) time. *** 2003-12-29 by Anders Reggestad - Changed command name list to entlist on server to match name in psnpcclient. - Updated entlist command in npcclient and server to create matching output. - Implemented the disconnect message in the npcclient to detect situations where server reject npcclient when connecting. *** 2003-12-28 by Andrew Craig - Added a kill command to the server that kills a player right away. - On death spawns a player above the npcroom. Temporarly used to simulate death. *** 2003-12-28 by Anders Reggestad - Fixed the handling of guikeys to terminate execution when an action is performed. - Fixed time connected to be correctly updated if save on a character is called multiple times. - Commented out some atm unused entries in the config tree. - Changed key def for the demo Attack command to use F5. F1 is used to toggle chat window from the data/guikeys.xml file. Someone should look into merging this file with the data/options/keys.xml file. *** 2003-12-28 by Thomas Towey - Fixed some project files for the MSVC 7 build. - Removed include reference to no longer existing header file psbehave.h. *** 2003-12-27 by Andrew Craig - Fixed up some more details for the initial character creation screen. *** 2003-12-27 by Ondrej Hurt - Made pawsListBox sortable by user :) If you click on header of a column, it sorts according to this column. You have to define function that compares rows first when using this. *** 2003-12-26 by Ondrej Hurt - Added more columns and buttons to GuildMembers tab in GuildLeader window, changed layout. - Added functions that create prompt windows. *** 2003-12-25 by Ondrej Hurt - Added first version of simple prompt windows that let the user enter string, number or choose something from combobox *** 2003-12-22 by Andrew Craig - Added new dir mk/visualc6 that has the autogenerated dsp files. It is not 100% yet though so I had to hand edit them. I will see if I can update the script to generate them correctly. - Added in all the msvcgen stuff to do the jam->msvc convertion. Templates need to be adjusted but will do that over time. - Added dummy graphic for the new char creation screen. *** 2003-12-22 by Ondrej Hurt - Fixed disappearing scrollbar thumb when resizing chat window. *** 2003-12-22 by Andrew Robberts - Fixed 'assigned_gm' column in the petitions table - Fixed the Assign, Cancel, and Close petition commands (still missing the prompt for closing info) - Added GM GUI access from the petition_manage window and added the ability to target a petitioner - Added "Teleport to Petitioner" button support *** 2003-12-21 by Andrew Craig - Fixed up the text chat box a bit. Still one problem. When resizing the window the thumb in the scroll bar disappears. Will need more debugging to figure out why. *** 2003-12-17 by Andrew Dai - Updated MSVC6 project files *** 2003-12-13 by Andrew Craig - Fixed up npcclient. Not 100% but should compile and run. *** 2003-12-13 by Ondrej Hurt - Improved pawsScrollBar behaviour - Made option windows prettier *** 2003-12-13 by Andrew Craig - Some fair sized reorganizations. No longer use CEL persistance to send models across. Instead, the things that are need like the mesh/visisble equipment strings are packed into a message and the client reconstructs the GEM item from this data. - Not fully complete yet but is pretty good so I want to commit before I get too out of sync. Expect a flurry of smaller commits over the next few days. - Started wrapping the CEL entities on the client side with GEM objects. - Part of my 'big clean up' of the code base to clean up old/outdated/poorly formated code. So expect some minor breakage here and there. - Removed behaviour layer levels since we are not using those anymore - Cleared up Celbase to remove a lot of unused functions. *** 2003-12-12 by Andrew Craig - Fixed up TARGET.OS as suggested by Brendon Costa and tested by dfryer to make sure it works on MACOS_X properly. - Fixed up several compile issues that were reported by BusError on MacOS. *** 2003-12-10 by Ondrej Hurt - Added "thumb" to pawsScrollBar. Needs two images (idle+moving). *** 2003-12-08 by Andrew Craig - Split the load world message away from CEL persistance and is loaded now by a psPersistWorldRequest/psPersistWorld message set. - Some reorganization of some CEL stuff. psWorld is now a seperate class and no longer a behaviour class. psWorld is no longer a cel entity and is just in charge of region management client/server maintain their own pointers to this class Some old and unused CEL functions removed. *** 2003-12-08 by Ondrej Hurt - Fixed: pawsWidget::LoadAttributes() was positioning the widget by directly manipulating with screenFrame attribute instead of calling MoveTo(). This caused that children of this widget were not moved with the widget. This fixes wrong positions of stack count labels in pawsItemSlots when used in pawsMoney. - Fixed: You could invite yourself to a group if you entered your own name with difference in case. (e.g. "guest" instead of "Guest") *** 2003-12-07 by Andrew Craig - Moved camera mode changes from the behaviour class to psCharControlManager class. Pressing 'm' should now once again cycle through the camera modes. - Fixed lookup/lookdown keys - Cleaned up a lot of code. psBehaviourActor is now just a shell of what it was and the only reason it is still around is because it is needed in the persistance model to tell if the CEL entity is an actor. ***2003-12-07 by Ondrej Hurt - Player-to-player exchange and player-to-npc exchange are now started with two separate commands (/trade and /give) and two separate network messages (REQUEST_PC2PC and REQUEST_PC2NPC). They shared one command (/trade) and one network message (REQUEST) before. - Fixed: turning off modal mode in PAWS (i.e. windowManager->SetModalWidget(NULL)) caused focusing of MainWidget. This also fixes the bug that clicking on OK in pawsStackCountWindow caused dropping od dragged item on ground (because MainWidget had focus and received OnMouseUp()). - Fixed: psGUIMerchantMessages were using psGUIExchangeMessage::REQUEST instead of psGUIMerchantMessage::REQUEST constant. (This wasn't causing any incorrect behaviour.) - Fixed: it was not possible to begin exchange with player without entering his name - Fixed: it was possible to manipulate with receiving money in exchange *** 2003-12-06 by Ondrej Hurt - Made new general drag'n'drop system for PAWS that can drag any widgets, not just images. - Made drag'n'drop systems for item slots and money. New class pawsDragDropItemSlot derived from pawsItemSlot and reworked pawsMoney take care of it. - Added the new drag'n'drop system to pawsInventoryWindow. - Stack count number is visible near dragged items now. - Item count in StackCountWindow can be controlled with a scrollbar. - Stack count in pawsItemSlots is now visible only when count>1 and when slot contains money. - ExchangeWindow and ExchangeManager - work with new drag'n'drop and stack counts. New network message for moving of money. - Removed/commented out some bits of code from pawsContainerDescr and pawsGlyphWindow that have to be adjusted for new drag'n'drop. *** 2003-12-05 by Keith Fulton - Committing patch from Ian Donderwinkel which enhances listbox functionality with up/down arrow keys and double-clicking a row. Double click an item in the merchant window to buy it. - Also slight opacity fade window enhancements from Ian. *** 2003-12-05 by Andrew Craig - Moved the mouse look code out of the psbehave class and into charcontrol class on the client. Should be able to totally remove psBehave soon. Removed CEL calls from psmousebinds since they have been moved to charcontrol instead. *** 2003-12-04 by Andrew Craig - Updated for new CEL API. I had to comment out some stuff because I am unsure of how to fix it properly. Only affects the mouse look, I think, which I will be moving to a seperate class anyways. Just sooner then later. *** 2003-12-04 by Andrew Mann - Added size calculations and checks to psItem. - Moved stacking code into psItem with CombineStack and FindStackableAndStack functions. - Moved some psItem::Save() calls into psItem functions that deal with stacks since stack combining and splitting can alter multiple items without the caller knowing the full list of altered items. *** 2003-12-03 by Andrew Mann - Fixed compiler warnings in pawsmoney "Not all control paths return a value." - Fixed ambiguous msg->Add() call in psGUIInventoryMessage::Move(). - Sizes of items are now described in terms of cm of longest dimension. - Changed size field in item_stats database table to int(5) unsigned. - Added container_max_size field to item_stats database table. This field describes the largest size item a container can hold. It's ignored for non-container items. - Removed PSITEM_SIZE enum. *** 2003-12-03 by Andrew Craig - Added in a helper function to paws manager: CreateWarningBox() to make it easier to build a message box. - Added some checks to character creation on server for unique/reserved/valid name. - Added script adding if player is on the reserved list. - TODO: Ability to check guild name reserved and update migration table. *** 2003-12-02 by Luca Pancallo - Added login window to serverconsole - Added security checks to some serverconsole pages (other will follow soon) - You need the accessrules db table, created by create_all.sql - Added install.txt for serverconsole *** 2003-12-02 by Ondrej Hurt - InventoryWindow: - stack count of drag'n'dropped items is now entered in pawsStackCountWindow by the user - money can be drag'n'dropped - uses pawsMoney widget instead of four independent pawsItemSlot widgets - floating item (information about item that is being drag'n'dropped) moved from PawsManager to InventoryWindow, because this is PS-specific feature and shouldn't be in independent PAWS library - wrote special class for floating item (inherits from pawsItemSlot) that remembers which window and which slot the dragged item was taken from - server: support for moving of given count of items, not only whole item slots as before - some pawsMoney and pawsStackCountWindow improvements *** 2003-12-01 by Thomas Towey - Added crafting and guild information to container description window. - Added a pawListBox to the container description bulk slots. - Fixed bug with crafter and guild mark ID settings. - Fixed problem with how guild mark ID was being displayed. - Moved around the container description window to make room for craft description. *** 2003-12-01 by Andrew Craig - Added first iteration of the php migration pages ( in /migration ) for players to save their characters. Please see the notes in the migration.php file since you need to run two databases parallel with this. Also added a viewmigration.php page that lets you see what names are on the list and an update link that will update the scripts. ( Should be protected by security ). - Added "wallet" location to progression event . Allows the event to give a player money. *** 2003-11-30 by Andrew Craig - Added check for null player name. - Moved name generator into common utils lib. - Removed tables related to name generation. Added in as phonics.xml - Added random names to parents screen. *** 2003-11-29 by Andrew Craig - Did some checks on the login stuff to fix up some issues that I was having - Changed database to use md5 versions of password. So update your tables! - Cleaned up some parts of code that had to deal with the old character creation. - Fixed bug in widgets. After loading widgets should be sized correctly. *** 2003-11-28 by Luca Pancallo - Completed items add/remove/equip - Added refresh of tree where needed *** 2003-11-28 by Andrew Robberts - Fixed /petitioner command - Fixed petitioner "query" message, so /petitioner_list and /petitioner_manage windows work - Changed the /petitioner_manage so that it uses the new way to obtain the security level - Added name generator files to MSVC 7 projects - Modified GM GUI window so that it hides buttons that the GM doesn't have access to *** 2003-11-28 by Andrew Mann - Added a name generator with some tables seeded with real name lists. - Database version bumped for the new tables. *** 2003-11-28 by Andrew Craig - Added in some fixes from Brendon Costa that fix various compiler warnings. - Added CP tracking to character creation. - Fixed mother jobs *** 2003-11-28 by Luca Pancallo - Serverconsole upgrades to NPC items, you can now equip items. *** 2003-11-27 by Andrew Robberts - Fixed the MSVC7 solution to compile libgui by default - Converted MSVC 7.10 projects to 7.00 - Added files to MSVC projects libgui and libpaws *** 2003-11-26 by Andrew Dai - Ignore list improvement - Added /ping command to client as well as a GetPing() function to NetBase *** 2003-11-23 by Luca Pancallo - Serverconsole upgrades: - List/Edit Kas on an NPC - Improvements on skills/traits on NPC - We can now for list/edit synonyms - Batch upload of a csv file to load synonyms - We can now list/edit general KAs *** 2003-11-23 by Andrew Craig - Update jam project files from Brendon Costa. Should hopefully make generating MSVC project files easier so we can automate the process. - Fixed a clipping bug in paws text box that stopped text from showing. *** 2003-11-21 by Thomas Towey - Fixed trade skill logic. Simple combinations and transformations are now possible. - Add trade transformation constraint logic. *** 2003-11-18 by Luca Pancallo - More work on npc dialogues editor in server console. It's now usable, just missing some refresh of the treeview. *** 2003-11-18 by Andrew Craig - Added in sending creation choices to server. Now runs all the scripts that have been selected in the creation screens. Added in a new test char creation script that changes the base INT if your father was a mage master is selected. *** 2003-11-18 by Anders Reggestad - Added base option to StatOp's. Now ... will adjust the base value. For hp,mana and fatigue the base max is adjusted. - Added skill operations to progress system: exp where skill is adjust by exp. *** 2003-11-18 by Andrew Craig - Moved the progression scripts out of the char creation tables and into the progression_events table *** 2003-11-18 by Andrew Mann - Fixed item hierarchy loading from database. psItem::Load() now takes a second parameter and returns the parent item ID in that parameter. *** 2003-11-18 by Andrew Craig - More work on character creation. Creates a dummy actor that allows for progression events to be used. Has a faction op hardcoded in at the moment for testing purposes. *** 2003-11-17 by Andrew Mann - Moved Item UID generation and Unique Item Stats UID generation into psItem since it works directly with the database anyway. - Merged Update() and Save() calls into one call that properly handles when the item UID = 0 (none assigned). Removed/renamed Update() calls in related classes to work the same way and updated callers. *** 2003-11-17 by Keith Fulton - Committing patch by JacobBrown for stronger password authentication. Also password widget now shows **** instead of actual password. - Added new CD prop class to celbase. *** 2003-11-17 by Ondrej Hurt - Method pawsWidget::Load() split to a few subroutines so their functionality can be used separately. - pawsEditTextBox is sending OnChange() notifications now - First version of pawsStackCountWindow added - First version of pawsMoney added - Exchange window: removed inventory part, removed scrollbars which were used to set amount of transfered money *** 2003-11-17 by Keith Fulton - Added one more enhancement to PAWS alpha fade from Ian Donderwinkel. Not sure it works 100% right but still getting better. - Fixed typo in MSGTYPEDRUPDATE which has been there for years. Also changed all the MSGTYPE #defines to be an enum so we don't hit duplicate id's (which we had a problem with this weekend). *** 2003-11-16 by Luca Pancallo - Update to view npc in server console - Added view of specific ka to add trigger, attitude and responses. *** 2003-11-16 by Ondrej Hurt - Added 'reversed' mode to scrollbars - direction of scrollbar value growth can be reversed to grow from bottom to top or from right to left. - ExchangeManager: (work in progress) - Moved code from function to methods so we can have more exchange types (using polymorphism when handling messages). - Some more restructuring of code in ExchangeManager. - Created new exchange type PlayerToNPCExchange that is used when player gives items to NPC. *** 2003-11-16 by Andrew Robberts - Removed the GM button from the chat window - Added /show_gm command to show the GM window - Switched the GM window to a tabbed interface *** 2003-11-14 by Andrew Craig - Added basic php admin page for changing race starting location and initial CP values. *** 2003-11-14 by Andrew Robberts - Added /teleport_to, /slide, /slide_me commands for GM lvl 1 use - Fixed admin commands to check the security level using GetEntityType() to decide what commands need to be (un)subscribed - Create basic GM GUI *** 2003-11-14 by Keith Fulton - Added 5 function commands for auto-selecting players and NPCs near you. Enhanced server to handle clearing of client targets. Thanks to Javier Fernandez-Ivern for this code. *** 2003-11-14 by Thomas Towey - Got a good part of the item transforation working. - Updated pscharacter to persist the transformation info so it will persist to the event. - Added some things to the datbase. *** 2003-11-14 by Andrew Craig - Added basic upload new character framework. It is very fragile at the moment and only takes the name/race/gender. But you can at least create a new character if needed. Next step is to make robust and start using some scripts to make the character based on creation choices. - Moved PSCHARACTER_GENDER and PSCHARACTER_RACE into src/common/net/charmessages.h so both client and server can share. *** 2003-11-13 by Andrew Mann - Audit of psItem to remove some duplicate members. - Commenting of psItem instance related functions. - UID clarifications. Item UIDs are assigned exclusively through psCharacterLoader. This can be moved but probably should not be assigned by the database due to both speed and the fact that database call for returning an insert id is limited to 32 bits. - Item cloning/duplication clarifications. It shouldn't be done! Added psItem::SplitStack() to address the splitting of stacks any other situation where item duplication may arise except for strictly GM related functions can probably be thought of in a way that does not require a dupe. Any function (such as SplitStack()) that can potentially create items out of nowhere should be carefully coded to avoid any potential exploit. - Added checking to the code that splits stacks. Now stacks will not be split if the size of the new stack is invalid (0 or >= original stack size). *** 2003-11-11 by Keith Fulton - Revamped how keys are bound to game functionality. I think this way will be a little more understandable and scalable. - Added macro scripting to keys.xml now, so keys can be tied directly to commands, or sets of commands. F1 is example key, which now does "/say Attacking $target; /attack". *** 2003-11-11 by Thomas Towey - Added Trade Skills functions to server console index. - Added som missing get functions to psItem. - Added missing field to psItem get and save functions. - Fixed some default values in GetFieldArray. - Fixed transformation logic in workmanager. I can now create 'Gobblygook'. Still need to update client as well as test creating 'Batter'. *** 2003-11-11 by Luca Pancallo - Checked in the work of Amin on register account pages It still need work. You need PS site pics in ../pix - Modified the accounts table adding the fields needed for the registration web page. *** 2003-11-11 by Andrew Craig - Removed cyclic reference to psengine. Nobody that is created inside the psengine should maintain a reference to it. Instead use the psengine in globals.h - Added in the basic life events screen to allow people to pick and choose life events. Can create sub-events. For example, if "Married a Miner" is picked then "Spouse found a diamond" is a new event that is added. See the char_create_life_relations table to see. *** 2003-11-11 by Andrew Dai - Added basic support for flashing buttons and added functions to set/get the current tab button id *** 2003-11-10 by Keith Fulton - Fixed npcs to chase you correctly when you attack them from afar or run away during a fight. *** 2003-11-10 by Andrew Dai - Added preliminaries of tabbing/windowing system to chat window. *** 2003-11-09 by Thomas Towey - Fixed bug in pscharacterloader for deleting item instances. - Made the spItem function GetIsContainerEmtpty name's consistant with other bool functions. - Changed the transformItem logic in the workmanager code thanks to Andrew M. *** 2003-11-09 by Anders Reggestad - Added handling of editing of guild level rights. *** 2003-11-08 by Thomas Towey - Fixed goal item bug and added function to check for empty containers. - Updated database to for trade testing. *** 2003-11-08 by Thomas Towey - Added a bunch of code to do trade skills combinations. Still needs more testing. Need to debug new problem with the mind slot. *** 2003-11-08 by Anders Reggestad - Added autoID attribute to the pawsListBox. This will use the listbox ID and row/cols to automaticaly calculate IDs for the listbox child widgets. - Added log level LOG_NPC, use this for all npc login on server. - Changed guild security level DISBAND to EDIT_GUILD. Was used for seting of secret and disbanding. - Added command /guildname to change guild name with security level EDIT_GUILD. - Changed pawsEditTextBox to call OnChange when enter is pressed. - Added edit of secret guild flag and guild name to guild window. - Increased db version to reflect changes in fields. *** 2003-11-08 by Keith Fulton - Commiting patch by Jacob Brown to show the entity labels of different types of players in different colors. It does this by persisting the security level of each entity down to the client. This info is now available in the chardata CEL PC. *** 2003-11-07 by Andrew Robberts - Fixed jamfiles to compile the new libpaws and libgui - Might not be 100%, so watch for bugs *** 2003-11-06 by Keith Fulton - Split PAWS into PS-specific and game-independent libraries. Independent lib is now in src/common/paws. - Added basic chase behavior to NPC scripting. *** 2003-11-06 by Andrew Dai - Added the basic pawsTabWindow widget, all the child buttons of the widget will act to select a window with an id 100 higher. The starting button ID is 1000 and the window associated with it is 100. *** 2003-11-06 by Anders Reggestad - Added pawsCheckBox standard widget *** 2003-11-06 by Keith Fulton - Fixed entity labels to use no anti-aliasing in fonts. This still looks kinda bad. Probably to fix it we need to render the proc tex with a larger font, so we get a nicer resolution to display. - Augmented PAWS borders to look a little better. new widget function GetBorderStyle() is now used for drawing all line-based borders. This is "raised" by default for all widgets. I made text box and edit box "sunken" just to enhance this a little bit. Later we will probably want an xml attr for this in the widget loader. *** 2003-11-5 by Anders Reggestad - Removed the total and num attributes from listbox widgets. - Added sending of guild level info to client. - New SelfPopulateXML function and SelfPopulate should now work on every widget where SelfPopulate is overloaded in the widget to insert correct values. - Fixed broken SelfPopulate code. Changed name once more on the XML SelfPopulate function to SelfPopulateXML. - Added function FindWidgetXMLBinding to the pawsWidget to get child widget with a given xml binding. *** 2003-11-4 by Keith Fulton - Fixed respawn of npcs to superclient and fixed npc brain reset on death, so that they start fresh when respawned. *** 2003-11-4 by Anders Reggestad - Added sending of members to guild window - Changed to use the SelfPopulate() function instead of PopulateSelfFromXML to populate the pawsListBox widget. This to enable for SelfPopulate from a iDocument node. - Added a AppendFormat function to psString. To allow for formating in an append situation. *** 2003-11-4 by Ondrej Hurt - Entity labels: - Fixed screen flashing caused by procedural texture rendering code. - Removed some unnecessary CS calls (engine->Prepare(), engine->Set/GetContext()) - Fixed some errors in switching between visibility modes. *** 2003-11-03 by Keith Fulton - Made significant changes to CEL persistence tonight and how entities are removed from the world. The old way, cel persist msgs were used for items but disconnect messages were used for all players instead being done consistently. This made CEL persistence removal of NPCs not work. - Now all entity removal is handled the same way, and now superclient handles disconnects correctly for items, actors and npcs. - Added sector support to spawn ranges and added a range for our wandering NPCs. Now NPCs will spawn in the area randomly and you can kill them ad infinitum. *** 2003-11-2 by Luca Pancallo - Added a treeview to visualize NPCs triggers defined on db. It's just a start. *** 2003-11-2 by Anders Reggestad - Moved the current guild window into guild join window. - Created basic guild window. - Created client command /guildleader to open guild window. *** 2003-11-3 by Ondrej Hurt - In pawsMenu: - fixed wrong clipping of graphical output - menu items that open submenu on activation are now labeled with "Right Arrow" image - greatly simplified/reworked/fixed internal event-delivery and menu-destruction system - In configuration windows: - virtual method pawsConfigSectionWindow::IsDirty() gets default implementations - all IsDirty() implementations in pawsConfigSectionWindow subclasses removed - proper setting of 'dirty' flag for all existing configuration windows - Added OnChange() event to pawsWidget. It is currently called by pawsRadioButtonGroup only. *** 2003-11-2 by Andrew Craig - Fixed sending initial equipment messages to client. celPcCharacterData::Load was not correctly reading the saved buffer. *** 2003-11-2 by Keith Fulton - Fixed combat to let npcs fight back. There were several issues but the main problem was that the npc psCharacter was not having SetMode(combat) called, so its queued combat events were being skipped. *** 2003-11-2 by Andrew Craig - Added new tables for the life events area of the character creation. At the moment the server just caches this data. Next step is to send to the client to display. *** 2003-11-2 by Luca Pancallo - Expanded list of functions needed on server console - Added some functions to view/edit quests *** 2003-11-2 by Anders Reggestad - Added util.php for common function. myquery is a wrapper for mysql_query that have error handling. - Some more work on the server console for spells. *** 2003-11-2 by Keith Fulton - Fixed out of range message to work properly after previous network changes. - Fixed death perception to really stop things, and fixed crash on combat events when target is null. Target is null because the hate list isn't working right yet. Wandering npcs will stop and face you if attacked, but their attack back doesn't work right yet. - Fixed crash on loot message. *** 2003-11-2 by Andrew Craig - Cleared up some of the old upload character code to make way for new uploading. - Made PAWS widgets take into account the borders (if present) for Mouse buttons presses. - Fixed some of the PAWS clipping issues in the pawsTree stuff. Not 100% but fixes most serious problem. *** 2003-11-1 by Thomas Towey - Added three new trade database tables. - Added psTrade to bulk objects. - Added two functions to cachmanager to support trade combinations and transformations. - Added a /use command for containers. - Replaced push with use in interactive menu. Still can not get it to apear when item is selected. *** 2003-11-1 by Keith Fulton - Fixed so textures on entity labels don't all override each other. This happened because engine->CreateBlackTexture() stupidly searches for the name and returns the existing texture if present, and this code did not use unique names. - Fixed psCharacter::SetMode to turn off combat mode for player when target dies. *** 2003-11-1 by Anders Reggestad - Added spell list to the www serverconsole. - Removed old quest system. - Added spell countdown/cancel/interrupt window. *** 2003-11-01 by Ondrej Hurt - Added first version of labels hanging above characters (entity labels). - Entity labels in "on mouse over" mode are now just hidden and shown, instead of being deleted and recreated again. - Fixed: server crashed when loading of character failed. *** 2003-10-31 by Keith Fulton - Added death perceptions to superclient. Superclient should halt whatever behavior is running currently and not run anything else after death. I have not tested this yet fully, because combat is still not 100% correct. - Cleaned up combat code more, and fixed networking of combat events so that bystanders can also see the action. CS is not reporting actions correctly for override actions, which means that the chars don't always stop their attack moves when they should. I will fix this tomorrow. *** 2003-10-31 by Anders Reggestad - Added support for in npc dialog scripts. - Added a 20% profit to merchants on selling/buying - Added price to all items in db. - Added server command /factions to print faction tables. - Fixed some bugs in the faction code. *** 2003-10-29 by Keith Fulton - Added quest list window and quest notes editing window. Use /quests to view and edit your assigned quests. - Added xml autopopulate data system to pawsWidget. Now it can take xml string and look for child widget names as nodes and pass the iDocumentNode to each child widget to self-populate. *** 2003-10-29 by Anders Reggestad - Added log level LOG_LOAD, to turn on/off loading of network load. - Fixed an unhandled message in the server. The heartbeat message wasn't handled. That caused a waring to be given. - Added setlog/showlogs commands to npcclient. - Removed some tabs from the petition code. *** 2003-10-29 by Keith Fulton - Modified GUI to handle per-widget font definitions and colors. - Also added shadows attr on button definitions, which gives a dropshadow effect on the text. See shortcut window and chat buttons for examples. - Also modified border drawing so that different widgets could have different color borders. *** 2003-10-29 by Anders Reggestad - More code cleanups. - Added some comments. - Removed the internal spawn message in the spawnmanger. This isn't needed anymore with the new EventManager that handle both messages and events in the same thread. - Changed the dead_remaind_time not to be multiplied by 1000 when checking for respawn. dead_remaind_time is in msec. All other times in DB are msec. *** 2003-10-28 by Thomas Towey - Cleaned up some unused locals in the pawswidgit header. - Fixed a bug with an uninitialized local variable in shortcutwindow.cpp. - Added questmanager to the apppsserver visual7 project file. - Added workmanager to the apppsserver visual7 project file. - Added workmanager source files to CVS. - Initailized workmanager in psServer. *** 2003-10-28 by Andrew Craig - PAWS now clips children using a ClipToParent() function to figure out the allowable clipping region. It then sets this in the graphics2D. Each widget is responsible for setting it's clipper. *** 2003-10-27 by Thomas Towey - Cleaned up some unused locals in the pawswidgit header. - Fixed a bug with an uninitialized local variable in shortcutwindow.cpp. *** 2003-10-27 by Anders Reggestad - Did some more cleanup in the old DB interface. Removed all deprecated functions. Still some functions left, but that has to be another time. - Moved the msgstrings from pserver into cachemanager. The common_string table is now stored in two diffrent structures, one csStringHash and one csHashMap. Might consider doing something with this! *** 2003-10-26 by Keith Fulton - Added operation to npc scripting, so progression scripts can be run now also. Now quest completion in test quest gives you 50 W pts. - Also added column "quest_id" so that Luca can use it in the web editor. - Added script operation so NPCs can give items to people on quest completion. *** 2003-10-26 by Andrew Craig - Fixed up the gui short cut keys. So now F1 should hide the chat window again. - Fixed up jumping when space was pressed inside chat window. - Fixed saving for keys in data/options/keys.xml - Cleaned up some of the code relating to key config stuff. - Small fixes for main char creation screen. *** 2003-10-26 by Anders Reggestad - Created a DoDamage function in the combat manager to be called when someone do damage on someone. This will 0 HP kill the target. This now allow for killing of a character by use of spells. - Protected the log filter from being initialized more than once. - Changed server command setvar and set showvars to setlog and showlogs. - Added printing of skills to the /liststats server command. - Added fix for using null pointer to mousebind in client. - Initialized the active_located to the npc position on connect. *** 2003-10-24 by Keith Fulton - Added a master quest table to database and enabled caching of this table in the cachemanager. Will implement quest assigment and completion tomorrow. - Added quest assignment tracking to npc scripting and to character class. - Quest Manager on server arbitrates this and will handle the GUI. - Also structured psCharacter loading a little more instead of having the world's longest function there. - Now smith will assign a quest when you say 'quest please' and mark the quest as complete when you say "done". *** 2003-10-24 by Anders Reggestad - Removed/added some debug output. - Fixed a test in ParseResponseScript to check for empty strings as well as null strings. *** 2003-10-23 by Keith Fulton - Added OverrideAction message which sets that directly rather than depending on DR messages to do it and correct it later. - Added scripting language to NPC responses table to allow for richer reactions to trigger events. This will be followed by a generalization of triggers as well so that all quest scripting can be done with these two mechanisms. - Say 'hello' to the Smith NPC to see him say a response and greet anim you. *** 2003-10-23 by Andrew Craig - Fixed up the fingering window to be working again somewhat. Still large parts of the code commented out that need to be reviewed and removed or integrated back in. Some things are still missing but those are because there are support requests into CS to fix some of the key parsing things ( so saving keys is not done yet ). *** 2003-10-23 by Andrew Robberts - Added horizontal and vertical mouse sensitivity *** 2003-10-22 by Andrew Robberts - Added an invert mouse option to the mouse config window and added invert mouse functionality. - Moved psMouseBinds from psPawsManager to psengine *** 2003-10-21 by Keith Fulton - Added capability for listboxes to parse xml structures and auto-populate their rows and columns from them. Text labels and pawsItemSlots can self- populate from tags as well. The Loot window uses this to transfer loot list now. *** 2003-10-20 by Andrew Craig - Added in the auto run and jump to the new control system. Jump is space and autorun is TAB. *** 2003-10-20 by Keith Fulton - Committing patch by Kronon for /clear command and for /advisor and /advice commands. Not tested yet but will test after resynching with new CS cvs. - Fixed a bunch of "new" signed/unsigned int errors. *** 2003-10-20 by Andrew Craig - Changed how PS handles keyboard events for character movement. Now there is a psCharControlManager that manages all the details when controling a character. This combines the psKeyBinds and the psbehavour details together in a logical place. There are still large areas of the code that are commented out at the moment as the rest of the stuff is brought into play but thought it important to have this much in to keep things in sync when using the latest CVS of Crystal Space. *** 2003-10-19 by Anders Reggestad - Added some entries to the npc_triggers table, to have NPC respond. - Fixed some indentation. - Some adjustment to the shortcut window. Prevent the scroll bar from being displayed under the lowes row of buttons. *** 2003-10-19 by Anders Reggestad - Fixed proper drawing of listboxes without borders. - Fixed som inconsisten use of 600 and 640 for scaling. - Added the old chest to the world. Could be used for container testing :) - Changed the inventory window to use a list box for bulk slots. This allow for more bulk slots. - Changed the exchange window to use a list box for bulk slots. This allow for more bulk slots. - Updated bulk size to 32 items. - Fixed inconsisten use of casing in slot nameing. *** 2003-10-18 by Keith Fulton - Minor bug fixes in networking bounds checking. - Made several minor fixes to superclient so that dynamic guard behavior works again. - Also fixed crash on quit cmd in superclient. *** 2003-10-18 by Thomas Towey - Added code to display items inside container on container description window. *** 2003-10-18 by Anders Reggestad - Added command /train to start training with a trainer. - Added trainer_skills table to DB. This is the skills a trainer will train in. - Added new psTrainerInfo to hold skills trained by trainer. - Created a K Factor scroll bar in the info window. This K factor is stored in the engine and send when a cast command is sent to the server. - Updated with lates magic rules. - Added practice of weapon skills when hitting an opponent. - Fixed a bug in the initialization of the weapon skill array. - Added filter button to the skill window. - Added dynmamic context menues. Check if dead for looting. Check for merchant for trade icons. - Changed exchange and trade sytem to use RANGE_TO_SELECT for range check. This is the same value used in gem to open context menues for this actions. - Added kill event in progression event table. - Changed progression call from combat to start an event. - Fixed an infinite loop in AddExperiencePoints. No obues indication client was working ok!!! - Changed DB version, because of changes in tables. - Added basic progression of skill Z(skill)/Y(max)/P(practice) values. - Updated skill table to include: description, price and practice_factor. - Updated character_skill table to include: max and practice values. - Included adding of practice points to sucessfull casing of spells so skills for ways are possible to train. - Changed skills from float to unsigned ints. *** 2003-10-17 by Keith Fulton - Added psMoney::ToUserString which makes a nicer human-readable phrase from the money members. - Modified loot messages to use this string for money. - Made loot window look better and enabled the images on the left. - Added xml tag headings="no" to tag of listboxes. - Added tag to pawsItemSlot widget defs. default is still 8,8,32,32. - Added progression event call to combat after you kill an npc. *** 2003-10-16 by Keith Fulton - Added combat sound effects. Sounds MUCH more interesting now while fighting. - Updated some sounds to have better wav files. - Added loot money handling. Still doesn't use Trias, etc. but I don't know that system yet. *** 2003-10-16 by Andrew Mann - Rolled libpaws.vcproj back to 1.21 and re-added pawscontainerdescwindow.cpp and .h to the project in Visual Studio .NET. It appears that VS .NET 2003 project files are not readable by VS .NET, but they share the same extension. Please avoid comitting project files (.vcproj) created or modified by VS .NET 2003 until a solution is reached. *** 2003-10-16 by Anders Reggestad - Created new skill window with basic behavior - Used stats button on meny to display, this will change when a npc for skill training is created. - Most of the client side is done. - P is added for debug while tuning progression system. - Fixed saving of looted items to db. *** 2003-10-15 by Keith Fulton - Added Roll button to Loot window. This causes the selected item to be randomly allocated to someone in the looting group. - Also added a SendGroupMessage function to actors. This will automatically broadcast the message to all members of a group if the actor is in a group, or just send the actor the message himself if he is not in a group. *** 2003-10-15 by Andrew Craig - Added change by CHP Dekker to allow mouse turn to have an acceleration. *** 2003-10-13 by Thomas Towey - Moved Mind slot to better position. - Added a container description datafile called containerdesc.xml. - Put mug in guest inventory to test mind slot. - Put a mug on top of the anvil for container testing. - Made mug envisionable. *** 2003-10-12 by Keith Fulton - Fixed crash in loot window when not initialized properly. - Added error checking to check total columns in listbox vs. how many columns are actually supplied. - Added error checking to creation of widget in pawsListBoxRow on badly specified listbox columns. - Fixed inventory assignment of loot to looter inventory. Still does not save properly on exit, but is visible after looting. - Fixed model view room for big iPolygon3d removal, which Jorrit committed today. Requires CS from today. *** 2003-10-12 by Andrew Mann - Added some buffer checks to the network code. - vsprintf changed to vsnprintf. *** 2003-10-11 by Andrew Craig - Added check to main char creation screen to make sure race is selected before moving to other screens. *** 2003-10-11 by Keith Fulton - Added loot window, loot context menu for NPCs and loot button images. Adding the looted item to inventory doesn't work right now and I'm not sure why not. - Now looting checks to see if you were the killer of the mob or a member of the group that killed the mob. If not, you are not allowed to loot. - Also changed class name for "Group" to "PlayerGroup" just to be less ambiguous. *** 2003-10-11 by Andrew Craig - Redid how pawsListBox loads column data. Now can use fuller widget definitions for columns. See pawslistbox.h for more info on how it works. - Changed over all existing listboxes to use this. *** 2003-10-11 by Anders Reggestad - Added expression operation to the progression script system. Will add expression experience points to the actor. - Added sending of experience points and progression points to the statDR message. - Added display of experience progression bar and progression points. - Updated clock when infowindow is created. The info is in the client no point of waiting for the next clock update, to display the clock. *** 2003-10-10 by Andrew Craig - More work on the character creation. - Made the childhood screen somewhat functional with the most important data there. - Added network messaging for this window - Added some sample childhood data to the database. *** 2003-10-08 by Keith Fulton - Added /loot, /buy, /sell commands to Interact window. Other preexisting commands should probably be changed to send commands to CmdHandler like these new ones. - NPC now displays these commands in the context menu instead of pickup, etc. like Items use. - Updated spawnmanager to use variable delay in removing dead npcs. Field used is dead_remain_time in npc_spawn_rules and is given in seconds. *** 2003-10-08 by Andrew Craig - Reworte a portion of the psServerCharManager to make the Moving of items around in the inventory screen more code readable by removing the strncmp's and replacing them with a nice switch(). - Added checks to see if an item is allowed to go in desired slot. - Fixed inventory screen to reflect item not moved. - Hit a wall when trying to go from PSCHARATER_SLOT -> PSITEMSTATS_SLOT so created a slotmap in the cachemanager to map the char slot to item slot. *** 2003-10-08 by Thomas Towey - Added mind slot verification routine that fails for glyph items, for now. - Added a system message to the user about their success or failure envisioning. *** 2003-10-08 by Andrew Craig - Added skeleton versions of the paths/childhood/life events/summary screens for character creation. They are all totally empty for the moment except for the navigation buttons ( which work ). - This allows me to start work on the upload message as well without having to have all the windows totally finished as well. *** 2003-10-08 by Anders Reggestad - Added GetPowerLevel function to character to get the current power level when casting spells. - Added tag to the progression expression system, that return the power_level of the casting actor. - Added setting of spell casting to character mode. *** 2003-10-07 by Thomas Towey - Added in an empty goal verification function for items dropped in mind slot. *** 2003-10-07 by Andrew Craig - Added in a new PAWS widget pawsSelectorBox. This is a widget that has two list boxes and arrows to move between 'available' items and 'selected' items. First use will be in the life events screen to build your selected list of events. Widget is not 100% yet but is stable enough to commit. - Made psengine a global variable. This has 2 good things: 1) Easier then asking the iObjectReg all the time 2) Prevents circular ref's for items that want to maintain an engine pointer. - Fixed a problem with celclient not releasing it self properly. *** 2003-10-06 by Anders Reggestad - Changed progression script to handle more generic expressions for calculating values. - Addes saving and loading of experience_points and progression_points. - Created a casting spell effect and fixed a bug in the client that caused it to crash when sending a not legal spell effect from server. *** 2003-10-06 by Keith Fulton - Added addition loot rule specification to psCharacter, which allows for both generalized and specific loot now on an npc. - Moved ChestBehavior functionality directly into gemActiveObject. This allows gemNPC to override it and provide its own context menus, etc. *** 2003-10-05 by Thoms Towey - Fixed MSVC 2003 compile error by casting pow paramater as float in combatmanager.cpp and pscaharacter.cpp *** 2003-10-05 by Andrew Mann - Added visibility distance to items. - Added virtual function GetBaseAdvertiseRange() to gemObject. - GetBaseAdvertiseRange() override in gemItem to retrieve visibility distance from psItem. - float GetVisibleDistance() added to psItem. - float GetVisibleDistance() added to psItemStats. - visibility_distance field added to database table item_stats. - -----------DATABASE VERSION BUMPED TO 1016------------ - psItemStats::ReadItemStats updated to handle visibility_distance. - gemObject::InitProximityList and gemObject::UpdateProxList updated to compare range against GetBaseAdvertiseRange() of source and targets. - EntityManager::CreateItem() was using psItem::GetCurrentStats() to get to the current mesh name. Changed to use the wrapper function psItem::GetMeshName(). The concept of "base stats" and "current stats" should be invisible to pretty much everything in the server. - Fixed a bug in the construction of psCombatEventMessage that would cause a NULL pointer dereference during validity checking if the combat event type was not understood. - Added dynamic proxlist support. Read on for details... The purpose of the dynamic proxlist is to help with situations where a number of moving objects are in close proximity generating updates. In such situations the bandwidth required to continuously send updates to all clients is extreme both for the server and especially for the clients. To reduce this load, we use a method of shrinking the radius used to populate proxlists. When the number of player entities in a proxlist player (entities with clients) population run exceeds a compile-time threshold, the radius for the next proxlist population run is reduced. This continues until the range is 0 or the population drops below the upper threshold. When the population drops below another compile-time threshold, the radius is increased. This continues while the population is below the low threshold and the radius is less than the desired radius (fixed at 100 for now). The settings are located in psconst.h and documented there as well. These should be tweaked, but getting enough people online to find good numbers may prove to be a challenge. *** 2003-10-05 by Andrew Craig - Re-wrote the pawsRadioButton widget to be easier to define in XML and to behave better ( ie clicking on label will now activate the button as well ). See pawsradio.h for example of XML format. - Some more work on the parents screen. Added in boxes for parent names and radio buttons for parent statuses. *** 2003-10-05 by Keith Fulton - Added loot_categories table, which contains probabilities and item distribution for NPC loot when they die. This is loaded into SpawnManager and calculated when they die. The psCharacter now holds an array of lootable items, waiting for implementation of looting GUI. - Added personal loot category to specific NPCs and added WX progression stats to the characters table also. X=experience_points and Y=progression_points. *** 2003-10-05 by Andrew Craig - Added some more stuff for the parents window. Basic form is there now. Still have to add the parent name/status fields. - Added a sample religion to the database for testing in the parents screen. *** 2003-10-05 by Andrew Robberts - Added mouselookon and mouselookoff keyinput commands - Added mouselook option for the mouse - Implemented the pscelclient SetMouseLook function that had a prototype but was never actually implemented *** 2003-10-04 by Andrew Craig - Added a temp define #PAWS_CONSTRUCTION in pawswidget.cpp that will a) make the widget movable/resizable if shift-click b) dump the widget position if alt-click Useful for getting good widget positions when building screens. - Added a new basic pawsComboBox for a drop down list of selectable items. - Updated the libpaws.vcproj file for new file pawscombo.h/cpp. - A complete re-write of the pawsBorder class. Now supports graphical borders by using 8 different images. 4 for the corners and 4 for each side that are tiled to fit the widget it frames. - Added a data/borderlist.xml that defines the border styles. - Added a art/gui/border dir to place border images in. *** 2003-10-04 by Andrew Mann - MsgEntry now has a boolean member named 'overrun' that should be checked before sending packets and at appropriate places during packet decoding to tell if the Add*() or Get*() requests on the message would have overrun the buffer. The MsgEntry class will not allow the buffer to be overrun, and will simply return bogus (0 or NULL) data on a request that would do so. It should be sufficient to check the overrun member after performing all Get*() or Add*() calls, but before using the result. - Some psMessageCracker derived classes were overshadowing the base class member named 'msg' with a constructor parameter of the same name. These have been fixed. - Added a boolean member named 'valid' to psMessageCracker base class this member is set depending on wether encoding/decoding generates valid results. The value of this member should be checked before using the results. - NetBase::SendMessage() now checks the overrun member of the passed MsgEntry and generates a Bug() without sending the message if overrun is true. If the valid member of the psMessageCracker derived type is checked and properly acted upon, this should never be reached. - Collectively the psMessageCracker::valid and MsgEntry::overrun members allow failure status due to message parsing at any level to be reported back to callers so that it can be handled appropriately. - Network related log messages turned on by default now. Please keep this set until we are sure there are no bugs with the extensive changes to packet and message handling. - Added boolean member named 'valid' to psCelPersistMessage as well. - Removed 'valid' from psCelPersistMesssage and instead psCelPersistMessage is now derived from psMessageCracker. - psDRMessage and psStatDRMessage are now derived from psMessageCracker. The network encoding is slightly different since the data buffer now has the length prepended. The net version has been bumped for this. - ---------------------------------------------------------------- - --------------PS_NETVERSION BUMPED TO 0x0013-------------------- - ---------------------------------------------------------------- - Begining of changes to all classes that send messages by calling MsgHandler::SendMessage() (or similar functions), or implement iNetSubscriber. These classes should check to ensure that messages they create are created correctly before sending, and messages they handle are parsed properly before acting on the results. Both of these situations can check the 'valid' member of the psMessageCracker derived message parsing class after construction. - GroupManager, GuildManager, NetManager, NPCManager now handle message creation/parsing status. - All server 'manager' classes should now handle message creation/parsing status. - psCharacter::CreateMessage checks for and reports message overrun. - Maximum message length is now 100,000 bytes. The net protocol version has been bumped for this. - ---------------------------------------------------------------- - --------------PS_NETVERSION BUMPED TO 0x0014-------------------- - ---------------------------------------------------------------- *** 2003-10-03 by Keith Fulton - Extended game events to be conditional on gemObjects if you use the subclass psGameObjectEvent. If you use this, you don't have to do anything else--and your Trigger() function will only be called if the object is still valid. - Ported script events to use psGameObjectEvent. Needs to be tested. - Ported combat events to use psGameObjectEvent. This prevents the server from crashing if you disconnect while fighting. Also made a flag on every entity for alive/dead, and made combat events not execute if the target is "dead". - Fxed GetStatDRData so that caller can request certain data be sent. This fixes the problem with the target's heal rate being way too fast. *** 2003-10-03 by Anders Reggestad - Updated some progression script operators with some new parameters. persistent="yes|no" to script nodes to make a choise if they should be persistent when a player logout. Added a count to itemOp to be able to create a pil of objects. - Created a text message to the client when finished casting a spell. - Added a 0.2 possibility for spell failure. Need rewrite that later to match rules. *** 2003-10-03 by Andrew Mann - Formatting in message.h adjusted to be readable. - psMessage::SetSize() should now correctly handle endian issues. - More bugfixes to network code: - Multipackets now check the validity of received data before trying to pull sub packet data out of the ether. - Message warns if Add() functions would overwrite the allocated buffer. Note that at this time messages longer than 2048 bytes will be truncated on the receiving end. This is not a change from previous behavior, you just get a Debug(LOG_NET) message about it now. We may want to increase this size (see message.h constructors). - Message Get*() functions will no longer read beyond the end of the buffer. They will advance the current pointer to the end of the buffer and return a 0 or NULL (as appropriate for the specific call). Some message crackers may not expect this behavior - that's next on the list for review. - psMoney constructor that operates on const char * now checks for a NULL parameter. *** 2003-10-02 by Andrew Mann - Added missing include to psglyph.h for support of uint64_t with msvc. - Reformatting of netbase.cpp - Numerous bugfixes to network code: - Netbase now checks for packets that are too short for even a header. - Netbase checks to ensure that all packet fragments of a message contain the same message size. - Netbase checks for overflow attempts related to message fragments using offset + length to run past the end of the reported (and allocated) message size. - Netbase checks for "gaps" in fragments, which could potentially be used to attempt to grab random data from the server (including other packet data such as logins/passwords of other users) - Netbase can now use the timestamp on received packets to determine if fragments are old and should be removed. Previously fragments would stay in the reassembly list permanently if the client crashed, lost network connectivity, etc. The current maximum age is 12000 csTicks (12 seconds). Both the client and server check for fragment timeouts just after they check for packets to resend. - Still more to do, including updating message crackers to actually check message format, and short-term blacklisting IPs that trigger an obvious malicious packet (fragment gap, message overflow, too short) *** 2003-10-02 by Anders Reggestad - Changed the purify glyph code to use the progression evnet manager. In this way purification will continue after a character have been offline. - Store purification status of items in a new flags in the item_instances table. - Changed the saving of items in character inventory to use update instead of deleting all and saving them. Needed to do this to have a constant ID to use in the progression script. A Dirty flag have to be implemented in the item to only save changed items. *** 2003-10-01 by Andrew Craig - Added in a description box to the parents screen to help test the network system for sending clients character creation choices. - In login it now automatically selects character #1 *** 2003-09-30 by Andrew Robberts - Modified all OnButtonPressed(), MouseDown(), and MouseUp() events to use keyboard modifiers (Ctrl, Alt, Shift). - Updated ConfigMouse to use keyboard modifiers *** 2003-09-29 by Andrew Mann - csString::strlwr() has been replaced with csString::Downcase() Changed a number of locations in server, common and client to comply. - Added functions to allow for a clean(er) shutdown of the EventManager. - Altered psServer::MainLoop() to request and wait for EventManager shutdown prior to returning. This fixes some common crashes when issuing the /quit command on the server. *** 2003-09-29 by Anders Reggestad - Fixed a bug where the client crashed when opening glyph window after dropping and picking up a glyphs. - Added update of all item views when a item is dropped or inserted into inventory. - Fixed item description to work after rewrite to new db structure. *** 2003-09-28 by Andrew Craig - Added in the SaveLoginInformation() that saves your login defaults to the .cfg file. - Patch from TomT: Added in the 'mind' slot for the inventory. This will be used for the tradeskills area *** 2003-09-28 by Anders Reggestad - Added message from server telling when you try to use not purified glyphs to cast a spell. - Fixed broken spell animations and sounds. - A update from Chen Yue Feng: - Use CS load functions to load spell effects. - Created a spell effect manager. - Cleanup of the spell effect system: Removed old code *** 2003-09-27 by Andrew Craig - Started work on the main 'Character Choice' network system. Right now all the frame work should be in place for sending the client all the data it needs to construct the creation screens. - Added new table char_creation which has all the choices available for character creation. Has a couple of small examples. - Next step is to complete the character creation screens using this system. *** 2003-09-27 by Andrew Mann - Added 'if exists' to create_all.sql to allow error-free new database creation. - Updated MSVS 7 project files for psclient and psserver to include some missing files. - Added a Database Scripts folder to the project view under the psserver project and included all the .sql files there. - Added LOG_NET log type as a precursor to work on the network layer. - Fix for uninitialized actor member of guildmember structure. *** 2003-09-25 by Keith Fulton - Added example attack and death anims to dwarf model. Since anims must be standard across all sprites, everything shows up as a dwarf now. - Added psCombatEventMessage to handle notification of each hit to players. - Fixed superclient to use UpdateMove so that visculler gets correct positions of moving meshes. This enables engine->GetNearbyMeshes to work. - Server now selects the targeted entity on both "select" and "context" messages. - Server has random number generator global now. - Attempted to fix "addinv" command. - Combat now determines a skill and weapon-based anim to use in each move. - CacheManager loads and caches this item_animations table. - Updated weapon stats to be usable in combat sort of. - Added an axe to Vengeance character for testing. - New Item Animations table stores sets of moves which weapons can refer to. - Added attribute on Item Stats to point to which set of Item Animations each weapon uses. - Got death anim also working when NPC dies. he will disappear in 20 seconds after he dies. Later this will be longer, to allow looting. *** 2003-09-23 by Andrew Craig - Fixed up some needless long class names. Added some more comments in some places. - Made a couple of build changes. Moved config.guess/config.sub/install-sh into the mk/autoconf dirs. So you have to ./autogen.sh + ./configure again. - Moved keys.xml out of the root dir and into data/options/ - Added a new autogen.sh file to create the configure file for linux builds. Other linux builders, if you get any problems let me know. I am trying to clean up some of the files in PS to remove some of the dead wood. So I need to know if I break things *** 2003-09-23 by Ondrej Hurt - Made pawsMenu more pretty and better behaving. - We got a real german stringtable now, thanks to F. Richter (res) for this contribution. - Czech stringtable made more readable. - Fixed: widgets that had been set as always-on-top were not put on top in pawsWidget::AddChild(). *** 2003-09-21 by Keith Fulton - Committing patch from Andrew Robberts for new options screen which lets you set some mouse controls. We all expect these to grow. *** 2003-09-21 by Andrew Craig - Some more work on the new character creation. Now shows the race descriptions. The new manager will eventually replace rpgRules on the client. - Added a more intelligent pawsMultiLineTextBox. - Fixed small problem with some keys ( shift/pageup/pagedown ) not being bound properly. - Hooked main creation screen to server to get the starting CP values from the races table. - Moved total_time_connected to characters table and it now records total seconds online. *** 2003-09-21 by Anders Reggestad - Added range check to trade (exchange) command - Changed exchange window to use a diffrent color instead of alfa values for accepted offering sections. *** 2003-09-20 by Ondrej Hurt - Language-specific files moved from /data/lang to /lang because they can override files from other directories than just from /data. - Every string I spotted in client code or XML moved to stringtable. - Created czech stringtable (not final). *** 2003-09-20 by Anders Reggestad - Added check to prevent core dump when using spell effects on a entity that is removed from the world. *** 2003-09-19 by Andrew Craig - Updated MSVC6 project files. *** 2003-09-19 by Keith Fulton - Committing patch from Andrew Robberts to make PS stop rendering when window is minimized. - NPC now attempts to fight back when attacked. Perceptions of attack and direct damage are both implemented and hate lists are maintained for each npc. NPC will attack whoever attacks it if it detects it within its combat range--this does not always work and I am currently investigating why not. *** 2003-09-18 by Keith Fulton - Committed patch from Andrew Robberts for /away and /away off. Client away will now auto-respond to tells with . *** 2003-09-18 by Andrew Craig - Removed some code in psKeyBinds::Bind that was preventing multiple keys from having the same commands ( ie could not have 'w' and 'up' both be forward ). *** 2003-09-18 by Anders Reggestad - Added "liststats " command to server. - Fixed some not consistent use of hitpoints, fatigue, mana_max and mana_rate. - Fixed so that the npcclient will work with the testworld. - Fixed a bug in the spell effect system causing meshballs to be stuck in world. *** 2003-09-17 by Andrew Craig - Added some more widgets to the main character creation screen. They are not hooked up to anything yet. Once all the widgets are in place I will hook up all the required functions to get that screen to be functionally. Then when new graphics are ready it should just be a ( hopefully! ) easy task to put them into place. *** 2003-09-17 by Anders Reggestad - Added a list command to the psnpcclient to list all NPCs. *** 2003-09-16 by Keith Fulton - Basic processing of attack and damage perceptions is added. Work to handle them correctly is still on-going. *** 2003-09-15 by Andrew Craig - Added stubs for AddRefOwner and RemoveRefOwner for the psTemplateRes class. I am unsure of what they are used for but are needed for clean compile. *** 2003-09-15 by Anders Reggestad - Fixed a but where selecting a object without character data caused the client to crash. *** 2003-09-15 by Ondrej Hurt - More work on pawsMenu e.g. whole submenu hierarchy can be described by one file - Added always-on-top feature to pawsWidget - Added class psLocalization, which translates strings and searches for localized versions of PAWS XML files - Added configuration variable Planeshift.Language which sets current language - psChatMessage - added attribute 'translated' - when true, chat message is translated by psLocalization - Chat window has a context menu that the user can use to send (predefined) chat messages which are translated to languages of other clients (i.e. psChatMessage::translated==true) *** 2003-09-09 by Andrew Craig - Added first new character creation window. It is very bare at the moment ( just some navigation buttons ) but thought I should commit now since it is a start :). Will add more of the required widgets as needed. When others start working on it we can work on all windows in parallel. - Changed chat appearance a bit. Now when it is inactive it hides the borders/buttons. Makes the screen look a little less cluttered. *** 2003-09-08 by Andrew Craig - Fixed spelling error and cleaned up some formatting ( mostly making sure tabs are spaces ) *** 2003-09-07 by Andrew Craig - Did a fix in pawsEditTextBox where it was crashing on an empty string *** 2003-09-05 by Keith Fulton - Converted SoundManager to use CS Std XML API. - Now server sends combat and damage perceptions to the superclient. Superclient catches these but there is no scripting yet to deal with them. (You can see the perceptions on superclient in printfs to the console, however.) *** 2003-09-04 by Andrew Craig - Added new class psCharacterCreationManager that will deal with the RPG aspects of creating a new character on the client. First step is to cache in all data ( this checkin does loading of initial CP values for the races ) - Next step is to create a character_create table that maintains the relevant data for creation cache that in. - Remember to recreate your db for new CP column on races *** 2003-09-03 by Keith Fulton - Fixed spell effect loader bug and fixed up spr file names in db so correct race models load. - Working on restoring superclient to normal since big server restructuring. *** 2003-09-02 by Keith Fulton - Separated NPC "death" from disappearance. Now spawnmanager will wait 20 seconds before removing the dead body. This period should of course be much longer in the real game to allow looting. Also right now death is very anticlimactic. No anim is played. You can only tell from the chat window and printfs in the server console atm. *** 2003-08-31 by Keith Fulton - StatDR now works for the targeted entity on the client, and shows correctly in the info window, and is updated by the server correctly during combat. - Updated some class names and made filenames match. This will break VC6 makefiles until someone commits new ones. Here are renamed classes: NetThread = NetManager psCelServer = EntityManager psCel = GEMSupervisor celPSObject = gemObject celPSActor = gemActor, etc. note: GEM stands for Game Entity Management and is our CEL wrapper. *** 2003-08-29 by Keith Fulton - Changed Groups to use celPSActors instead of Clients. - Unified all StatDR in chardata prop class, since both client and server need this functionality. - Changed statDR updating to work for all actors, not just Clients (not just human players). *** 2003-08-29 by Anders Reggestad - Added range check to the trade commands /buy and /sell. - Added common verification of trade commands in one function, than buy, sell, view and category will check for the same constrains. This make the code more maintainable and it will be more difficult for players to find exploits in the merchant code. *** 2003-08-26 by Anders Reggestad - Commited a update from Chen Yue Feng - Fixed the sound manager to play streamed sounds more than once. - Cleaned up cloning of overriden spell effects. *** 2003-08-25 by Anders Reggestad - Fixed sending of StatDR messages from server. - Added spell sounds to art/music/effects/. - Added hook to the progression manager, when a quest is finished. The hook is called "quest_". - Added an ItemOp to the ProgressionManager. Can be used to add new items to a player on quest complete. *** 2003-08-24 by Ondrej Hurt - Key configuration is loaded/saved from/to the keys.xml file. - Key configuration now really sets in-game key bindings. - Added pop-up menu (pawsMenu) - New pop-up menu works as context menu for widgets: pawsWidget and its subclasses can now open context menu on right-click ("ContextMenu" attribute in XML) - pawsWidget destructor now calls psPawsManager::OnWidgetDeleted() so that psPawsManager sets all its links to this widget to NULL - pawsWidget::Load() no longer requires "frame" tag - pawsWidget::LoadFromFile(fileName) added *** 2003-08-24 by Anders Reggestad - Cleaned up old file. Removed gui.zip from data dir, removed mounting. - Added storing of outstanding progression events to characters when disconnecting. Added execute of this when reconnecting. *** 2003-08-21 by Keith Fulton - Committed updates to Characters and Item_stats tables for latest Rules, supplied decent default values for Fist item to test combat. - Added loading, error checking of these values. Much more error checking needed, but if you attack, it should work now. *** 2003-08-21 by Andrew Craig - Fixed error in paws drawing. Forgot about the BeginDraw flags for CS. *** 2003-08-20 by Keith Fulton - Updated for removal of gui lib. Now all is PAWS. *** 2003-08-20 by Andrew Craig - Added ability to add a call back to the confirm ( yesnobox ) - Removed the dialog manager stuff from the cmdutils classes - Removed iDialogManager from the main psengine class. This should be the next to last step to remove lsupi windows. Last step is to remove the /gui dir. - Removed the gui/ gui/base dirs so there should be no more lsupi windows. *** 2003-08-20 by Anders Reggestad - Added to string functions to Progression event operations, to be used when delayed script shall be stored for execution when player log on again. - Added one more update of the spell effects by Chen Yue Feng. - Cleaned up the spell system on the server to mach the new effect system in client. - Removed the two target progression event system, to complicated. - Added one more call in the spell mangaer to handle both target and caster effects of spell. Like enery drain spells where target loose HP and caster gain HP. - Added a DeconnectReceiver interface, used between celPSObject and psScriptGameEvent to abort the script execution if the target cel object is removed. - Moved some defs of internal progression manager classes from the h file to the cpp file. Less recompiling when changing than :) *** 2003-08-18 by Andrew Craig - Added time to the info window. Updates on the first time event from the server. - Removed the dialogmanager dependency from the guildcommands and added a skeleton pawsGuildWindow. ( so a couple of new files to add to your project file ) - Removed dialogmanager ( lsupi windows ) dependency from groupcommands - Added in model to character picker screen. Only has base model and not the custom texture or inventory yet. That is on the todo. - Added in PAWS load window to replace lsupi type window. - ( new file pawsloading.h/cpp for paws lib ) - Refactored psengine class on client to remove the SwitchStatus calls - Added enums to the LoadGame switch to make it more clear what it is doing. *** 2003-08-18 by Anders Reggestad - Added script node to the progression event scripts. Syntax: This script will heal the originator character with 5HP after 2seconds. Still to do: Remove executing scripts when character disconnect. - Fixed a bug in the pawsglyphwindow that prevented purifying of glyphs. - Added loading of the new spell effects from Yue Feng. - Committed a new patch from Chen Yue Feng (he goes by Yue Feng) for starting to have parameterized spell effects. Code for existing particle systems have been created in the new /src/client/effects/ directory. *** 2003-08-17 by Anders Reggestad - Added range check to spell casting. - Added random change of stats in the progression_manager: : Adjust random between 0 and 5 to STR : Adjust between 10 and 15 to HP : Adjust between -5 and -10 to HP : Adjust between -10 and -15 to Mana - Added percent of max adjustment to stats in the progression_manager: : Adjust with 50% of max to HP *** 2003-08-17 by Greg von Beck - Stopped widget from saving and loading height and width info if it is not resizable *** 2003-08-16 by Keith Fulton - Info Window now displays HP, Mana, Fatigue for the player and shows HP for the targeted player. Have not yet tested updates of this, but the window works. - Added variable colors and gradients to pawsProgressBar. I still don't think this control is very attractive, however. *** 2003-08-16 by Greg von Beck - Fixed Min and Max widget sizes to use XML files - XML files accept and *** 2003-08-15 by Anders Reggestad - Added HP,MANA,FATIGUE,STR,AGI,END,INT,WIL,CHA script elemenst to the progression manager. Syntax: - Added a msg script element. Syntax: - Changed the spell system to use a progression event for effects. - Added saving of faction_standings on saving of character - Added server command: progress , to test progress scripts. - Displaying way name instead of way id in the spell window. - Changed the way spell effect are handled in the client. - Added sending of spell effect name to client. - Added sending of casting effect to client. - Added spell casting animations. Now the animation given in the db is played when a character cast a spell. *** 2003-08-15 by Anders Reggestad - Added a spell name field to the glyph window. - Fixed a bug in loading of spells for a player. - Added check to prevent saving an allready known spell. - Added a glyph spell combination to the spell_glyph table. There should never be a spell without a uniq combination of one or more glyphs. - Added check to only permit glyphs to be stored in slots with the correct way. - Added display of glyphs in the spell book list box. *** 2003-08-14 by Anders Reggestad - Added check to verify that needed glyphs are pressent when casting a spell. - Moved psSpell::Effect from spellmanager.cpp to the psspell.cpp file. - Removed some debug printings. *** 2003-08-13 by Keith Fulton - Committed patch from Chen Yue Feng (he goes by Yue Feng) for starting to have parameterized spell effects. New lib for these effects in /src/client/effects and materials used are in /art/effects, while the xml specifiers for each effect are in /data/spell_effect.xml. *** 2003-08-13 by Anders Reggestad - Replaced some more csStringArray with psStringArray. *** 2003-08-13 by Andrew Craig - Added a psStringArray to utils. It is an older version of CS's csStringArray class before it was adjusted. *** 2003-08-13 by Anders Reggestad - Removed some not used database refs. *** 2003-08-13 by Christophe Painchaud - added full /report command support. *** 2003-08-12 by Anders Reggestad - Added saving of spells in the glyph window. - Added casting of spell from the glyph window. - Fixed the psItemSlot::Swap function to correct handle stack counts. - Removed all use of psDatabase from the psSpellManager. *** 2003-08-12 by Andrew Craig - Added in support for picking character from a list. This allows accounts to have more then one character associated with it. At the moment it just displays the name. Future update will have the model with equipment as well as display the location. Future updates will also activate the create new charater buttons. *** 2003-08-11 by Greg von Beck - modified pawsProgressBar to have the border over the fill - changed the fill to a gradient for pawsProgressBar *** 2003-08-11 by Anders Reggestad - Fixed verification of glyphs in the glyph window after new db. *** 2003-08-10 by Andrew Craig - Moved the create Texture/Equipment strings out of the celActor class and into the pscharacter class. *** 2003-08-07 by Andrew Craig - Added warning message for not being able to contact server at all. *** 2003-08-07 by Anders Reggestad - Added /cast command. - Fixed updating of glyphs in glyphs window. - Added subclass psGlyph of psItem to handle glyph specific things. *** 2003-08-06 by Anders Reggestad - Added psWay and cache list for DB table ways. - Moved psSpell to be cached in the cachemanager. - Readded all glyphs stats to the DB. - Added system message when buying/selling things. - Added handling of full inventory when buying things. - Added handling of full merchant inventory when selling things. *** 2003-08-05 by Andrew Craig - Made the error messages on connecting a bit better. Moved the disconnect status out of the psengine and moved it into authclient. Still have to do the timeout error when there is no server running. *** 2003-08-05 by Anders Reggestad - Addes scrollbars to the exchange window to control offered money. - Added a category_id field to the item_stats table. - Added a price field to the item_stats table. - Added visible="yes/no" attribute to listbox columns. - Added all weapons to Smith's inventory in the test world. *** 2003-08-05 by Andrew Dai - Fixed position and size of small scrollbar in shortcut window. - Fixed position and size of horizontal scrollbar buttons. - Scrollbars can no longer be focused. *** 2003-08-03 by Anders Reggestad - Removed the dumb guild info object, use a null pointer for char not in any guilds. - Fixed the GenericUpdateWithID to not report error if no data was updated. - Fixed problem where server crashed when a player quited after beeing removed from a guild. - The new guild command failed to update the db, changed field name. - Some more CS API changes from Delete(i) to DeleteIndex(i). - Fixed the who command to not crash when no guild level is defined for a guild. - Updated the db to have consisten guild information. The rights field was missing. - Implemented scrolling of offering and receiving section in the exchange window. - Added parsing of field direction="horizontal" to the pawsScrollBar XML setup. - Changed the OnScroll events to recursivly travers through parents until NULL. *** 2003-08-02 by Andrew Craig - Changed spellEffects.Delete(i) to spellEfects.DeleteIndex(i) because of API change in CS. Have not tested this to make sure that still performs as expected. *** 2003-08-02 by Anders Reggestad - Updated display of money in the inventory window. - Created field for displaying total weight of inventory. - Converted the Exchange system to use the new db interface. - Fixed some math in the pawsMessageTextBox widget to allways display optimal number of lines. - Changed scroll bar max value to be equal number of not visible lines. - Adjusted the info window. *** 2003-08-01 by Andrew Craig - Added PAWS login screen. It is not complete yet but it will allow you to login. What will happen in the future is that: 1) You will login in first then pick your character and then join game OR 2) You will login in first then select 'create new character' OR 3) You will create a new account ( fill in a form ) and then GOTO 2 At the moment the new account button does not work. - Added OK widget window that is used to display messages. - Added in check to make sure it can connect to server. *** 2003-08-01 by Andrew Dai - Fixed an error in splash.xml, and in ShortcutWindow.xml - Added support for the TAB key to ALL widgets, it will cycle focus through all the child widgets - Changed the return type of OnGainFocus to bool, if this function is overloaded and made to return false, then that widget will be assumed to be unfocusable and can't be TABbed into - Made ordinary text boxes and borders unfocusable - Set the MAX_SHORTCUT_SETS to 4, allowing a maximum of 40 buttons which can be navigated via the scrollbar - Added the SetHorizontal(bool) function to pawscrollbar allowing the scrollbar to be horizontal, it currently still uses Up/Down arrow graphics - IsIgnored will assume the list is already sorted so IsIgnored checks will be quicker and ALOT quicker for very large ignore lists *** 2003-08-01 by Anders Reggestad - Removed some debug prints in the merchant system - When selecting view in the inventory screen, the item is dropped back into its place. - Finished updateing the merchant system after new db system. - Removed duplicated code in psItem GetFieldArray, Save and Load functions. - Fixed saving of items in DB when created. *** 2003-07-31 by Anders Reggestad - Moved itemCategory cache from psMerchantInfo to the CacheManager - Added constructor taking trias to the psMoney class. - Started converting the sell action in the merchant window. *** 2003-07-31 by Keith Fulton - Committing a patch by Tanguy Gilmont for a "lock" command on the server. This allows the server to run normally but prevents it from accepting new connections. This is useful during a graceful shutdown. *** 2003-07-30 by Andrew Craig - Fixed error in pickup items where parent location was not being updated correctly. - Added PAWS splash window to the start and added a progess bar to show loading status of models. *** 2003-07-30 by Andrew Dai - Improved the shortcut edit window so it is read from a XML file and no longer has to be modal, also added a cancel button and fixed the crash when enter was pressed - Modified fading effect slightly to have different effects on whether the widget and it's children are focused or not - Added capibility for the notify widget for buttons to be read from XML and fixed a mistake in reading button labels - Moved where the multiline attribute is read from XML - pawsTextBoxes can no longer be focused, this may need to be changed later if we add a selectable property to text boxes - Improved the shortcut window so the buttons are read from a XML file, allowing skinning and the window can now be resized - Implemented OnButtonReleased() function and pawsScrollBar will automatically scroll if the button is held down *** 2003-07-29 by Anders Reggestad - Started work to send items to the merchant window when selecting a category. - Problem found: When picking up two objects, location_in_parent isn't updated and server crash next time character load. *** 2003-07-29 by Andrew Dai - Added support for multiline editable text boxes which can be activated with SetMultiline(true) or a multiline property in the XML file. - Made various fixes and improvements to editable boxes such as working Home and End keys and response to mouseclicks. - Improved functionality of modal widgets so modal child widgets can gain focus. - Added fading effects to child widgets via a virtual MouseOver function (fading can be disabled by overriding MouseOver or setting fade to false) (To be implemented in XML) - Added a GetAlpha function to images *** 2003-07-27 by Keith Fulton - Added assert if specified field name is not found in iResultRow now. - Fixed several wrong column names which were highlighted by this assert. - Fixed a couple of other dtor errors which MSVC helpfully pointed out. *** 2003-07-27 by Andrew Craig - Change in CS. csPArray is no longer available. Changed all PS uses to csArray - Made the merchant window a bit better looking - Fixed some listbox problems - Added some items to the item_stats table. Need to add the glyphs and money as well. *** 2003-07-27 by Andrew Dai - The pawsButton widget can now have a label, which will be drawn over any images. - The pawsEditTextBox widget will now move its cursor when clicked on. *** 2003-07-27 by Keith Fulton - Committed big patch by tangerine to give us tree controls in PAWS, and finally hooked up Options window in the game. Keyboard mapper works, but is not actually change the mappings yet. *** 2003-07-27 by Anders Reggestad - Started to convert merchant server side to not use psdatabase interface. - Moved trading/merchant status info from client to character data. - New merchant status classes inn bulkobjs - Modified ServerConsole to take a prompt paramter to be used as prompt. *** 2003-07-27 by Andrew Craig - Fixed server to handle the drop messages. Still needs to take into account stack counts though. - Now drops the number of items that are given in stackcount to drop and places the remainder back in your inventory. - Next is to be able to break up stack counts when moving items in inventory. *** 2003-07-26 by Keith Fulton - Revamped guild handling to use new caching/data scheme. Retested some functions but not all. *** 2003-07-26 by Andrew Craig - Cleaned up GUI message for dropping an item. Have to fix the server side to handle it correctly. *** 2003-07-25 by Keith Fulton - Fixed initial spawn of NPCs. Due to lack of data, they will all show up as StoneB dwarves atm. - Moved NPC Dialog functionality into bulkobject caching lib. *** 2003-07-25 by Andrew Craig - Spawning of objects works now on the server. Added two axes as examples. - More changes to get inventory working smoothly. Mostly working now with only a droppig left to do. - Some clean ups and fixes after Keith's commit of Andrew Mann's huge code base. - Change the inventory message class to be more contained and to build it's own messages. *** 2003-07-24 by Keith Fulton - Committing new internal data model on server, with new external data model in database, This includes sectors, races, characters, accounts, and new combat functionality. *** NOTE *** To make this committable, many things have been disabled or broken. I'd like everyone's help in getting the server back to where it was. At this point, you should be able to login (I've tested guest/guest), but I don't guarantee anything else. Many thanks to Andrew Mann, who actually wrote a lot of this code. *** 2003-07-24 by Andrew Craig - Added in PAWS version of spell window. - Made some changes to start the removal of AWS. *** 2003-07-23 by Andrew Craig - Commited view petition window by Andrew Dai (Khaki). It is used to view a full description of the selected petition. - Commited several fixes also by Andrew Dai ( Khaki ) in a couple of PAWS widgets. Thanks! - Fixed error in where PAWS widgets slowly got smaller and smaller because of a floating point error. *** 2003-07-21 by Keith Fulton - Committed /ignore command functionality by Andrew Dai (Anonimas). Thanks Andrew! - Committing a patch by Andrew Dai (Anonimas) for auto-reply keystroke. You can hit 'r' now in the game window and it will fill in the last person to send you a /tell, and write /tell for you. *** 2003-07-20 by Keith Fulton - Committing a patch by Tanguy Gilmont (cadripper) which changes how the server determines when a proxlist update should occur. - Added csStringHash of sector names to be used instead of clear text sector names in GetDRData and SetDRData. We anticipate using this string hash table for many different purposes in networking compression. Thanks to David Munger (Volrog) for this code. - David also implemented the npc_spawn_ranges table in the spawn manager so now spawns do not have to occur in the same spot every time. - *** You WILL Need to update your database (run msg_strings.sql and server_options.sql) in order for the server to run. *** 2003-07-19 by Andrew Craig - Added a PAWS version of the merchant window - Some smaller PAWS changes *** 2003-07-18 by Anders Reggestad - Started work on scrolling slots in exchange window - Fixed buy/sell/exchange to work with glyphs *** 2003-07-17 by Keith Fulton - Added csPath/spline support to superclient. Now npcs can follow spline curves automatically. *** 2003-07-17 by Anders Reggestad - Fixed for CS interface change: SetCanvas to SetupCanvas - Changed depricated include rng.h to randomgen.h *** 2003-07-12 by Anders Reggestad - Fixed some compiler warnings - Fixed a wrong error message in the superclient. *** 2003-07-10 by Keith Fulton. Rotate to face during conversation works now. This tests: - superclient correctly receiving and tracking player loc updates - perception propagation from server to superclient - conditional events (npc only turns if faction diff < 100) - events with iCelEntity parameters *** 2003-07-09 by Keith Fulton. - Keith committed the start of the player Options window, including a PAWS tree control and sub windows. Thanks to Ondrej Hurt (tangerine) for this big contribution! - Converted PS over to use the CEL version of linmove instead of the PS version. *** 2003-07-09 by Alexander Wiseman - Added support for GMs for managing user petitions in game, including a PAWS window. GMs with admin access can type /petition_manage to pull up a list of all Open unassigned petitions. For a complete explanation of the PAWS window, refer to the upcoming document "Game Masters Guide: Managing Petitions" - Updated several aspects of the user petition commands. *** 2003-07-09 by Keith Fulton - Factions now include a weight factor, so for example race-based factions can be 3x as important in calculations as job-based factions. - Completely reworked how perception events are created and propagated to NPCs. This was to allow for more complex conditionality of perceptions necessary for range and faction checking. *** 2003-07-09 by Anders Reggestad - Added code to insert glyphs into glyph list when picking up and removing when dropping a glyph from inventory. *** 2003-07-09 by Christophe Painchaud - Added database version support *** 2003-07-06 by Anders Reggestad - Fixed for compablity with cel. - Some more error messages included. - Integrated glyphs icons/3D *** 2003-07-05 by Keith Fulton - Added petition customer service system to client and server. To use, type /petition to add one to the system. Then type /petition_list to popup a window with all your personal petitions. Then you can select them and cancel them if you wish. Thanks to Alex Wiseman for this code and welcome to the team! *** 2003-07-03 by Andrew Craig - Added a new CREATE_PAWS_FACTORY macro to PAWS that can be used to easily create the factory for your new widget. It is used like: CREATE_PAWS_FACTORY( pawsChatWindow ). - This will automatically create the factory class you will need. You still have to add it to the list in the manager class. - Converted all current widgets to use this macro. *** 2003-07-02 by Andrew Craig - More work on the pawsListBox as a precursor to the update merchant window. - Not 100% tested yet so maybe some small issues. *** 2003-07-01 by Keith Fulton - Added faction tracking to celPSActor. - Added progression manager to server, which executes xml scripts on progression events, such as updating faction settings for actors. *** 2003-06-30 by Keith Fulton - Superclient wanderer and guard behaviors both work now. *** 2003-06-27 by Keith Fulton - Changed psGameObject::SetRotationAngle back, and fixed NPC turning and fixed CalculateIncidentAngle to all use consistent axis orientations. This was the problem of the npc not turning correctly. - Committed a patch by Alex Wiseman (SirAihal) for a /kick command. *** 2003-06-27 by Andrew Mann - NPCSuperclient - Changed psGameObject::SetRotationAngle() to use angle_delta instead of target_angle on completion of a rotation command. *** 2003-06-25 by Keith Fulton - Fixed for CEL directory naming changes. - Committed revised superclient for Andrew Mann's review. *** 2003-06-22 by Andrew Craig - Added in new pawsradio button/group widget. Added images for them as well. *** 2003-06-21 by Andrew Craig - Added automatic resizing to PAWS for different screen resolutions. All PAWS windows should be defined using 800x600 as the standard unit. The windows will be scaled based on this value. *** 2003-06-21 by Keith Fulton - Committed a patch by Chris Given which allows clients to send a HIGH priority DR message when they are stationary, and not send another one until they have started moving again. - Added a type parameter to all Debug1() etc macros. See log.h for list, and if you add a new one, you must add its initialization in log.cpp. *** 2003-06-21 by Andrew Mann - Region fixes to psworld.cpp and psworld.h SetupWorldColliders() now takes an additional iRegion * parameter. - Region fixes to aws/psobjectview.cpp. *** 2003-06-21 by Andrew Mann - Fixed pawsobjectview.cpp for Crystal Space region changes. There is no longer a concept of the current region in the engine. Instead, CreateRegion(char *regionname) can be used to return an iRegion * to a new region or an existing region previously created with the same name. iEngine->SetCurrentRegion() and iEngine->GetCurrentRegion() are no longer available. *** 2003-06-20 by Keith Fulton - Renamed xmlString to psString. - Committed tab auto-complete of commands in chat window by Jeremy Huddleston (aka eradicator). *** 2003-06-19 by Keith Fulton - Fixed PS to load CEL plugins again, using most up-to-date CS cvs. If you are using anonymous access to cvs for CS, do NOT update your PS until 20 Jun. *** 2003-06-18 by Anders Reggestad - Fixed updating of proxy glyph lists when moving glyphs. *** 2003-06-17 by Anders Reggestad - Implemented matching of spell with glyph combinations. *** 2003-06-17 by Andrew Craig - new PAWS exchange window added. *** 2003-06-16 by Anders Reggestad - Implemented purifying of glyphs. *** 2003-06-16 by Keith Fulton - Committed code from Jeremy Huddleston to implement chat window command history, using up/down arrows to access it. It works well--we should've done it a long time ago. :-) *** 2003-06-14 by Anders Reggestad - Inserted initial version of glyphs window *** 2003-06-11 by Andrew Craig - Now superclient manager deletes its reference to the Client* on disconnect. - Also superclient will do to last located point. - The psCSSetup class presumed the existence of a CEL env var in order to initialize. This var does not and should not exist or be needed in Windows. I have added a handler for this case which gets the PATH and adds each directory in the PATH to the csAddLibraryPath list. This is in line with the standard way Windows locates dlls and other plugins, and should be ok to use with .csplugin files as well. *** 2003-06-11 by Andrew Craig - Added new CSSetup class from Elliot Paquette. Moves the initcs.inc and mount.cpp files into one helper class. Hence these files have been removed from the CVS. *** 2003-06-10 by Andrew Craig - Added in compiling-mingw32.txt from steve cook. Thanks! - Fixed unreleased ref caused by player targeting ( player did not disappear from client if he was targeted by said client ) **** 2003-06-09 by Andrew Craig - Added in a basic listbox widget and a new PAWS GroupWindow. - Update group manager so you cannot invite yourself. **** 2003-06-08 by Keith Fulton - Now and work in their basic forms. If you run the superclient in NPCroom.zip map, you should see one of the npcs walking back and forth using and another using / pairs. **** 2003-06-06 by Keith Fulton - Added a script operation, which has a hardcoded destination in it. This is mostly just to test general movement. I don't anticipate that it will be often used in the actual game. - There is now a npctype called "guard" which makes one of the npcs walk back and forth between two points. It is designed to be used with the NPCroom map, which I will use as my primary map from now on. **** 2003-06-06 by Andrew Craig - Fixed for SCF changes in CS. Maybe some issues still here as we work out how to work better with the new system. - Removed scfreg.inc and the SCFSetup() because it is no longer used. - Fixed postfix on iterators to be prefix incrementors. ( change in CS API ) **** 2003-06-04 by Andrew Craig - Fixed for latest changes in CS. Iterators now all follow the standard HasNext() Next() functions. So the common way for all iterators is: while ( iter->HasNext() ) myObject = iter->Next(); - Removed AddLight() for the explosion system since jorrit removed it from the interface. **** 2003-06-03 by Keith Fulton - NPCClient now sends the NPC Command List messages to the server, and the NPC Manager on the server receives the messages. If the command is a DR update, it makes a DR Update message and multicasts to clients. This means you can see the NPCs rotating on any connected client. (Rotating is the only NPC script command implemented atm.) **** 2003-06-02 by Keith Fulton - NPCClient now actually uses CEL to execute the operation in behavior scripts. The operation queues the networking messages to persist these actions to the server, but nothing is sent yet. **** 2003-06-01 by Anders Reggestad - Fixed a couple of compiler warnings/errors when compiling with gcc -Wall. - Added the cleaver.png to the imagelist.xml file be able to use the view object function at the cleaver. **** 2003-06-01 by Keith Fulton - NPCClient now has a re-ordered messaging protocol. It loads the maps, then persists the entities from the server, then matches up its own npc definitions with the entity id's from the server to the iCelEntitys. **** 2003-06-01 by Andrew Craig - Added in new main icon bar that now uses PAWS. At the moment it still uses two AWS windows for the spell book and options window. Those will be moved over shortly as well. - Uses icon provied by res. - Fixed main widget for checking if widgets existed. Caused a segfault before you entered the game. **** 2003-05-29 by Keith Fulton - Now the superclient gets a list of maps to load from the server. (This list is currently the list of all loaded maps on the server, but doesn't have to be in the future.) Then the superclient loads in each map. Once the world files have all been loaded, the client is marked as ready. **** 2003-05-29 by Andrew Craig - Added a new PAWS Interact Window that replaces the old aws version of it. Also changed the layout of the buttons so they are around the item. Before, the quit button used to be over the item. **** 2003-05-29 by Javier Fernandez-Ivern - Added support for an EQ-style "assist" command. Typing /assist will make your target be the specified player's target, provided that the player is within 25 meters of you. If you have a player targeted, you can simply type /assist to get that player's target (subject to the same range check.) **** 2003-05-27 by Andrew Craig - Changed mk/autoconf/ac_path_mysql.m4 to use mysql_real_connect() since mysql_connect() is depreciated and no longer exists in later versions of MySQL **** 2003-05-25 by Andrew Craig - Replaced AWS "Item Description Window" with it's PAWS version. It now also subscribes to MSGTYPEGUIITEMDESC so it can handle the messages directly. **** 2003-05-25 by Andrew Craig - Replaced "Target Window". Target is now included in the info window. More PAWS changes ongoing. **** 2003-05-24 by Andrew Craig - Update PS for changes in CS: "Deprecated feature use: iPolygonMesh queried from Thing object; use iMeshObject->GetObjectModel()->GetPolygonMeshColldet() instead." so mesh = SCF_QUERY_INTERFACE(sp->GetMeshObject(), iPolygonMesh); is replaced with: mesh = sp->GetMeshObject()->GetObjectModel()->GetPolygonMeshColldet(); **** 2003-05-23 by Andrew Craig - Fixed the INSERT into guilds to have a value for the secret guilds. **** 2003-05-19 by Andrew Craig - Added in new PAWS inventory window. Is a little simplier then the AWS one but performs better. **** 2003-05-18 by Andrew Craig - Added an accessor to pawsImage to get the current image description that it is using. - Added some NULL checks in the pawsImage draw code to make sure it has something to draw before attempting to. **** 2003-05-09 by Keith Fulton - NPCClient now loads in npc definitions for all npcs it is managing and makes copies of each npctype for them. **** 2003-05-08 by Keith Fulton - Committing support for "secret" guilds, which do not show up on /who lists. To activate, use /guildsecret on|off as guild leader. Thanks to Javier Fernandez-Ivern for this contribution. **** 2003-05-08 by Keith Fulton - NPCclient now loads in some basic npc behavior scripts. Still nothing happens other than the loading. **** 2003-05-06 by Luca Pancallo - Fixed the yes>yes problem on dialogues. It was about how the binarytree is constructed. - Fixed another potential bug when a trigger is uppercase in the db **** 2003-05-04 by Anders Reggestad - Modified particle system to get material from a effect_script, that is stored in DB and distributed to client in the spell effect message. - >>>>> DB CHANGED <<<<< - Added effect_particle_script to spell table in DB. **** 2003-05-04 by Andrew Craig - Fixed bad include in messages.h for removal of netversion.h - Added some customizability to GUI keys. See data/guikeys.xml for an example. At the moment the only action the base widget knows about is 'togglevisibility' but by overloading the PerformAction() on the widget could have actions like "cast spell #1" or "set chat mode say". - Current key should be F1 to toggle chat window on and off. - Fixed Jamfiles for psnpcclient. **** 2003-05-04 by Keith Fulton - Initial Superclient commit. This still doesn't do much, but it will connect to a running and ready server, and the server will send it an xml list of all NPCs the superclient is to manage. The npcclient has a command line interface similar to the server, and allows only "quit" right now. - I intend to commit this stuff as I go, little by little, because I don't like getting out of synch for too long. It is not necessary for anyone else to build or test with this anytime soon. **** 2003-05-04 by Andrew Craig - Fixed PAWS position loading to make sure window is inside client window size. **** 2003-05-04 by Anders Reggestad - Added particle system emitter, to spell effect system. - Added particle system fountain, to spell effect system. - Added duration for particle effects in message from server. **** 2003-05-03 by Andrew Craig - Added some 'chat' type buttons to the chat window so you can be in a particular 'mode'. Current mode buttons are for: /say /guild /group /shout - Added graphics for these buttons. **** 2003-05-03 by Anders Reggestad - Added name of other player in the exchange startup message and added display of this in the exchange window. The Layout and 2d graphics should be updated when converting this window to use new paws. - Updated jam system to support compiling with debug support. **** 2003-05-02 by Andrew Craig - Fixed netpersistance for changes to the VFS API in CS. **** 2003-05-01 by Anders Reggestad - Fixed the notify buddy logged in/out function to be more robust. - Added move count to the exchange window. - Moved scripts to work around conflict when building for jam: - Moved psserver to psserver.sh - Moved psclient to psclient.sh - Moved pssetup to pssetup.sh **** 2003-04-30 by Andrew Craig - Added 'busy' mouse pointer to the preloading models and loading game areas. - PAWS now saves positions/sizes of windows in planeshift.cfg file. Saves it as: Planeshift.GUI.>windowName<.>positionVar< **** 2003-04-29 by Anders Reggestad - Added ball object, to spell effect systems. **** 2003-04-28 by Andrew Craig - Added in new rpgrules.xml file from Mehallie which fixed up some spelling and grammar errors. **** 2003-04-27 by Anders Reggestad - Added particle system spiral, to spell particle systems. - Added spell effect message from server to clients - Added particle system explotion, to use in the Flame shot spell. - Added check to verify that the player have the spell he is trying to cast. - Added check to verfiy that the player have the mana needed to cast the spell. **** 2003-04-27 by Andrew Craig - Fixed up pscel.cpp to initialize the static var cel to NULL - Fixed up some of the indentation in that file as well. - Added in scroll bars and a base widget button class. Note the scroll bars are functional but they don't have the thumb yet that you can drag up and down. So when text extends off the size of the chat window scroll bars should be automagically added on. **** 2003-04-26 by Andrew Craig - Fixed up some csHash issues because of recent changes in CS. **** 2003-04-26 by Anders Reggestad - Removed some more traces of proxlist. - Added user feedback on healing spells. - Fixed a bug in object picking that caused the server to crash. - Fixed some code to use 4 space indentation, not tabs. **** 2003-04-24 by Keith Fulton - Fixed multiple login bug in cel wrapper classes and hashmap. **** 2003-04-24 by Andrew Craig - Fixed up some client side stuff that was using proxlist to get the position of player. Now uses pcLinearMovement::GetLastPosition() - Update chat window to now use ENTER to toggle chat on and off. Enter will also return focus back to the desk top. **** 2003-04-23 by Keith Fulton - Now ProxList is an object owned by celPSObject. All updating of the lists happens within that object. All other objects who used proxlist for other purposes now use other methods to achieve their goals. This is a big change to a complex class, so handle with care. I have tested it with players, NPCs and object pickups and it appears to work. **** 2003-04-23 by Andrew Craig - Fixed message box to correctly get the top line on a Resize. **** 2003-04-22 by Andrew Craig - Fixed chat a little because it was drawing on the border. - Removed unused code from pawsWidget **** 2003-04-22 by Anders Reggestad - Inserted handling of the cast command from the spell book window. - Don't send view item from merchant window with "empty" item name. - Updated the new chatwindow with the chages done to the old pscomm window to handel group chat. - Added colour for group chat and auction messages. **** 2003-04-21 by Andrew Craig - Added in first installment of PAWS. At the moment it only covers the chat window and only has a couple of widgets. Also added are imagelist.xml which defines the images that PAWS uses and prefs.xml which defines some of the PAWS prefs. prefs.xml also defines colours for the various chat messages as well. I will try to get a wiki page up soon that defines the format of these files. - Chat window does not have scroll bars yet since those are a little more tricky to do. - For those of you that waited for it now actually toggles the chat window focus! Temp hack is to make the border of the active widget red. - Updated the msvc project files but not sure if they are totally correct. Somebody needs to update the msvc7 project files as well. - Let me know if anything is broken so I can fix it. - Chat window displays different messages in different colours. - Fixed some build warnings about non-virtual descructors. **** 2003-04-21 by Andrew Mann - Changed psModeMessage to allocate enough message space for the required data. Previously was allocating 1 byte and adding a uint32 (4 bytes) causing an overrun. It now allocates sizeof(uint32_t). **** 2003-04-20 by Keith Fulton - Moved psCelServer::InitCharData and helper functions to celPSActor. - Fixed (hopefully) vc7 make files. **** 2003-04-20 by Andrew Mann - Fixed several server crashes on shutdown. - Removed "delete eventmanager" from psserver.cpp on destruction as the eventmanager is now stored in a csRef - Changed msghandler destructor back to using an iterator to walk/delete the members of the cdList subscribers list now that this method is safe (and the other method isn't!) - Changed psSpawnManager to use csRef<> for the msghandler instead of a non-incremented or decremented pointer. **** 2003-04-20 by Andrew Craig - Updated the Makefiles and msvc6 project files. I hope they are correct. If you have any problems please let me know so I can correct them. **** 2003-04-20 by Anders Reggestad - Created the spell book window. **** 2003-04-20 by Andrew Mann - Removed a potential race condition in genqueue::GetWait(). **** 2003-04-19 by Anders Reggestad - Fixed a crass on a null pointer on /buy when no target was selected. - Added option to the /buy, /sell and /trade commands. If player specify playerName use that else the current selected target will be used. - Fixed client to handle max stats diffrent from 100. - Inserted a "drop count" in the inventory window. - Merged the EventHandler and the MsgHandler thread into one thread. Than both messages and events hare handled in the same thread and no thread synchronization is needed :) - Updated the adjuststat command to show current stat after update. - Added update of stat bar on every frame update. - Changed the server command setstats to adjuststat and only setting one stat value at a time. - Fixed redistributing of group list when a client disconnect. - Fixed correct sending of stats in group list. **** 2003-04-18 by Anders Reggestad - Added a psStatDRMessage to send, DR data for Hitpoints,Mana and Fatigue. - Handle the static update of the StatDR message in client and update both group window and status bar. - Added a timer in the server to update stat values - Added server command to adjust players stats (for test, until integrated with the combat system). - Added group window. - Inserted interfaces in Client and celPSObject and celPSActor to get the iPcCharacterData object. Use this to display hitpoints in the group window. - Fixed normalize of player names in the guild invite command. - Fixed correct error message when player isn't guild leader. - Added a group manager and group commands. - Fixed some csPtr to pointers in the CEL wrapper code. **** 2003-04-17 by Keith Fulton - Added CEL wrapper classes to server in pscel.cpp/.h. These classes make operating on entities much easier. I have tested this locally with one client and it seems to work fine, but these changes were very extensive so be suspicious if you find strange bugs where things used to work. From now on, you should never have to access the entity directly or its PCs directly unless you are coding an actual PC. **** 2003-04-16 by Anders Reggestad - Added check to validate range to start trading with merchant. - Added count col to item list in merchant window. - Fixed updating of inventory in inventory window, category list and item list in merchant window to correct handle empty input list. - Added check to verify that client is trading before selling and buying. - Inserted coin slots in the merchant window - Updated money class to change in other than trias. **** 2003-04-16 by Andrew Mann - Fixed modehandler for new rain plugin. Functions previously accessed via the iParticleState interface are now accessed directly via iRainState. - Fixes client crash on rain. **** 2003-04-16 by Anders Reggestad - Added Radio buttons to switch between selling and buying in the merchant window. - Inserted view button in inventory window. - Fixed error message when dropping item in wrong slot to display item name not id. - Inserted a new view icon used in inventory window and in the merchant window. - First checkin for the new merchant function. - Target a merchant then use /sell or /buy to start a trade. - Created a psMoney class to handle calculations with coins. - Added the "Merchant Window" used for both selling and buying. - Fixed update of the inventory window when selling/buying. - Fixed a memory leek in the itemeditor. **** 2003-04-16 by Andrew Mann - Fixes for csList changes in cmdhandler.cpp. - Fixes for csList changes in texfactory.cpp. **** 2003-04-16 by Andrew Mann - Fixes for csList changes in msghandler.cpp. Use csList::Iterator::HasCurrent() instead of csList::Iterator::HasNext() and csList::Iterator::HasPrevious(). **** 2003-04-15 by Andrew Mann - Added a great big notice in docs/Compiling.txt to potential MB users with instructions on how to retrieve the MB branch. **** 2003-04-15 by Andrew Craig - Fixed up linmovement plugin for 'Thing' changes in CS. So you need to get out of the PRE_THINGS tag in CS now :). **** 2003-04-15 by Anders Reggestad - Added stack_count to the admin tool item creation window. **** 2003-04-14 by Anders Reggestad - Implemented the exchange items window. - To start a trade select a player and use cmd /trade - To prevent other players to start a trade with you use the /starttrading and /stoptrading commands. - Added a exchange.def to the gui.zip file. - All item defs in DB have to have bulk as default slot (first slot in slot list) to be able to pick them up. - Created an exchangemanager in the server to handle exchanges. - New psGUIExchangeMessage to handle communication with client. - Removed all use of depricated CS interfaces. - Removed some compiler warnings. **** 2003-04-14 by Andrew Mann - MB branch reassigned to files in HEAD at this point. - MB branch is bugfixes ONLY. - MB010 branch should be treated as frozen. Do not commit to -rMB010 - Use -rMB - HEAD is now ready for CB work! **** 2003-04-14 by Andrew Mann - Movement cheat detection altered to use a allowed lag counter pspclinmove::SetDRData() now takes an additional boolean parameter to tell it wether to perform cheat detection. Set to PSPCLINMOVE_IGNORECHEATS (false) in the client and PSPCLINMOVE_DETECTCHEATS (true) in the server. Fixes /spawn command (requires client update). Will require updates to psclient.exe, psserver.exe and pflinearmovement.dll (and linux equivalents). **** 2003-04-11 by Andrew Mann - Jump velocity adjusted for yesterday's gravity change. **** 2003-04-11 by Andrew Mann - Gravity adjusted to a more natural value. Since characters move 2 times as fast as real world speeds, gravity needs to affect them 2 times as much or they float. MAX_FREEFALL_VELOCITY has been doubled and gravity is now set to -19.6 m/s/s. **** 2003-04-08 by Andrew Craig - Changed max volume for the music cross fade to be 90% of max. Distortion can occur at 100%. Now is #define MAX_VOLUME 0.90 in pssoundmngr.cpp. At least this fixed the crackling noise for me. Perhaps others can try as well and reduce this further if distortion still occurs. **** 2003-04-07 by Keith Fulton - Fixed DR msgs sending every frame when falling due to acceleration. (hopefully). - Added some cheat detection for speed hacks to DR code. Does not work correctly in all cases, so I'm committing now to do some multi-player debugging. **** 2003-04-07 by Andrew Craig - Changed how loading and packaging of weapons work. Now all weapon information ( model, texture, gui icon ) are packed into the weapons.zip file. This file is available on the nexus under programming/releasestuff. Requires a database update on the items table as well. **** 2003-04-07 by Andrew Craig - Fixed a case where weapons were not being displayed correctly. Turns out that the server was not updating the pscharacter prop class properly with new inventory options. **** 2003-04-06 by Andrew Mann - Updated psclient.cfg to use the new, faster xml parser by default. **** 2003-04-05 by Andrew Mann - Removed an extra call to LoadTextures(). - LoadTextures() was called in both psCelClient::Initialize() as well as psCelClient::HandleMessage() on receiving CELPERSISTCMD_SEND_WORLD. **** 2003-04-02 by Andrew Mann - Fixes for streaming audio. - When playing streaming audio data, source->Play() and handle->StartStream() must both be called. **** 2003-03-31 by Andrew Mann - Rotating the view up/down is now faster. If someone feels like tweaking these lines to a comfortable speed, be my guest! - The recent movement speed and CD fixes caused lookup and lookdown to scroll the view slower. This should put the speed back where it was. Tweak as needed though! **** 2003-03-31 by Andrew Mann - Fixed a race condition in the server networking that could cause an unlucky client to be forever removed from the senders list. - Bad use of IsEmpty() - We were adding the queue to the senders list before we added the packet to the queue, this meant the netthread could pull the sender from the list before there were any packets ready. The next time around the IsEmpty() call would find a packet already in the queue, and we wouldn't add the sender to the list because of it. The queue would never empty and it would eventually fill up and generate warnings on the server. **** 2003-03-30 by Anders Reggestad - Don't display No such command on server command line when no command is given. **** 2003-03-30 by Keith Fulton - Committed minor changes to NetBase::Multicast and subclasses for const correctness. **** 2003-03-29 by Andrew Mann - Fixed a crash by NULL pointer dereference when changing background music when no previous background music is playing. **** 2003-03-27 by Andrew Mann - Fix to mac OSX Jam file. Seems to build ok now. Tested by JeroMiya. - Simple omission from the jam file for Mac OSX **** 2003-03-25 by Andrew Craig - Added textures for new items in celbase. - Updated items.sql for the new weapons. - All weapons are available on darkdust. You need to get these: mb_release/art/things/weapons/*.spr mb_release/art/textures/weapons/*.png mb_release/art/gui/*.png They should go in the same place in your local planeshift/art dir. - fixed the mesh names for the crystals. - commited updated msvcgen templates from Brendon Costa. Will regen the msvc6 project files soon. **** 2003-03-24 by Luca Pancallo - Added table player_quests - Added FindSubStringReverse to xmlString - Added a check on responses so everytime a string like: "$quest_test1_start" is found on a response the db table will be updated. Actually those strings must be placed at the end of the response and those should be in this format: $quest__ **** 2003-03-24 by Keith Fulton - Fixed a bug in how proxlists handle range updates, namely they weren't. :-) - Fixed chatting so that /say and /shout are differentiated. - Enhanced /tell command so that tell is echoed back to the speaker and hopefully made player name for tell case- insensitive. **** 2003-03-24 by Andrew Craig - Added cross fading to the background songs. So now when crossing a sector the new BG song is faded in as the old one is faded out. **** 2003-03-23 by Andrew Mann - Added the Clean() member function to psTemplateResMngr. Allows a good amount of memory associated with unneeded dialog resources to be freed when entering the game proper. - Clean() deletes (via decref) all resources who only have references held by the Resource Manager at the time of the call. This is effectively a safe cache flush. - Calling this from psDialogManager::Clear allows us to free about 25-30 MB of unneeded dialog resources. **** 2003-03-23 by Andrew Mann - Added detection of attempts to pass non-"trait" items in the trait slots. Detected and handled as a cheat. - It was possible for a modified client to set a character creation message that contained actual non-trait items in the trait positions (eyes, hair, nose, chin). For example, such a client could set the item_id for a ruby crystal on creation and end up with a ruby crystal in their inventory. This is now detected and handled as a cheat attempt. **** 2003-03-23 by Andrew Mann - Doxygen parameter fix in psdatabase.h **** 2003-03-23 by Andrew Mann - Fixed a reference leak that caused the client to crash on shutdown during a session in which a new character was created. - psdcCustomChar::Initialize() used a normal pointer and an invalid decref causing the resource to be deleted when the psdcCustomChar object was destroyed on login. When the resource manager did its cleanup on shutdown it dereferenced a pointer to the deleted object causing a crash. Changed to a csRef. **** 2003-03-22 by Andrew Mann - Eyes #4 should not be giving players excalibur - Eyes 4 in rpgrules for all races was set to item id 24 instead of the proper 23. Item id 24 is excalibur. **** 2003-03-22 by Andrew Mann - Movement speed handling corrections. Mouselook fixes. Doxygen commenting. CD fix. - Toggling into run mode could still affect other movements like gravity and jumps since the speed member of celPcLinearMovement was still being altered. - Speed now factored in to collision detection step size. - These changes should resolve the collision problem allowing people to fall through the world geometry occassionally when running. - Mouselooking left/right now rotates the model. The yaw changes to the camera on mouselook caused the view to rotate if the mouse was moved on both dimensions. - Mouselooking pitch is now limited to straight down and 80 degrees upward. - Some doxygen comments added to psbehave.h **** 2003-03-22 by Andrew Craig - Added in MAX values statistics on status display check. Displays max clients connected and max up/downstreams the server has experienced. **** 2003-03-20 by Andrew Craig - Fixed for CS API changes - Fixed for unreleased refs when quitting. **** 2003-03-18 by Keith Fulton - Moved some more files into libutil so they can be shared between server and npcclient, notably serverconsole.h/.cpp and eventmanager.h/.cpp. **** 2003-03-17 by Anders Reggestad - When a item was moved from one hand to another the item wasn't dequiped. - Send a buddy has quit message when a buddy has logged out. - Some updates to the wield code to make it more robust **** 2003-03-15 by Anders Reggestad - Only drop 10 items from inventory at a time. - Give usefull error message when you add a person already on buddy list to your list. **** 2003-03-14 by Andrew Craig - Removed old gui/inventory window since it is no longer used at all. **** 2003-03-13 by Andrew Craig - Implemented basic equiping of items. At the moment there are only two slots that can take items ( lefthand, righthand ). Players can change their equipment and this will be reflected on other clients as well. - Needs some more testing with many clients. Did my best with just the two clients. **** 2003-03-13 by Keith Fulton - Several commits to enhance/fix how NPC dialog works. Most notably, the prior_response_id is now only updated if the response given is not an error response. This means you won't lose your place in the conversation if you say something the NPC doesn't understand. **** 2003-03-13 by Anders Reggestad - Fixed parseing of NPC XML string to correcly parse the knowledgeareas section without adding a empty entry. **** 2003-03-13 by Andrew Mann - Massive texure memory leak fixed. This appears to be the last. Our memory usage is now stable! - Materials and Textures must be explicitely removed from the CS engine when we're done with them by calling engine->RemoveObject(). Since we weren't doing this and we make a new texture copy for every entity we know about this was causing a memory leak on the client of ~131K everytime someone entered your proximity. The fix stores the texturewrapper and materialwrapper pointers in the celPcCharacterData object, and calls RemoveObject() if these pointers are valid when the celPcCharacterData object is destructed. - Forward-ported to HEAD from MB branch. **** 2003-03-12 by Keith Fulton - Added prox list range checking to Multicast. This enables range-checked chatting and other features. - Now worlds pre-setup FastMeshes, which was causing lag, and delete all texture images not being used after each load. This should save memory. **** 2003-03-12 by Anders Reggestad - Fixed sql code to handle moving weapon from one hand to the other. - Allow for fast login, by ignoring 10sec wait first time connect is pushed. - Reporting name of ilegal slots that user try to equip items. - The wield code in the inventory window was broken with the new slot name definition intruduced by Andrew. Fixed the inventory window to use only lowercase indentifies for equipment slots. - Updated all race definitions except for the Dwarf races to have min armor size = 0 and max armor size = 1. Changed the item size of the clever 0 to allow all races to wield. Swords have size 1 and will only be possible for non dwarf races to wield. **** 2003-03-11 by Andrew Craing - Added persisting of equiped items on an initial connection. This means that when you are sent a player they will be equiped with any ( visible ) items. At the moment only tested with sword. - Updated items table to use correct slot names. Also made default character Vengeance have a sword. - NOTE. The item will not appear in the inventory screen yet. Working on that. - Started to remove some of the really old gui stuff. It appears that our generator to produce MSVC project files is not 100% so I had to edit these by hand. If they are incorrect please checkin updated ones. **** 2003-03-11 by Keith Fulton - Made NPC fixes to synonym checking (now in longest-to-shortest) order, and to have NPC ignore his own name in sentences to him. - Made 10 second lockout period on clicking Connect over and over. **** 2003-03-10 by Anders Reggestad - Added network usage as in server to client. - Added some more colours to text in communication dialog. **** 2003-03-10 by Andrew Mann - Fixed a bug involving CD across portals. The ladders/walkways in tower now collide correctly. - Added #ifdef'd debug code that can reveal potential map/portal issues. define LINMOVE_CD_FOLLOWSEG_DEBUG to display information about failed "followsegment" tests for collisions across portals. See the note at the top of pslinmove.cpp for what this means. **** 2003-03-10 by Andrew Mann - Changes to Collision Detection. - CD time-steps can now be larger depending on velocity. The time delta processed in a single movement and collision detection call now varies based on the velocity of the object and the size of the upper bounding box for the object. Slow moving objects should now have to check less frequently. - Collision is tested across sector bounds. FindNearbySectors() does not function since the CS call GetNearbySectors() is not yet implemented. The method of walking the sector list returned from GetNearbySectors() in our code and calling GetNearbyObjects() on each sector with cross_portals=false has been replaced with a call to GetNearbyObjects() with cross_portals=true. Since we have a situation at the library entrance where a polygon in hydlaa_plaza occupies the same coordinate space (though in a different sector) as the entryway in the library sector, a method tracing a line segment from the player position to a position of possible collision, and testing the resulting sector is used to determine if a collision is valid. **** 2003-03-10 by Jorrit Tyberghein - Added some timing information during loading to try to find out where the long load time is being spent. **** 2003-03-10 by Andrew Mann - Fixed a memory leak in the client causing nearly all messages to stay in memory forever. More leak fixes to go.. MsgHandler::Run() usually decref's the message for the server. The client doesn't use MsgHandler as a thread, and implements its own message "pump". Decref was not called after the message was published. There appear to be more memory leaks still, don't stop looking! **** 2003-03-09 by Keith Fulton - Added support for multi-word synonyms in NPC dialog. This allows expressions like "would like" to be translated into "want" to make trigger permuatatations not as numerous. **** 2003-03-08 by Anders Reggestad - Fix for the /guildinvite command that caused the invited client to disconnect. This included fixing a general problem with dialogs. After a confirm dialog was destroyed the next dialog in stack was set activ. Removed all dialogs from the connect sequence so that the connect dialog wasn't shown after closing the confirm dlg. **** 2003-03-08 by Anders Reggestad - Had to reset the admin message before passing it to the windows. **** 2003-03-08 by Andrew Mann - Wrapped debug messages with #ifdef PSNETPERSISTDEBUG. Default still has these on since they offer good status hints for debugging. - Wrapped some debug messages related to proximity lists with #ifdef PSPROXDEBUG - Fix for the SendTo retry loop. sendto returns -1 and errno is EAGAIN - sendto does not return EAGAIN itself. - Rolled by the ACK portion of the previous patch until I can find away for clients to stay alive during loading. **** 2003-03-08 by Andrew Mann - High Priority packets for unknown clients are no longer ACKd. Acks are no longer processed for unknown clients.SendTo will attempt to retry sending network data if the call returns EAGAIN. - At times large amounts of data would be queued to be sent in a single run. This caused the networking stacks buffer to fill for the socket and the sendto command returned an EAGAIN. Since we use the same socket and thus the same send buffer for all connections, we can block here until the buffer becomes available, since our next call would likely demonstrate the same EAGAIN error. - When the server crashed, if it restarted fast enough it began to receive packets from the clients that thought the server was still up. It discarded command packets, but the HandleAck() function would still generate ACKs to High Priority packets without a known connection associated with the packets. This caused keepalives to be responded to and clients thought they were still online. **** 2003-03-07 by Andrew Craig - Fixed upload errors. The race definition was getting deleted by mistake which caused havok. **** 2003-03-07 by Anders Reggestad - Removed some code that caused compile warnings - Only one item was crated when stacks where dropped from inventory. Now all items are created. **** 2003-03-07 by Andrew Craig - Fixed some string case comparing issues in the npc dialog. - Fixed xml parser to correctly identify and replace ' **** 2003-03-06 by Keith Fulton - NPC Dialog now occurs in PMs to the player who talked. - NPC Dialog now also only responds when the player who talked is within 5m. - Committed for Andrew Mann a rework of CD and LinMove generally. It is now VERY good and fixes the "falling through portal on ladder" problem. It also has realistic gravity simulation and does not let you fall through the floor. - Andrew Mann also implemented a Jump command which works great and should help people when they seem to be stuck between a rock and a hard place. - Fixed a couple of comment blocks at the tops of files I happened to notice also. **** 2003-03-03 by Andrew Craig - Fixed background music to not restart when moving from one sector to another that uses the same music ( ex laanx_entrance to sector laanx_main ) **** 2003-03-03 by Matze Braun - Added a jam based build system. The old system is now deprecetad and should be romeved soon (it's still there for now). **** 2003-03-03 by Andrew Mann - Fix to allow correct reference handling in the root node of a BinaryTree. When deleting an entry from a BinaryTree, if the entry was stored at the root node, the iRefCount value was ignored and the node was always deleted. The iRefCount is now adjusted and handled correctly in this situation. **** 2003-03-03 by Andrew Mann - Rewrite of NetBase::CheckCompleteMessage. Fix for potential packet loss and rare crash. Incoming buffer allocation and packet splitting code altered slightly to respect MAXPACKETSIZE. Comments updated. MAXPACKETSIZE set to 515 bytes. - Netbase::CheckCompleteMessage() did not check for the clientid during the assembly of split packet data. On the server this probably made failed packet assembly quite common. It also used a BinaryTreeIterator to iterate through the tree and delete nodes that matched the recently assembled packet. This deleted the node from under the Iterator, causing the next call to the iterator to operate on freed memory. - Netbase::SendMessage() now accounts for the size of the psNetPacket header information when determining if a packet needs to be split. - Netbase::CheckIn() now allocates buffers for incoming data based on MAXPACKETSIZE (previously was a fixed 2048 byte size). - One debug message erroneously printed a "Packet doubled in ack list" message when the packet was not doubled, and did not print it when the packet was doubled. - MAXPACKETSIZE set to 515 to maintain compatability with existing builds that will erroneously send 515 byte packets during the splitting process. - Comments in netpacket.h adjusted to reflect the current functionality. **** 2003-03-03 by Andrew Craig - Finally fixed the problem with the leaf_assert assert. It turns out that when calculating the angle there is a possible floating point error where it will try to use acos with a number outside the range -1 < x < 1. ( Although, not by much, something like 1.000000000123 ). This results in a nan and thus corrupts the mesh's iMovable. Fixed by adding checks for the range. - Thanks to Jorrit ( and many others testing )for doing most of the grunt work here. **** 2003-03-01 by Keith Fulton - Added a message to marshall the spawning parameters so that Spawnmanager can switch threads and do it's spawning in the main CS thread. - Added an API to MsgHandler to allow callers to add MsgEntry's to the queue directly, which allows them to be picked up and published by the other thread. - Made SpawnManager do all its spawning in the main CS thread, instead of creating entities from the game event thread. It does this through internal messaging on the net queue. This necessary because GetNearbyObjects is not threadsafe to objects being added at the same moment. **** 2003-03-01 by Andrew Mann - celPcProximityList and iPcProximityList rework. Name clarification and logic reorganization. See code in psproxlist.cpp if you are brave. Subscribe(), Unsubscribe(), AddSubscription(), RemoveSubscription() changed to MutualSubscribe(), MutualUnsubscribe(), AddPublish(), RemovePublish() respectively. AddPublish() and RemovePublish() are not meant to be called by code outside of the celPcProximityList class. **** 2003-03-01 by Andrew Craig - Fixed rain sound problem where the raining sounds were not turned on/off when entering a different sector. Added code to stop sound when the rain mesh is disconnected from the player and play sound when rain mesh is connected back to player camera. **** 2003-02-28 by Andrew Craig - Fixed problem with admin NPC loading from xml. It was trying to escape an already escaped string so it was inserting Ri\'Miyan Sulka in places in the database. **** 2003-02-28 by Keith Fulton I have gone through and converted all "true" and "false" parameters in function calls to use either #defines or enums in classes. This makes the code much more readable when you are just looking through it, and should be a coding standard going forward, imo. **** 2003-02-28 by Andrew Craig - Changed the admin messages to use the proper networking system of Add/Get data to the message buffer. **** 2003-02-28 by Luca Pancallo - Added loading of rotation information to xml NPC loader - Added angle display to /pos command - Added names to all meshfacts in /art/things and /art/things/weapons - Deleted dungeon.zip from cvs to avoid conflicts with MB dungeon. - Changed /pos command to display angle only for admins. - Added loading of hair/eyes/skin/clothes to xml loader, changed names on the db items to match the one we have in the interface, so setting will known which skins they are applying. **** 2003-02-28 by Andrew Mann - pscelclient no longer creates the actor list on receipt of an entity if the actorlist does not already exist. When connecting to the server, the proximity list of a connecting client is created before the actorlist is sent. If another client moves so that it is added to the proximity list of the connecting client before the actorlist is sent, the pscelclient will create the actorlist containing just the sent entity when it receives the entity. This makes the client believe it is ready to enter the world, and procedes into case 4 of psEngine::LoadGame() and psCelClient::SetupControls(). SetupControls will cause a crash if the mainactor has not yet been defined, which is the case when the actorlist has not been sent. This will happen quite frequently on a server with multiple players and sizable maps, since the "window of opportunity" for this bug is the client's map loading time. **** 2003-02-28 by Matze Braun - cleaned up refcount handling of MsgEntries in NetBase to be consistent. This fixed a bug with linkdead clients. - Fixed too short timeout bug in client and made teh timeout code more robust. **** 2003-02-27 by Andrew Mann - Fixed a server crash bug where proximity lists were not updated properly. The Unsubscribe member function of celPcProximityList removed the target entity from the current client's subscription list, but did not remove the target entity from the nearbyClients or nearbyEntities lists. This caused a crash if the improperly referenced entity was destroyed, and then the entry in the invalid proxy list was used. **** 2003-02-27 by Keith Fulton - Fixed bug in /spawn command which crashed the server if someone tried to respawn to a sector not loaded at the time. - Now player mesh is set to invisible when the camera is in first person mode. This stops the weird polys from showing up while running and keeps AWS windows from disappearing. **** 2003-02-26 by Keith Fulton - Fixed bug in celclient which was not accommodating the sex letter which was added to the race name. This was causing the camera positions to not be found or used. **** 2003-02-25 by Andrew Mann - Moved #define PS_EGGHUNT option to spawnmanager.h to ensure that the size of SpawnManager objects is consistant. Fixes a small memory corruption issue that could cause seemingly unrelated crashes. Variable csRandomGen* randomgen was conditionally defined in spawnmanager.h depending on a #define only present in spawnmanager.cpp. This caused 4 fewer bytes (sizeof(void *)) to be allocated than needed. When member functions in psSpawnManager wrote to the randomgen pointer, they were writing 4 bytes past the end of the allocated space. In debug mode this caused an assertion on exit. In release mode this causes a random crash. **** 2003-02-25 by Andrew Craig - Fixed Item Description Messaging. With new network stuff you should not access MsgEntry->data->data directly. **** 2003-02-25 by Greg Block - We have an initial version of the Mac client running against intel servers. Planeshift is building and running - albeit limping along due to performance problems in CS. - Updated network code for cel packets; we had reverted last night to locate a crasher; it was discovered and fixed by Rhad while I slept, and acraig offered his server to the gods as sacrifice on this most holy of days. **** 2003-02-25 by Anders Reggestad - Only subscribe to admin commands in the communication window when you have admin privilege. - The help command in the communication window didn't work. Fixed the network code to handle internal sent messages. - Server did crash when using /npckill. Removed debug print in celPcProximityList that used a 0 pointer. **** 2003-02-24 by Greg Block - Checked in first set of changes towards endian-proofing network code. * Changes to MsgEntry add/getters to support a preencoded datastream of specific length. * Added support for endian-izing at network level (psNetPacket). * Updated network protocol version; CEL messages aren't backwards-compatible due to our need to store data length for arbitrary data adds. * Updated our CEL packets to support endian behavior. **** 2003-02-24 Christophe Painchaud - When switching main menu --> credit and credits --> main menu, the music won't stop playing. In addition, the fact it doesn't find the music file won't affect the next music playing anymore. - When you ask for a music which is the same than the one currently be played it won't stop or reload it. **** 2003-02-23 by Andrew Mann - Character Creation Quick Create Path Selection din not always maintain/show correct information when switching between creation screens. Fixed by altering the psdcPath::SetVisible() to recalculate the statistics. - When character creation fails on the server, often partial database entries were left behind. Now on a failed attempt this data is clean up and removed from the database. **** 2003-02-23 by Matze Braun and Rhad - Fixed a bug in Multipacket Handling where we didn't mask out the MULTIPACKET flag. Thanks to Rhad for finding this - Added proposed fix from Rhad to avoid race conditons in packet sending loop - Marked Peek, IsEmpty and IsFull function of GenQueue as deprecated. **** 2003-02-23 by Rhad - Fixed a problem with unsafe acces to genqueue in netbase - Fixed times for keep-alive response time which was way shorter than the initial time that triggered keep-alive packets. **** 2003-02-22 by Andrew Craig - Added in new MsgEntry::Add( unsigned long ) accessor. This is used for CS_ID. Otherwise gcc reports back overloaded function is ambiguous. **** 2003-02-22 by Keith Fulton - Revamped how network messages are built. This is kind of a major change to do this close to release, but it is SO major we should be able to test it easily before release. Now you can use accessor functions to get and set values within the message. All message types in messages.cpp are converted and are a lot easier to follow now. This should make it easier for Lightyear to do the endian stuff for the Mac version. - Made CD regional and per load instead of engine-wide and handled at the beginning one time. - Player collider is now built based on the bounding box of the player race sprite, not just the same every time. This should give different races different climbing abilities, and may keep the Krans from going into houses or may make them run into trees. We need to check all this. - Committed great fix from Andrew Mann: The single line statements in the IsEmpty() and IsFull() member functions of GenericQueue and derived classes look atomic, but compile to non-atomic assembly. Under rare circumstances these could cause queue entry corruption, and under a very strange fixed situation they caused a complete loss off new entries added by the network thread to perform keepalive functions. **** 2003-02-21 by Keith Fulton - Fixed camera positions for all race models in character customization window. - Added some debug code to put on server to try to figure out the Illegal Race character creation problem. - Added support for transitional sectors, which can load new maps but do not unload ones already present. This allows different maps to be in memory while walking through the transitional sector. (This is the "middle of the tower" example.) - Disabled CD on the camera in 3rd person view. This will make the screen not always perfect but it will be much smoother to use in tighter areas like the dungeon or indoors in hydlaa. **** 2003-02-21 by Andrew Craig - Fixed problem of entering the library. Changed colldet to search only the current sector the player is in for objects to collide with. (Requires CS from this date) - Added SHOW_COLLIDER_MESH_DEBUG in pslinmove.cpp that when defined will Notify of the mesh a player has collided with. **** 2003-02-21 by Keith Fulton - Fixed so that now modehandler->UpdateLights is not called until the level is loaded, and that lights are never changed until the first net msg comes in with a time of day. **** 2003-02-21 by Jorrit Tyberghein - NEVER use GetPrivateObject() on CS classes! **** 2003-02-17 by Andrew Craig - Fixed another error reported by Andrew Mann ( Rhad ) in the character creation. The school of Lah'ar was using a strange character as the tick in source code so it was causing the client to crash. Fixed to use \' and added check to make sure no NULL pointers used. **** 2003-02-18 by Christophe Painchaud - Fixed a bug in the credit screen: the first time you launched it, you had to wait 15 seconds before you could see the first lines ; but after the first time, it was alright. **** 2003-02-18 by Luca Pancallo - Modified jobs.xml, fixed jobs screen for new jobs and skills **** 2003-02-18 by Anders Reggestad - Changed the GameEvent to use csTicks indstead of int for ticks. This will prevent overflow when a lagre unsigend tick is used. **** 2003-02-17 by Andrew Craig - Fixed error reported by Andrew Mann ( Rhad ) in the character creation screen. Info->GetRace() could return NULL is no race is selected yet and this caused client to crash. **** 2003-02-16 by Keith Fulton - Added /crystal command so that player can create a new Crystal Hunt location from within the game. Player must have Admin rights. **** 2003-02-16 by Greg Block - Now using AM_CXXFLAGS instead of CXXFLAGS; this was previously done by me some time ago, but I've fixed the one remaining makefile. **** 2003-02-15 by Keith Fulton - Changed how lighting interpolates from value to value each hour. Now it happens only on select frames over a longer period of time instead of every frame for a shorter time. - Fixed bug in rain stoppage lighting, which was making it not lighten back up after a storm. - Fixed initial light setting when a player connects. **** 2003-02-15 by Anders Reggestad - The communication window (chat window) did cause a crash when resized to to small. **** 2003-02-15 by Andrew Craig - Fixed alpha bleed on connect window. Fixed by not hiding the window behind it. **** 2003-02-15 by Anders Reggestad - Changed the window save/load code to use the same function for both windows when saving/loading. - Added check when loading to prevent window for beeing outside screen. This has to be done on load if in case the user have changes sceen size. **** 2003-02-14 by Keith Fulton - Fixed compile error in inventory window slot code. - Changed /pos command back to only showing your position one time. **** 2003-02-14 by Jorrit Tyberghein - Fixed the rain mesh object. It will now correctly follow the camera around. The error was that the rain bounding box was made relative to the camera position. But it should be made relative to 0,0,0 instead as the engine itself will make sure the rain is around the camera. **** 2003-02-12 by Anders Reggestad - Added storing of total time connected to the account section. **** 2003-02-12 by Boonet (through Talad) - submitted first set of new GUI screens. They are just for 1024x768 screen res. Other versions will follow shortly. 56K-modem people beware of the download time needed to download these screens. **** 2003-02-12 by Anders Reggestad - Fixed the static / dynamic config file code. Added a domain for the dynamic planeshift.cfg file and connected that file to the dynamic domain in the configuration manager. - Added storing of window position for the player (target) window. **** 2003-02-11 by Keith Fulton - Fixed another permutation of the autorun-double run trick. This one fixes pressing 'r' while already running. - Fixed prox list radius back to 100m from 5m used for testing. - Added explicit check in modehandler.cpp when it updates lighting on the level that the light having its color changed must be a dynamic light. This means it must have in its definition. **** 2003-02-11 by Andrew Craig - If a client is currently targeting an item that is picked up by another client it will reset the target to null and close the interact menu so they cannot pick up a ghost item. **** 2003-02-10 by Keith Fulton - Added "list" command to server console to get list of entities, with id's, names, and positions. - Added "print" command to server console to get debug details about an entity. Right now, only proxlist information is displayed. - Committed new, more attractive Item Desc window def file from Brian Murray. **** 2003-02-10 by Boonet (through Talad) - updated buttons images on main menu - updated pop up windows backgroungs **** 2003-02-10 by Matze - Added icons for item pop up menu - changed gui to display pop up in circular fashion **** 2003-02-10 by Anders Reggestad - Updated the inventory window def file to define the correct set of equipment slots. Created a new callback to handle this and send move commands to the server. This equipment slots are now defined: Back, Head, Neck, Arms, Gloves, LeftHand, Boots, Legs, Belt, RightHand, Bracers, Torso. - Fixed the EquipItem code in the server to verify that item can be equiped in selected position. If equip fails a forced update of the inventory window is sent to the client. - The slot field in the database was extended to 100 chars to allow multiple wield positions : Lefthand,RightHand. **** 2003-02-10 by Christophe Painchaud - Only some Races/Gender are allowed yet, so I made system that avoid the player to select a forbidden race/gender at char creation screen. Next step will be to make the server check for race/gender availability. - The Item Description Window is now loading the icon image (which path is sent by the server). There seems to be a problem: the icon is not right... I mean that it does not fit. Have a look and you will know what I mean. **** 2003-02-10 by Anders Reggestad - Update the image component to set the same texture size on ImageUpdate that was used when created. - Inserted item_descrition and stats field to the item table in the dB. - Fixed the parser error in the GUI inventroy message, and added support for forceing update of the inventory window. **** 2003-02-09 by Andrew Craig - Fixed strange behaviour in proximity list generation where it was doing a repeat subscription. Only affects server. - Increased min prox notification distance to 100 units. **** 2003-02-07 by Keith Fulton - Committing two fixes from Anders Reggestad (Magodro). First is crash in empty inventory window. Second was that change in inventory slot resulted in ALL items in that slot for ANY player being moved to the new slot. I have not tested these fixes, but they do build correctly. - Committed another fix by Anders so that server now checks user security levels for /item, /npc and /killnpc commands. - Committed a fix for speed double run trick. - Added auto-respawn on next login if someone falls through the floor and logs out. - Fix attempt to client queue full messages while connecting. Made proximity lists more intelligent about not subscribing to entities which are not fully logged in yet (not "ready"). **** 2003-02-06 by Keith Fulton - Thanks to Brian Muray (Kinshadow) for this enhancement. Now psclient.cfg has been split into two files. The first is system stuff and is subject to change without notice by the updater. The second (planeshift.cfg) is user settings, like screen resolution, and will not be overwritten. **** 2003-02-06 by Andrew Craig - Updated the collision detection algo ( at the suggestion of Jorrit ). Was looping over ALL object in the world to test collide with them. Now will only loop over nearby entities to test collide with. Now looks for objects 3 units away to collide with. Can be redefined in pslinmove.cpp by adjusting COLLISION_DISTANCE define. **** 2003-02-05 by Luca Pancallo - Added needed models and textures for crystals - Added db entries **** 2003-02-05 by Keith Fulton - Committed patch from Matt Holmes (Kerion) regarding the char upload window. - Committed fix to /item command by Anders Reggestad (Magodra). AdminMsg and AdminGuiMsg were using the same MSGTYPE #, which confused the subscription lists. - Kerion submitted a patch to allow longer host names (with scrolling in the text field) in upload and connect windows. **** 2003-02-05 by Andrew Craig - New ingame and inventory images from Tom/Boonet added. **** 2003-02-04 by Keith Fulton - Committed a new upload window by Kerion and a variable camera patch in char customization window by Cete. - Added the correct camera positions for Ylian and Stonebreaker. Didn't have time to do the others but they are easy to work out. - Committed a fix to the Jobs window by Matt Holmes (Kerion). Skills required for a job now display properly and only one job can be selected. Thanks Kerion! - Fixed /spawn bug from last night. Note /spawn command now returns you to the default spawn point for your race, not your login position. This will prevent people from getting trapped under the world forever. **** 2003-02-04 by Keith Fulton - Implemented persistence of character appearance customization choices when creating a character. - Fixed capitalization differences preventing a duplicate login from being detected. - Added race-specific spawn points, defined in Races table in db. Right now they are set up to point to the "room" sector, which is in podium.zip. You must update your db today before running or your server will crash very quickly. - Took out the separate calls for GetObjectPosition and GetObjectSector. It was redundant to have both when both are always necessary together. **** 2003-02-03 by Andrew Craig - Fixed problem with items not dissappearing. Problem was that the psCelPersistMessage() constructor changed a little so it was using the wrong variables as enity id and priority. **** 2003-02-01 by Keith Fulton - Fixed crash when mesh fact not found in Char Preview window. - Added many new detailed error messages when clients are disconnected or server cannot create login or new character. - Fixed a problem with item deletion. - Added a weather (time of day) update when a player first logs in. **** 2003-01-31 by Marc Haisenko - fixed small compile errors **** 2003-01-28 by Keith Fulton - Committed a possible crash in celbase dtor if bl or pl have not been created yet. Thanks to Cete (Tamas Czinege) for detecting this and sending me the patch. **** 2003-01-30 by Luca Pancallo - Fixed a bug in adminmessage.cpp that prevented correct loading of triggers. It was failing when a node had more than one child. Remaining problems on it are: seems to cut responses in db, 255 chars may not be enough, or we should reduce our responses. still having problems with long series of q&a **** 2003-01-29 by Andrew Craig - Added in new system to load/parse/insert to database new XML format for NPC dialog. Old code is still there, will be removed as soon as I figure out what is no longer used. - Fixed npc processor to use the correct attitude - Fixed chat text spacing ( maybe a little too tight now ). Adjustable in /src/client/aws/pscomp.cpp : LINE_SPACING - Chat window now displays players own chat messages in different colour to make it easier to see who said what. **** 2003-01-28 by Keith Fulton - Fixed a couple of asserts. - Added sex indicator to race specifier of texture customization data. - You now need the models.zip on gamiix to get the right files, all binary sprite files are fixed from yesterday's bug. 8 total models now. - The textures for the fem dwarf are in the MB textures directory on gfxteam/2d gamiix. The directory where they go is in cvs but empty. /ps/art/textures/races/fstonebreaker/bla.bla **** 2003-01-27 by Keith Fulton - Fixed multiple engine->Prepare() calls I think. This makes everything load faster and prevents the engine from trying to light Hydlaa twice. - Updated storm sfx to use the official PS ones. **** 2003-01-26 by Marc-Andre R. Courtois - Added file download and install on updater exec - Added code for futur support of proxy, network interface selection and mirror server list. - Added more error message and exception handling. - Removed a lot of debug ifdefs **** 2003-01-25 by Keith Fulton - Fixed sending DR messages too early on connect. - Updated soundlib to use Sarth's new sounds. - Modified weather handler to use a different sound for light rain. - Modified server weather to only do lightning for heavy rain. - Took out some debugging prinfs. **** 2003-01-24 by Keith Fulton - Made several fixes tonight discovered while loading the large city level, hydlaa.zip. - Updated the lighting.xml file for Hydlaa. This means possibly no more day/night cycles in Podium. We could merge them I guess but it doesn't seem worth it. - Updated zoneinfo.xml to load the right map with the right sector. Updated zonehandler to report sector not found errors. - Update CEL Persistence to use HIGH priority net msgs. - If you set your character sector to hydlaa_plaza, you should be able to login and walk around the city. **** 2003-01-23 by Keith Fulton - Committed a possible fix for Player B not disappearing from Player A's world when he disconnects. See CEL history.txt for today for details on why. Thanks to acraig for noticing the very strange phenomenon. **** 2003-01-22 by Marc-Andre R. Courtois - Added libcurl.m4 to the automake macro directory - Modified configure.ac to check for libcurl version - Added the base of the http updater client, not tested under win32 yet. **** 2003-01-20 by Keith Fulton - Tracked down FINAL_DECREFs in server, which were showing errors even though the server didn't seem to be leaking memory. Took out the msghandler one, and relocated the client one. Now the server should run with zero leak notifications. **** 2003-01-20 by Keith Fulton - Modified client and server to dynamically determine lists of textures/materials and sprite factories at runtime based on the contents of the zip file. - Rebuilt models.zip and fakemodels.zip based on latest models and actions from Stefano. 6 models with 4 actions each in there now. fakemodels is in cvs, but models.zip is proprietary to PS and is on the gamiix server in the 3d, MB area. - Updated database to use new sprite factory names. - Fixed PS/CEL bug which caused CEL not to find the preloaded factories. The tag in a .spr file MUST have a name attribute so CEL/PS can find them later. Ex: blah... - Fixed NPC dialog processor to use min and max attitude now. Renamed faction to attitude, which we use to mean the average of all the player's faction scores which are used by the particular NPC at the time. I didn't have a good way to test this, so Talad please be careful with this when you try it with your NPC files. **** 2003-01-20 by Luca Pancallo - Fixed a possible infinite loop in celPcNPCDialog::FindResponse - Added check for ' chars in name of loaded NPCs - Added a Escape function that works with csString **** 2003-01-17 by Keith Fulton - Got rain to go away, due to bug in CS. - Made rain created when lightning happens if not already out there. This is relevant only at startup. - Improved debug messages about freeing key objects. **** 2003-01-16 by Keith Fulton - Many fixes related to new template classes in CS. - Fixed lightning to use variable ambient setting called "lightning reset". This may need to also include the sector name to keep the vars separate. - Also made the lightning result in 1 of 5 random thunder sounds, which are played after a random delay of .2 - 4.2 seconds. This delay should probably be networked from the server, as well as location, but I haven't done that yet. This cheap way works pretty well. It really makes it obvious that we don't have a background rain loop though, so I'm doing that next. - Added 5 new thunder wav sounds, since the last one didn't work. These were from a free website. 2 of the sounds still don't work so I am investigating that. - Added rain sound loop when it is raining in the player's sector. This now sounds awesome, even with my silly test sounds from the Web. - Added a loop boolean to SoundManager->PlaySound to allow rain to loop. **** 2003-01-14 by Andrew Craig - Added in Loke's code for the mana bar **** 2003-01-13 by Keith Fulton - Made race-specific settings for the camera. 1st person should be at the right height for each of the races that are done so far. Now camera settings are contained in rpgrules.xml. **** 2003-01-11 by Keith Fulton - Optimized DR networking some more, made engine exit all the way out when they get kicked off. Shortened proximity distance for greater efficiency. Added some diagnostics to NetQueue to see what is making the queue fill up. - Tried to prevent double loading of existing chars. Seems to work. **** 2003-01-10 by Keith Fulton - Added /greet command, so player will wave to everyone. - Changed psbehave so that player uses run animation when running forwards. **** 2003-01-07 by Keith Fulton - Updated algorithm for how pcLinMove decides when it needs to send a network update about its state. Also changed net message to include speed var as well. **** 2003-01-06 by Keith Fulton - Added SetReverseAction on sprite when the guy is walking backwards. We still need to persist that flag or detect negative velocity in pcLinMove. **** 2003-01-04 by Keith Fulton - Reworked region handling on client and server to support multiple concurrently loaded regions, and dynamically loaded and unloaded regions on client, depending on sector. - Unloading still needs testing/perfecting. Even if regions unload properly, I don't think the sprites will move over the way they need to at this moment. **** 2003-01-01 by Keith Fulton - Reworked character window so it is more maintainable. **** 2003-01-01 by Luca Pancallo - Fixed Option Panel, the 2 checkboxes are now set 'On' at win creation. **** 2002-12-30 by Keith Fulton - Fixed the font used by the AWS communication window to be legible. - Fixed some error checking in celclient for duplicate net msgs. - Added character texture customization logic to gui customchar.cpp window. This all works fine, but for some reason does not update the appearance of the dwarf in the window. Committed so that acraig can look at it from an AWS component point of view. - Committed several dwarf textures and mask files needed to test this functionality with. **** 2002-12-26 by Luca Pancallo - Fixed Option Panel, it works. It only need to have the 2 checkboxes 'On' at start. Other improvement will be to add custom images on the On/Off **** 2002-12-25 by Luca Pancallo - Some refinements to the confirm dialog window. It now works. Still missing text and proper focus. - Added text to confirm dialog. Dialog is now centered on screen. Possible improvements: resize it depending on the screen res: In 640x480 it's huge. Change font. The current one is missing the and <'>. - Added options window with music/sounds setting. Only the GUI is in place, I need to figure out how to trigger music sounds based on that setting. - Added toggle music/sounds to iSoundManager and called that from the option panel. Just one last thing to fix before it's complete. **** 2002-12-24 by Luca Pancallo - Modified the visual C++ 7 projects to have TargetPath defined correctly. - Fixed the /newguild command with no parameters, added also a check for min length of name = 3. - Added a confirm window that is used when player clicks on the 'X' on the main icon bar. It still has those problems: - it has a wrong background image and wrong button images - it's not hidden at start - if you close it and then reopen it, it crashes. **** 2002-12-16 by Keith Fulton - Reexamined texparse for texture customization masks, and aside from a couple of bugs it seemed to work well. Will start on window coding tomorrow. - Included a sample bat file for others who may want to run texparse but don't know how. **** 2002-12-14 by Keith Fulton - Added support for lightning in server/weathermanager and client/modehandler. The client runs the sequence " lightning" and plays a sound called "thunder" in the soundlib.xml file. - Changed sector_info table to allow control over lightning frequency. - I don't see a comment in here, but before I added interpolation of rainy lighting settings. Modehandler now interpolates between sunny and rainy lighting based on how many raindrops there are. **** 2002-12-12 by Andrew Craig - Added ability to make toggle focus on/off the chat window. It gets a little confused sometimes becase the mouse can also change focus. But it works fairly well. This should be fixed sometime later, hopefully when an examination of the GUI system is done. **** 2002-12-12 by Andrew Craig - Added in new item to admin menu to create an NPC from a file. It basically just loads the .xml file and sends it off to the server as is. The helper classes on the server then break it apart and do the database insertions and spawning. The format of the file is shown in the NPC template file. - Note that all of the tags are not used yet. Just the important ones for the next release like the name/gender/race/pos and the dialogs. Other tags will just be ignored so they will cause no problems. - As new tags become applicable it will be easy to detect them in the server cracker classes. - At the time of this history: http://www16.brinkster.com/acraig/planeshift/npc.html shows which tags are recognized. - Small change to the npc_responses table structure ( change default ) - Added in new main icon buttons from Tom ( Thanks Tom! ) **** 2002-12-09 by Keith Fulton - Updated maya2cs to handle sockets and to handle auto-calculation of displacement vertex distances. Also allows parameter specifying total length of animation. **** 2002-12-04 by Keith Fulton - Multi-sector rain is now supported. See comments on modehandler commit for details of imperfections. - Background music now changes if you change sectors. The background song should be named " background" in the soundlib.xml file. - Fixed a couple of windows compile errors from acraig's huge commit. **** 2002-12-04 by Andrew Craig - Added the basic ingame dialog editor. It is not nearly complete in that it can only edit things and not create new knowledge areas or triggers (yet). Mostly this is because of walls I keep running to in AWS and want to commit something. So if a 'new' button doesn't work then I know about it. :) Since this is not a critical tool for the release ( ie not seen by players and is mostly self contained in it's own shared library ) it's not so bad that it is not totally complete at the moment. **** 2002-11-29 by Keith Fulton - Rain now stops if you cross sector boundary and it is not raining in the new sector, and starts if you cross into a sector where it is raining. This is not the perfect way to do it but should suffice for now. - Added hidden cursor in mouselook. **** 2002-11-28 by Keith Fulton - Added new include file which contains a #define in it for CHECK_FINAL_DECREF. You should use this #define immediately before any decref which you know should be the actual deletion of the object. This will help us catch stray IncRef's faster I hope. - Also added several calls to this #define in the client and networking code. **** 2002-11-27 by Keith Fulton - Server now uses database to determine which sectors get rain and how often. Client gets all weather messages for all sectors, and maintains a list of the sectors with rain. This will enable the client to know whether to turn on or off rain when the player crosses a sector portal. When I get a test level which has multiple sectors, I will enable this last part. - Slight mod to Connect window for aesthetics. - Altered order of camera modes and took out freelook mode. **** 2002-11-15 by Christophe Painchaud (Atanor) - Adding the support for Item Description Window. It is not finished at all... For the moment it displays fake informations. More to come soon (tmp) ;-P **** 2002-11-14 by Keith Fulton - Added autorun to client. Uses "r" key right now because NumLock isn't supported in CS yet. Working on that. - Also updated walk/run speeds to be more anatomically correct (6.4km/hr walk, 2.5x for running). **** 2002-11-10 by Keith Fulton - Added much error reporting to celserver. Hopefully we will be able to diagnose players getting booted on connect much better now. - You can now pick up an item and it will disappear from the world. Works nicely with Crystal Hunt generator. - Committed a fix by Abemor which restores the sex of the character on the main creation screen after you choose Kran (which changes it to "none" temporarily). - Committed another couple fixes by Abemor. Added Rotational Camera Mode to 'm' list. Also made connect windows work when you hit enter from the password field. Thanks Abe! - Made several IncRef fixes. IncRef is not necessary when returning a csRef as a csPtr. I verified this with Jorrit by email this morning. - Current state of refcount issues: a. Player A logs in, Player B logs in. b. Player B sees 2 copies of Player A, one stationary, one correct. c. Player A and B see same items correctly. d. Both A and B can take items, and items will disappear from both's screens correctly. e. When server spawns new items, both see new items correctly. f. When B logs out, his sprite is NOT removed from Player A's screen. - "b" and "f" are the main issues I see at this point. - Also, there is a major mem leak related to rain. I know what is causing it but I am still investigating the fix, so don't worry about it. **** 2002-11-09 by Keith Fulton - Added crystal hunt functionality to psSpawnManager and database. You WILL need to update your items.sql to get the hunt_locations table. - Fixed slight AWS crash. **** 2002-11-08 by Andrew Craig - Rewrote the character upload messages to use XML. You will NEED to update your database as some of the table data has changed a little to fix some discovered bugs. - Added race model to the custom screen. You can use the arrow keys to move the camera around and the home/end keys to zoom in/out. - Added preloading of models done durning splash screen to help reduce load times. **** 2002-11-06 by Keith Fulton - Added preference for FreeFont2 font server. Make sure freefont2 line is uncommented and default font server is commented out in your psclient.cfg file. The TrueType fonts look much better than the CS fonts. - Added last_login_ip to Accounts table and AuthentServer. **** 2002-11-05 by Andrew Craig - Moved the splashticks out of psengine and into the splashdialog class. - Added new ingame icon images Talad gave me that Tom did. May need some scaling later on but look very nice. **** 2002-11-05 by Keith Fulton - Added Kran model and new font for Char Creation windows so they are more attractive. **** 2002-11-03 by Andrew Craig - Added in new NPC admin window. Allows you to create a new NPC in a position and assign it's knowledge areas. On the dialog tab it shows what knowledge areas are available and which are assigned. Use the <> to assign/remove. The +/- buttons are for the order the knowledge areas will be checked. Note the knowledge area buttons on the bottom don't work yet as that is the next area to work on ( dialog editor ) - Fixed Logger to handle variable lists properly - Cleaned up some of the code ( replace tabs with spaces ) - Commited updated msvc/mingw project files. ( Vengeance may need to commit updated msvc7 files ) **** 2002-10-30 by Christophe Painchaud (Atanor) - added some physical customization for each race like eye colors and nose types. Each possibility will be listed in the rrpgrules.xml later. It will come later with the character customization dialog. the race class now have functions like GetEyeColors which returns a Vector of all possible eye colors for the given race... **** 2002-10-29 by Matze Braun - added new logging class by Atanor **** 2002-10-24 by Andrew Craig - res submitted fix for two crashes that occur when an initialization error is displayed. **** 2002-10-20 by Andrew Craig - Fixed PS for latest CS API changes: "The first is that iTextureManager->FindRGB() has been moved to iGraphics2D->FindRGB(). Then the following three functions have been removed from iTextureManager: SetPalette() ResetPalette() ReserveColor() These functions are no longer needed with the removal of the 8-bit support. So you can just remove any calls to these without problems." - Fixed updater/client and server/mysql projects to include a link to zlib since that has changed a little in CS. Tested under linux will do the Win tests later ( or unless somebody beats me to it ) **** 2002-10-12 by Andrew Craig - Added 'Add Items' to admin manager. It presents a list of the current items in the database and you can pick one to add. The current pos button will fill in the location with the current position of the player **** 2002-10-12 by Matze Braun - Committed a patch by Sky0 that adds checking of server chars **** 2002-10-01 by Keith Fulton - Added MouseLook mode. Hit "backslash" (\) to toggle. **** 2002-09-27 by Andrew Craig - Added in basic frame work for admin manager on the client. Typing in /admin now will pop up the main admin window where all admin options can be picked. None of them are functional yet but will slowly add options. **** 2002-09-21 by Keith Fulton - Added fog to ModeHandler. Specify fog density of 0.0 to turn fog off completely. Fog takes about 40% reduction in speed in dungeon level for me with no far plane adjustment. - Added lighting interpolation to ModeHandler. Now on timing updates the ModeHandler adjusts the lighting each frame so that it takes 10 seconds to change completely to the new lighting. It looks very nice but costs about 2 fps on my machine in dungeon during that 10 seconds. **** 2002-09-20 by Andrew Craig - Made sure all other models are in XML format **** 2002-09-20 by Keith Fulton - Added dynamic world lighting engine to ModeHandler on psclient. Reads xml file /art/world/lighting.xml to get specifications. Timing is driven by server events. Lighting can be both for actual lights (if defined as pseudo- dynamic) and for ambient lighting. Fog settings are next to use same architecture. **** 2002-09-18 by Andrew Craig - Updated inventory screen a little. - Added equipment slots ( non functional yet ) - Added current weight of all items **** 2002-09-14 by Keith Fulton - Major changes to NPC dialog. Update your database or they won't work. - Dialog now supports multiple triggers linking to responses. - Responses can now have up to 5 alternatives, which are chosen from randomly. - PriorResponseRequired enables dialog designer to ensure continuity of dialog. - Pronoun antecedents are now supported, so player can ask things like "where is it?" in context. - Word list now autobuilds from the words in the triggers. - Sentences not understood are now logged to the database, so Settings people can add them in later if they are valid. **** 2002-09-13 by Andrew Craig - Added new dungeon map in xml format since the old format is being removed from CS. You will need very recent CS ( today's ) since Jorrit fixed some bugs. **** 2002-09-11 by Keith Fulton - Fixed network connection error messages and fixed new attempts to reconnect after a disconnect error. - Added WeatherManager to server. This manager will eventually use the database to decide when to trigger storms, lightning, etc. Right now, it simply generates rain every 30 seconds or so for debugging purposes. It also sends out messages about time of day, for use in day/night cycles. - Added rain functionality into ModeHandler on client. Rain does not follow the person right now. That is next on the list to do. **** 2002-09-10 by Keith Fulton - Added PgUp and PgDn for Look Up and Look Down capabilities in 1st person and 3rd person views. **** 2002-09-08 by Keith Fulton - Maya sprite converter now flips Z orientation (and many other things as a result), so that orientation of CS and Maya models is consistent. **** 2002-09-08 by Andrew Craig - Added paper doll to the inventory screen. This will eventually be used so that the character can see what equiped items will look like on the character. Next steps are to add the equipment slots around it. **** 2002-08-30 by Andrew Craig - Updated script to generate msvc project files and commited a new set of .dsp's. Let me know if you have any troubles with them so the script can be corrected. **** 2002-08-28 by Keith Fulton - Added maya sprite converter. Uses new xml output format. **** 2002-08-28 by Andrew Craig - Big commit. Now have a working inventory screen. You can pick up items and then click on them in your inventory to 'grab' them. Move the mouse outside of the inventory screen to drop that item on the ground. You can also move items around to different slots inside the inventory screen. ( Right now can only move to empty slot, have to work out 'swapping' ) - Update your database as usual since more stuff added. **** 2002-08-20 by Andrew Craig - Added slots to the bulk inventory screen. It now shows your inventory and when you pick up a treasure chest it is updated. For now I only have a slot image for the treasure chest. - You HAVE to update your database as some of the tables have changed to reflect these changes. **** 2002-08-14 by Andrew Craig - Moved texfactory out of the character plugin and into the util lib. **** 2002-08-11 by Andrew Craig - Added some more stuff to the inventory window. It now consists of 3 frames and the buttons on top allow for the frames to be closed. The "Q" button will close the screen. Frame 1: The stats screen ("S"). Where all the player stats such as any equipment effects ( ie ring = wisdom+2 ) Frame 2: The paper doll ("PD") This is where the player will equip the player. Frame 3: The bulk inventory ("B"). This is where the bulk of the players items are stored. **** 2002-08-09 by Matze Braun - even more cleanup and csRef changes (still the client leaks iPSEngine after connecting to the server :-/) - removed RefCountBase from the project as there's now csRefCount **** 2002-08-08 by Matze Braun - cleaned some code and changed it to use the new csRef **** 2002-08-05 by Marc Haisenko - Added celPcLinearMovement::UpdateDR again ?!? Didn't hit CVS ? - Updated psClientDR to make use of celPcLinearMovement::UpdateDR again ?!? - Added celPcLinearMovement::NeedDRData which checks whether we are in the need of sending a new DR packet or not - Updated iPcLinearMovement accordingly - Added #define CELPCLINEARMOVEMENT_DRDELTA which defines the max allowed deviaton from the calculated DR position before we need to send a new DR packet - Added celPcLinearMovement::lastKnownPosition, lastKnownMatrix and lastKnownVelocity - Added argument useLastKnownValues to celPcLinearMovement::MoveV to use the values from the DR packet for movement - Fixed potential DecRef leak in psClientDR::SendPersist - Fixed server crash in psCelServer::InitProximityList (sector was NULL) - Removed psClientDR::lastsentdata, celPcLinearMovement::NeedDRData is enough **** 2002-08-02 by Andrew Craig - Started to implement proper ingame gui. Right now the first Icon Bar is placed on the top left. The top button is used to toggle the icon bar on and off. - Not all the icons are there yet. Need ones for 'game options' and 'buddy list' and a couple of others. - New icons are in art/buttons/icons/*.png - Only button that does something at the moment is the inventory (bag). **** 2002-08-01 by Keith Fulton - Fixed major bug in psclient where MsgHandler thread was running as its own thread (like the server) instead of in the normal CS event thread. This was causing strange and inconsistent client crashes upon removal of entities, because memory was being deleted that CS was in the middle of using. - Fixed duplicate DecRef problem in proxlist, causing server crash on death of certain NPCs. - Fixed stray refcount issue when one or more clients have an entity targeted which must be deleted from the world. **** 2002-07-29 by Keith Fulton - Added a type field to psSystemMessage both for eventual client filtering options and to allow the client to trigger sound effects from the messages. - Added background music change during combat, using psModeMessage updates, with new psModeManager on client. - Added foreground sound effects (grunts, sword clangs, etc.) for use during combat. These were added in both AWS and Lsupi chat window handlers. - Added several new sounds. Make sure you update your /art dir. Also, the combat music is on the gamiix ftp server. See /art/soundlib.xml for details on filenames, etc. **** 2002-07-28 by Andrew Craig - Added a range to select items. So if you are not withing a particular range of a target you cannot interact with it. **** 2002-07-27 by Marc Haisenko - Added celPcLinearMovement::UpdateDR which updates the entity position according to the last known DR data - Updated psClientDR to use UpdateDR on all entities, which should improve the smoothness of other client's movement a bit (the DR code is not very efficient atm) **** 2002-07-27 by Keith Fulton - Added admin console window, invoked with /admin command. This window makes a tab for each object which has registered with it, calling each one's create function when it itself is created. This is intended for remote database admin, customer service ui, python scripting, etc. - Added combat manager to server, with numerous helping functions in pspccharacterdata plugin. This handles melee combat and is more or less a skeleton right now, but it does work. If you attack the Male Enki Orc Pawn, you will fight him till he dies, he will disappear and respawn as appropriate. (If you try to click on him again, you will crash though. Working on that now.) **** 2002-07-26 by Andrew Craig - AWS changes in CS have finally allowed the return of the new chat window! - Make sure you are using an updated CS. - Please inform me of any problems here since this has been an ongoing issue with AWS so want to work out any more bugs. **** 2002-07-21 by Luca Pancallo - Fixed ase2spr. Now the UVMap coords are exported in the same way they are defined in 3dsMax. There no more the need to flip the texture. **** 2002-07-18 by Marc Haisenko - Tried to beautify the pslinmove.h header file a bit - Added CelBase::GetActor(int idx) to query registered entities - Renamed psCelClient::{Get,Set}Actor to psCelClient::{Get,Set}MainActor to avoid conflicts with the CelBase methods and to avoid confusion - Renamed psCelClient::actor to psCelClient::mainActor to avoid confusion with the inherited CelBase::actors (both of type iCelEntity*) - Added celPcLinearMovement::lastDRUpdate (not used right now but will be in the near future) **** 2002-07-17 by Andrew Craig - Added code to send inventory to client. - When the client opens the inventory screen the server sends back the players inventory as an XML string. At the moment it is just printf'd onto the console because I want to wait until the custom componets are fixed in AWS before creating the inventory screen. - At the moment it sends back the name of the item,slot, and count. Later can add the name of an image file that should be used to represent that item inside the inventory. - Note that the 'Close' button on the inventory window must NOT be behind the chat window for it to work. ( Will be resolved once our AWS chat window is restored ). **** 2002-07-14 by Marc Haisenko - Added calculation of "ping" times of high priority packages to psNetBase - Added a psNetInfos class that should provide informations from the network to other classes (currently only the average ping time which is needed for dead reckoning) - Added "use planeshift;" to create_all.sql so creating the database can be done by just doing "mysql /. - You will need to drop your "races" table if you have one and run export4.sql. **** 2002-06-01 by Andrew Craig - Added 'Hot Key' support to windows. There is only the one window now so it is not exciting :). Keys are defined in data/guikeys.xml. Right now CTRL+1 will toggle the chat window and on off. **** 2002-05-31 by Jorrit Tyberghein - Fixed a call to BeginDraw for 2D gui. It was calling engine->GetBeginDrawFlags() but that's bad if you're planning to do 2D graphics. **** 2002-05-30 by Andrew Craig - Fixed a couple of issues with uploading characters and id's - Added a 'delete' command to the server. - Use it like this: delete playername **** 2002-05-29 by Andrew Craig - Added in a new Chat/System message window. The old one is still available it has just been commented out for now. - There is a psgui.def file that describes the layout of this window in data/psgui.def. - Note that the .def file is only for 800x600 resolution. Later on it will load a .def file that is based on the screen res. i - Note too, that the scroll bars do not function quite exactly right ( ie when new text is added but they work. ) - There are some AWS issues that I'm working on as well. **** 2002-05-26 by Keith Fulton - Added translation of texture parts requirements to xml string in psCelServer, storage in psCelCharacterData plugin. - Added storage and CEL persistence for this string so now client will have the specs to build the player texture. - Several other minor updates, fixes. - Earlier today, fixed the server crashing problem I think. Thanks to Sarm and acraig for pinpointing the problematic function. **** 2002-05-23 by Keith Fulton - Major new inventory functionality (just server side, don't get TOO excited). - "Items" are standard definitions of things in the games, such as swords or muffins or chests. - "Player Items" are where inventory is tracked--who is carrying what. - "Equipping" is what I call it when you wear or use the item, as opposed to just carrying it. - The Player Items table tracks which things are equipped and which are just carried. - Items have "slots", which dictate where each item is equipped. Only one item per slot can be equipped. - If an item is equipped into a slot which is already taken, the old item is unequipped. - If an item does not have a slot, it cannot be equipped. This is for things like muffins. :) - Items also have a "size", which is a number. Races define Min Size and Max Size which they can equip. This can be used for small or large armor, or for weapons which are too large for small races to use, for example. If the item size is NULL, then it isn't relevant and is not checked against the race size range. - Items also have a Stackable Indicator, which if "Y" means that we can count them all in one bucket instead of making a separate record for each one. Again this is for muffins or bat wings, where you might have 20 of them at once. Adding the items to inventory checks this field and either creates a new row or increments the counter as appropriate. - There are several other columns in the Items table which are interesting for Rules. I will document them as I implement them. **** 2002-05-23 by Sarmaael - Commited the code for the updater. Not part of the main build sequence yet as he works on it. **** 2002-05-23 by Andrew Craig - Added a basic psAwsManager that will be in control of the gui that uses AWS. Doesn't do anything at the moment except load the plugin and set the graphical canvas. **** 2002-05-19 by Keith Fulton - Added redundancy check to pos update messaging. If no change, msg isn't sent. This will greatly reduce bandwidth reqs. **** 2002-05-18 by Keith Fulton - Fixed a decref bug in /pos command. - Added table to db (Objects). Run export2.sql to create. - Modified player exit logic to save last position in db when logging out. - Modified player connect logic to use last position in db as spawn point. **** 2002-05-13 by Keith Fulton - Added /pos and /spawn commands. (Spawn needs to be tested with multiple clients.) - Tooltip auto hides now - Fixed client crash if server has not yet loaded a map. - Client now heartbeats and detects server linkdead (crash most likely) and quits. - Some other small changes (printfs, etc.) **** 2002-05-11 by Keith Fulton - Added support for multi-word guild level names. **** 2002-05-10 by Amin - Added first person view. You can activate it with 'm'. **** 2002-05-08 by Luca Pancallo - Added function to list all guild levels issuing the command /guildlevel with no parameters. **** 2002-05-02 by Keith Fulton - Fixed guild creation, deletion and guild invites on server - Fixed major packet merging bug on server - Added client# and Kbps debug printfs every 30 sec on server - Added heading text above /who list - Changed /roll to limit to 10d10000 max **** up to 2002-05-01 by Matze Braun - several fixes to networking: big leak fix, message combining working again and several bug fixes. - lots of gui changes - char creation nearly complete - changed default port to 31113 - changed behaviour for requesting world and actors, now the client has to send explicit requests for each part wich makes it more robust. **** 2002-04-25 by Keith Fulton - Added /roll command. - Changed system message display so they cannot be faked. **** 2002-04-21 by Luca Pancallo - Added jobs.xml files. Added code to load that file. Added code to use that in the jobs screen - Modified the dialogmanager to use different fonts based on different resolutions. This means that you need to compile the freefont plugin in CS. **** 2002-04-18 by Keith Fulton - Fixed /who command for non-members of guilds. - Fixed destinee for guildremove messages. - Added confirmation box for invited user when invited into guild. - Added messages, etc. to enable this confirm box. **** 2002-04-18 by Saul Leite - Small fix to the credits screen. Loads in docs/credit.txt so all names should be put there. @ is for titles & for subtitles **** 2002-04-18 by Matze Braun - Fixed the rotation problem **** 2002-04-17 by Luca Pancallo - Added credits dialog, you can access it by clicking the gray gem in the main menu. - Fixed po2 for confirm dialog. **** 2002-04-17 by Keith Fulton - Changed msgtype to be 2 byte numeric instead of big 4 byte union. - Shortened psMessage struct to be 4 bytes now. **** 2002-04-17 by Andrew Craig - Fixed CD for going down stairs - Added data to ingame skills screen ( data is from server ) - Not sure how this will react to characters that were not created by the creation process ( ie test chars ) **** 2002-04-17 by Matze Braun - fixed a bug in cel, now the server shouldn't crash anymore - some small gui changes - made pslinmove DR packets a bit smaller (now we're only sending y angular velocity and angle) and the action is used as a number... still we have 63! bytes per DR message this should be much smaller... **** 2002-04-16 by Keith Fulton - Added update of "last login" column in Accounts table when player logs in. Can use to determine inactive players to delete. - Fixed up ConfirmBox to use new pixmap background and to scale correctly for different resolutions. BG still needs to be po2. **** 2002-04-16 by Andrew Craig - Hopefully fixed the CD once and for all. ** 2002-04-14 by Matze Braun - fixed several bugs in GUI and menu component classes *** 2002-04-14 by Keith Fulton - Changed database connection parameters in server to use psserver.cfg. *** 2002-04-13 by Luca Pancallo - Modified upload screen to have same art as connection screen - Added confirm password field. Removed gender, race fields *** 2002-04-12 by Andrew Craig - Added a new UpLoad screen that handles the uploading of a character. May need some good art for that. Also remember to rebuild affected libs. - Changed the uploading char a bit. What happens now is that on upload it will create a new account with the player name. It then responds with an accept/reject message for that name. It will then progress to send the race/stat/skill info as it did before. - Small fixes to path screen to check path was selected. *** 2002-04-11 by Andrew Craig - Added basic messaging so that the client can request information from the server about its character. Since the client will be very thin it would only need this data for display purposes. - Split the char messages off into it's own file to make it a little easier to find. ( So make sure you rebuild that lib or ./configure ) *** 2002-04-11 by Luca Pancallo - Fixed sizes and position of in-game spellbook and skill windows - Uploaded in-game spellbook and skill window art in po2 format *** 2002-04-10 by Andrew Craig - Fixed movement so you can change speeds while moving. - Klyros now has "no image" in creation screens. - Cleaned up a little of the rpginfo code a bit. *** 2002-04-09 by Andrew Craig - Fixed XML file to display properly. - Fixed psText to focus on the top line instead of bottom. Seems to have fixed chat window as well since I cannot reproduce error in todo. *** 2002-04-09 by Andrew Craig - Added in skill info for the skills screen ( click on a skill name ) - Fixed path screen to go to the upload screen. *** 2002-04-08 by Andrew Craig - Added in race pics to the main creation screen - Fixed Kran creation problem. *** 2002-04-07 by Scott Russell - Fixed display of button texts on Path Screen - Added images of weapons to Path Screen *** 2002-04-06 by Keith Fulton - Fixed /help msg to display in chat window. - Fixed bug in psText fields preventing them from scrolling. - Fixed bug in AuthentServer if account didn't exist on new player creation. - Fixed several assertion errors in pscelserver. - Added 20 connection limit. *** 2002-04-06 by Luca Pancallo - Added new art for warning pop-up window - Modified warning window, it now positions things correctly based on screen res - Added new art for connect window - Modified connection window, it now positions things correctly based on screen res *** 2002-04-03 by Matze Braun - found a little bit of time and fixed the outstanding server crash *** 2002-04-02 by Keith Fulton - Is no one using this anymore? - Changed NetThread::CheckLinkDead to actually try a heartbeat message before killing the client off. - Added a few VFS items to assist with smooth mesh caching functionality. *** 2002-03-29 by Keith Fulton - Various bug fixes and error checking. - Added action to DRUpdate message to try to update animation of other players, but it does not have any effect on the view of the actors for some reason. *** 2002-03-29 by Andrew Craig - Big commit. - Added character creation upload to database. - Only works on the "custom" create option at the moment. - Advantages/Disadvantages still in the works - Added a check to make sure an account has a player before login - Changed the export.sql script a lot so be sure to re-create the planeshift database. - NOTE: does NOT work with the dummy database plugin *** 2002-03-27 by Matze Braun - Implemented the "status" command again (server) - Added a "kick" command (server) *** 2002-03-26 by Keith Fulton - Fixed bug in changing focus with mouse in dialogs. - Changed gui lib so psDialog manages focus centrally. - Added /online command to see buddies currently online. - Client now invokes /online command when started up also. *** 2002-03-25 by Keith Fulton - Added BroadcastEntity to NetPersist, which allows Client #1 to see Client #2 when Client #2 connects. - Modified CelBase, psCelClient, psCelServer and AuthentServer to trigger the right messages. (Note: Client #1 crashes on exit, which I think is a RefCount issue but I am not sure what is wrong. Mutual position updating does work though.) *** 2002-03-24 by Keith Fulton - Added support for NetBase/NetThread to handle per-client queues. - Used per-client queues to efficiently implement packet merging. *** 2002-03-23 by Keith Fulton - Created scriptable /confirm command with scriptable Yes/No buttons. - Added void* to all button action callbacks for things that need more than just psDialog*. - Centralized psDialog::Close from the Destroy... functions so they are done in a standard way and can be done from outside the gui classes. - Made the DialogManager handle reactivating the prior window when a window is closed by itself. *** 2002-03-21 by Andrew Craig - Added in advantage loading to psRPGInfo - Added functionality to the advantages window ( Part 1 ) - Changed the background a bit to fit all text in. - Fixed up some other gui stuff. *** 2002-03-21 by Matze Braun - implemented new resource management for pixmaps and sounds - removed some old files *** 2002-03-18 by Keith Fulton - Started basic scripting of GUI, making buttons able to issue commands as if from the command line in the chat window. - Created CmdUtil class, which implements some commands useful in macros but not really useful to a user (like /echo). *** 2002-03-18 by Andrew Craig - Added in the two new character creation screens Jobs and advantages. - These are non-interactive yet. The back/next buttons are the only thing working. Other stuff will be added in the next day or two. *** 2002-03-17 by Saul Leite - Made a few changes in game dialogs - made the blue sphere in the ps logo a quit button. - removed all those ugly buttons by the chat window. *** 2002-03-15 by Keith Fulton - Fixed camera position and direction a little so the dwarf doesn't dominate the screen so much. - Fixed NetThread and MsgHandler sleep loops so that DR updates aren't so laggy. (Rotation still is not correct.) - Fixed DialogManager to not pass Alt keys to the dialogs. AltQ works even if chat line has the focus now. - Changed psDialog to only call HandleKey for the field with the focus instead of all fields. *** 2002-03-15 by Keith Fulton - Now linkdead clients simulate sending disconnect msgs so their entities are removed and broadcast. - Added logic to check for duplicate logins. This can easily be commented out in authentserver.cpp if you need to test something. *** 2002-03-15 by Andrew Craig - Added in a new psdWarning type of dialog. Used to display a warning that something hasn't been set or filled in yet. ( i.e. race not set before going to path screen) - Needs better graphics ( uses "say" button as a place holder ) *** 2002-03-14 by Andrew Craig - Some fixes to xmlparser so & is converted to & *** 2002-03-14 by Keith Fulton - Added disconnect msg sending on quit. - Added disconnect msg processing in AuthentServer. - Added disconnect msg processing in AuthentClient. (Note: Code in client appears to work as expected, but 2nd dwarf does NOT disappear like he should.) *** 2002-03-13 by Matze Braun - some small fixes in build system - increased loading timeout - made resource handling better, only load images if we need them *** 2002-03-12 by Andrew Craig - Big commit. Added in the new property class for character data - Added in psRPGInfo that loads rules from a file ( rpgrules.txt ) - Removed old source code files - General fixes in places. *** 2002-03-12 by Matze Braun - made network classes more threadsafe *** 2002-03-11 by Keith Fulton - Fixed multi connect problem by same client. - Added login error messages into Connect dialog. - Improved linkdead handling a little. *** 2002-03-10 by Keith Fulton - Added /buddy, /notbuddy and /buddylist commands to UserManager. - Added notify function, so players are notified when a buddy of theirs logs on. *** 2002-03-08 by Keith Fulton - Pulled psDatabase into server app. - Revamped SCF setup for database so that only DAL layer is a plugin. - Updated dummy db to match. Enabled dummydb to be able to login as guest. - Added User Manager to server to handle user-oriented commands like /who - Implemented /who. - Commented out some debugging printfs in the NetBase code. - Merged SysMsgClient and ChatClient so that system responses will show up visibly. - Added a guild collection to the Guild Manager. iCelEntity players can point into this. *** 2002-03-08 by Matze Braun - some rearagements in network code clientnum == Client* is way to hacky - the first naive Dead Reckoning implementation works (note that we miss an update for the other clients if someone joins/leaves, so updating will only work for the 2nd client that joins) *** 2002-03-06 by Keith Fulton - Changed MsgHandler pub/sub to use clientnum also, for client specific server subscribers (i.e. Cel entities can subscribe to themselves) - Optimization for clientnum also. Clientnum in each msg is now the ptr to the Client* in the ClientConnectionSet so no need to search for Client * anymore that way. *** 2002-03-06 by Keith Fulton - Fixed title of DDraw window to say Planeshift instead of CS App. *** 2002-03-06 by Matze Braun - some small fixes - changed for latest cel, we can access id mappings of persistance layer now *** 2002-03-05 by Andrew Craig - fixed some unreleased SCF classes in movement *** 2002-03-05 by Matze Braun - fixed movement with CD *** 2002-03-04 by Keith Fulton - Fixed infinite loop bug in NetThread::Trigger. - Moved broadcasting functionality into NetThread. - Added accessor to NetThread::Broadcast into ClientConnectionSet. *** 2002-03-04 by Andrew Craig - Added in collision detection to the linearmovement PC. It should be noted that it isn't 100% yet since I'm still learning my way through CS and the code is mostly taken from the PS attic and walktest. *** 2002-03-03 by Keith Fulton - Added /help command to CmdHandler - Added /guildmembers, /guildlevel (rename) and /guildpromote - Changed database to accommodate member levels. *** 2002-03-03 by Luca Pancallo - Added some features to the Path screen - Uploaded layout images for Path screen - Added description of skills in the rpgrules lib - Added Path rules in rpgrules - The Path screen can now display the correct stats for each path *** 2002-03-02 by Saul Leite -added a simple yes/no dialog box *** 2002-03-02 by Luca Pancallo - Added some sounds to the client *** 2002-03-01 by Matze Braun - optimized/cleaned linearmove - started work with dead reckoning *** 2002-02-29 by Matze Braun - changed network code to use csGetTicks instead of time, so accuracy should be much higher now. *** 2002-02-28 by Andrew Craig - Fixed chat window so text disappears after 'enter' by adding Clear() to psTextInput *** 2002-02-28 by Matze Braun - Fixed a bug where persistance didn't return to a clean state after persisting to 1 client - Fixed some network and BinaryTree bugs - added more debug messages and tried to make apps more robust as always *** 2002-02-27 by Keith Fulton - Fixed multiple pixmap delete problem causing crashes in Windows client on quit. - Added /guildinvite implementation. Try "/guildinvite Vengeance" while logged in as guest. *** 2002-02-27 by Andrew Craig - Added in new property class for movement. It's in it's early stage but it provides for basic movement ( but no CD yet ). Hopefully I haven't screwed anything up. :) *** 2002-02-27 by Keith Fulton - Added /endguild processing in Cmds and Server and Database. *** 2002-02-27 by Jorrit Tyberghein - added fflush(stdout) to the server console right before accepting new input. That way I can see what happens on mingw too. - Thanks to Matze Braun and my debugging we fixed the PS client to work with software renderer again. *** 2002-02-27 by Matze Braun - added acraigs new cel follow camera mode to client and changed behaviour for it - place players at the defined startpoints in the maps - added todo.txt for placing small bugs there - fixed pstextin in case when no text is entered - fixed sound driver blocking and made sound driver robust if sound init fails (then no sound is played but client doesn't exit) *** 2002-02-26 by Matze Braun - fixed vars in xml code a bit: char* -> const char*, int -> size_t, psString -> xmlString that is only used locally... The handling is still a bit inconsistend: some functions can return -1 so I can't use size_t here, although the length of a csString is size_t... - fixed bugs in GetWordNum - removed old testtrait code, I hope noone was using it anymore - changed to client to not require psClientMessageHandler everywhere. Using only the basic set of functions provided by MsgHandler goes for cleaner separation and modularisation of code. - fixed a bug in server destruction *** 2002-02-25 by Keith Fulton - Created base class for CmdHandlers called psCmdBase. - Made psChatWindow implement iReporterListener to get csReport calls, to display text in chat window. - Implemented client/server messaging for guild commands. - Implemented CreateGuild command on server using msging. Syntax is /newguild (no spaces yet) Guild is actually created in database on server. - Implemented System messages for generic responses back to client from server, with handler in client for them. - Improved const correctness of ipsDatabase. *** 2002-02-25 by Andrew Craig - Added psString that provides some more functionality over csString. - Added psXMLString and psXMLTag which is a lite XML parser. - Thanks to Keith for giving me his string/xml code to use :) *** 2002-02-24 by Keith Fulton - Added joinguild and quitguild console commands, with db updates. - Split apart different types of iSubscribers to allow multi in one class. - Added CmdHandler class which distributes types command lines in client to iCmdSubscriber classes. *** 2002-02-23 by Keith Fulton - Enhanced DAL for mysql plugin. - Separated Accounts and Players table. - Added Guilds table and newguild command. *** 2002-02-22 by Matze Braun - fixed mysql linux build - made some code more robust towards errors *** 2002-02-22 by Keith Fulton - Initial implementation of dbmysql plugin for mysql database. - Modifications to psserver to load and use database. - Added command "newacct" to create new player accounts. - Changed authentserver to use ipsDatabase interface to validate login. - Makefile needs to be created for dbmysql plugin, and MySQL must be installed to run it. *** 2002-02-22 by Keith Fulton - mysql database plugin added *** 2002-02-21 by Matze Braun - rewrote smaller parts of network code *** 2002-02-18 by Matze Braun - added a win implementation of stop() - hope someone with more win experience can take a look at it... seems to work though so I'm using it now - cleanups in gui and character stuff - complete rewrite of pstext gui classes -> they're now cleaner and easier to understand and don't contain a off by 1 error anymore *** 2002-02-17 by Matze Braun - added a stop function to sal threads - no win implementation yet so I can't use it. *** 2002-02-14 by Matze Braun - after a first shock because of the code, I run an indenter and fixed several bugs in ase2spr while simplifying and cleaning some code. *** 2002-02-12 by Matze Braun - converted psWorld to new behaviour layer + some smaller fixes... This should be the way to go... but it still gives me headaches because of polymorphism (we'll have iCelEntities* later and have to know what object type they are...) - changed cel stuff a small bit to make the changes above working (psbehave isn't a plugin anymore for now) - remember to update cel, as I fixed a bug there *** 2002-02-11 by Keith Fulton - Ack/Resend logic in network classes (Note: simulates failure every 5th packet, so app behavior may be a little strange, but it will work.) *** 2002-02-08 by Matze Braun - added a behaviour layer (it's not used yet and doesn't have something special) *** 2002-02-08 by Andrew Craig - fixed up the GUI problem after Matze's checkin( I hope ) *** 2002-02-07 by Matze Braun - fixes all over the place - moved some cel things into new psCelServer and psCelServer - added loading screen - cleanups... - network persistance seems to work now :) - deactivated some of keiths changes (sorry!!) *** 2002-02-06 by Keith Fulton - Added functionality for networked, broadcasted position updating of celPSObjects. - (Not super elegant, but it does work.) *** 2002-02-06 by Keith Fulton - Pulled celbase apart into CEL specific stuff and PS stuff. - PS stuff now in pscel.h/.cpp. - Added classes to encapulate the main types of entities we will have in PS. - Modified engines to use new structure (mostly client). - Application appears to run identically to before. *** 2002-02-04 by Luca Pancallo - Uploaded final version of first 2 char screens. *** 2002-02-03 by Keith Fulton - Added in packet splitting for long msgs and packet reassembly. - Should support out of order delivery and concurrent partial msgs from different clients. - Right now max msg size is artificially low for testing purposes. *** 2002-02-03 by Keith Fulton - Added low level packet support in Network classes in preparation for multipacket messaging and ACK/RESEND next. *** 2002-02-01 by Keith Fulton - Added psTimerThread class to net library to publish periodic timer events to iSubscribers. - Made NetThread an iSubscriber to check for linkdead clients. - Modified NetBase to update the connection with the latest timestamp of a received packet so timeouts are checked for correctly. *** 2002-01-31 by Matze Braun + Andrew Craig - fixed a crash in psButton destructor and removed a memory leak *** 2002-01-30 by Matze Braun - more work on network persistance, but we still need working message splitting *** 2002-01-29 by Matze Braun - finally fixed the client at exit crash (psclientmsghandler didn't unregister in the event queue) *** 2002-01-28 by Andrew Craig - Made some changes to the basic gui system. - General clean up of some of the gui code. *** 2002-01-27 by Matze Braun - integrated netPersistance into CelBase - started work on message splitting - fixed all remaining reference/crash at exit bugs *** 2002-01-24 by Matze Braun - fixed cygwin port - renamed SendMsg to SendMessage in network part - small work on network persistance - cleanup - added new iNetManager to make the bridge between GUI/Network a bit clearer and to move the network stuff out of psEngine - removed const from iSubscriber::Interpret(MsgEntry*) *** 2002-01-22 by Andrew Craig - Changed the dialogs to use the new images. *** 2002-01-22 by Luca Pancallo - I've modified pics of screens so those are now Power Of 2. I will add new png images because jpg are getting worst at every save - I've added also crmain17.png, crmain86.png, crmain64.png as placeholders for final images. Can you please adapt code can start to use those? *** 2002-01-22 by Saul Leite - Cleaned connection between psChatWindow and psChatClient (only psEngine and psChatWindon know about psChatClient) *** 2002-01-20 by Saul Leite -Skill and Spell buttons work now. *** 2002-01-20 by Matze Braun - hopefully fixed the /tell bug - more cleanups for ChatWindow and some memory leaks fixed - something still holds a ref to DialogManager I'll investigate tomorrow *** 2002-01-19 by Matze Braun - fixed unix makefiles - fixed all warnings in the files *** 2002-01-19 by LSupi - Bye bye bug ;) - psText will scroll automatically upon AddLine - Now on AddLine, psText will scroll to the last added line. *** 2002-01-19 by Saul Leite -added chat window *** 2002-01-18 by Keith Fulton Made several fixes/enhancements to get the login screen to have instructions and decent error checking and reporting. *** 2002-01-18 by Keith Fulton Got networking infrastructure working in both client and server. Added authentication messages to both and integrated into client login window. *** 2002-01-17 by Andrew Craig - Fixed up some of the character makefiles and regnerated the msvc ones. *** 2002-01-17 by LSupi - psText gets wiser by adding scrolling button when it cannot display all texts - psTextInput receive new method (SetText) - psTextInput now recognize more inputs *** 2002-01-17 by Matze Braun - small msvc fixes, added MsgHandler->UnSubscribe *** 2002-01-16 by Saul Leite - Added future chat dialog - Made a few changes to ingame display - cleaned psdragplane *** 2002-01-16 by Matze Braun - Fixed several small issues to make the thing compiling again - updated msvc+mingw projectfiles - couldn't stand and cleaned messages.* up *** 2002-01-15 by Keith Fulton - Redid psConnection to be own thread - Added client msg handler class as iEventHandler to get incoming messages. - This code not proven usable yet but will compile. Will get working tomorrow. *** 2002-01-15 by Andrew Craig - Fixed up some of the makefiles for Keith's commit - May need to regen the msvc project files for you windows guys. *** 2002-01-15 by Keith Fulton - Added message crackers to net lib. - Added authentication server and client connection pool to server. *** 2002-01-15 by Saul Leite -Changed psDialog::AddButton to return a pointer to the psbutton when function AddButton is performed, and not a boolean. -Added psDragPlane class to drag items on the screen -Added psddsktop.cpp to handle ingame display. -Changed psengime to load proper textures for ingame display -Added new dialog definition to dialogs.h -Changed psdmngr.cpp to add mouse move event. *** 2002-01-12 by Andrew Craig - lsaul cleaned up the login window *** 2002-01-10 by Andrew Craig - Cleaned up some of the Character code - Added some stuff to a few windows - Fixed error in skills screen *** 2001-01-10 by Matze Braun - merged nearly all keith code - cleanup of network code *** 2001-01-07 by Matze Braun - added new util lib - cleaned up structure and makefiles - added simple RefCountBase class for situations where SCF is bloat - merge and some rewrite of keiths codes - I couldn't finish it today, so I wouldn't recommend touching the network code now. It does only compile - no more and no less *** 2001-01-07 by Jorrit Tyberghein - Updated PS for latest CS. *** 2001-01-06 by Andrew Craig - Added some stuff to char creation. - Added gender button. - Added validation before loading skills screen. *** 2001-01-04 by Matze Braun - updated Compiling.txt - cleanup and restructuration of server code *** 2001-12-29 by Matze Braun - changed msvc project file for server to be a console app *** 2001-12-25 by LSupi - Merry Xmas :) - More bug fixes. - Improved pstext a bit. Now it divides the word in spaces. *** 2001-12-23 by Matze Braun - more bugfixes... but still crashes :( *** 2001-12-22 by Matze Braun - created planeshift-cvs list -> this is a test for that - changed mingw makefiles for cel - fixed some bugs in celcode, but still some memory errors in... *** 2001-12-22 by Andrew Craig - Added functionality to the skill screen in character creation. - Added some more stuff to the rules. - Fixed a small error in the windowing that caused re-init on draw *** 2001-12-21 by Matze Braun - enabled the cel test code in planeshift *** 2001-12-21 by Luca Pancallo - added skill screen. *** 2001-12-20 by LSupi - Combined iDialogControl with iDialogManager - chane iDialogInterface and moved idmngr.h to iclient as requested. - preparing for iFlowControl *** 2001-12-20 by Matze Braun - fixed rpgrules Makefile - regenerated correct msvc project files - made configure look for cel - added some simple cel test code *** 2001-12-19 by Andrew Craig - Made a few changes to get the character creation screen to come up. - Changed a few of the Makefiles and hopefuly regenerated the correct msvc ones. - Changed the trait system a little bit. *** 2001-12-19 by Matze Braun - made usage of iEventHandler nicer in psgui - added autoconf macro for findig CEL *** 2001-12-17 by Luca Pancallo - Added the images of the 2nd screen of char creation: crskil17.jpg and crskil86.jpg *** 2001-12-16 by Matze Braun - removed old msvc project files - included old database test code again, and integrated into build process - made am2msvc able to compute conditionals in Makefile.am - regenerated msvc and mingw makefiles *** 2001-12-15 by Andrew Craig - fixed small error in statrules *** 2001-12-15 by Matze Braun - fixed a silly bug in server init code... *** 2001-12-14 by Matze Braun - added Andrews new skill/stat code (some test code in psserver will be enabled if you add a "#define testtraitcode" into your config.h *** 2001-12-10 by Matze Braun - reenabled pskeyint (this was more or less to make another cvs update :), as this will replaced by cel input property class soon anyway *** 2001-12-07 by Jorrit Tyberghein - Fixed for latest version of CS. *** 2001-12-07 by Matze Braun - finished am2mingw converter - removed old_unix dir *** 2001-12-06 by Matze Braun - fixed some memory leak errors. *** 2001-12-05 by Matze Braun - started work on an am2mingw converter, nearly working some small things to fix left *** 2001-12-05 by Jorrit Tyberghein - Renamed initcs.cpp to initcs.inc. - Fixed mingw makefiles so that they compile the client again. Still have to fix the makefiles for the new gui plugin. - Fixed mingw makefiles to compile plugin. psclient seems to work although I cannot move. *** 2001-12-02 by Matze Braun - am2msvc should be working now, just needs some usage instructions and more testing by msvc people... *** 2001-11-30 by Matze Braun - more improvements to am2msvc should output project files now, that compile somehow, but still some quirks left, I'll face later *** 2001-11-29 by Matze Braun - added am2msvc converter that generates msvc project files - It's not working yet, but can't I think I can finish it tomorrow *** 2001-11-25 by Matze Braun - removed old psw* files out of the makefile they're just still in cvs as an example implementation for the new ones. *** 2001-11-24 by Matze Braun - randomly added GPL header to files - changed some code to coding style convention - added new MsgHandler to server - turned objectmanager into an interface *** 2001-11-22 by Matze Braun - libtool changes for win32 and small fixes - the first windows apear - checked in changed resources (PO2 I assume) - made the thing more robust - note that you can't move around anymore because the keyinterpreter isn't plugged into the new system yet, also the character creation window doesn't work because we're thinking about a new char class *** 2001-11-21 by Matze Braun - fixed win32 compiling building plugins works now with libtool (though It's still a bit of a hack but I don't expect problems) - but still no working client. - more integrating, fixed also some memory leaks and smaller bugs *** 2001-11-20 by Matze Braun - more changes to chatmanager - added leslies new window manager sources - more interface changes - WARNING! The code is now broken - but I'll commit it now, because thing seem to have stopped. So you'll have lots of new files/interfaces now but a crashing client! *** 2001-11-17 by Matze Braun - changed more code to interface-implementation paradigm - preparation to merger leslies changes *** 2001-11-16 by Matze Braun - more work for Object List *** 2001-11-14 by Matze Braun - added cssysdef.h to config.h -> se we must ONLY include config.h in each .cpp file! - UNIX: be sure to rebuild your configure scripts!!! *** 2001-11-13 by Matze Braun - added autogen.sh because linux people search for something like that :) *** 2001-11-12 by Matze Braun - removed the old objectmanager sources and added really simple ones -> This will be a new beginning of object stuff (once again :) - modified psclient.cfg and psserver.cfg a bit - updated Compiling.txt - added .cvsignor to art/world, so that cvs ignore changes in the temple file now!! (so it doesn't save the new lightning each time!) If you want to change files in art/world be sure to specifiy them by name while checking in! *** 2001-11-09 by LSupi - Fixed for latest CS *** 2001-11-07 by Matze Braun - fixed ase2spr utility to compile on gcc. I also added a Makefile for it - changed configure script to use the new cs-config util *** 2001-11-01 by Matze Braun - fixed for latest CS *** 2001-10-30 by LSupi - fixed VC++ project files for server and removed pscon.h and pscon.cpp from VC++ project in client. *** 2001-10-27 by Matze Braun - moved the enums in psobject.h into the psObject class, because they generated naming conflicts with libc headers (open/close are c functions) *** 2001-10-27 by LSupi - Animation now stops after the chest is open. Next step is to build pswSelection type window/interface for the user. *** 2001-10-26 by LSupi - Added 2 chests in the temple.zip world file. - Created animated chest. - Introduced BuildObjects to psEngine - Right click on the chests will open them and continue the animation. I have not figure out how to control the animations yet. *** 2001-10-25 by LSupi - Moved pswUploadCharacter to inside pswCC instead of in psEngine. - Deleted vfs variable in psEngine. Instead, we use VFS variable built in the csApp already. - Updated Visual C++ project file *** 2001-10-25 by Matze Braun - more cleanups (pswCC and Engine) - moved common sources to src/common - mingw and visualc, please change your Makefiles - fixed bug which made the prog crash after deleting an interface (be sure to check if parent is still set, before calling parent->HandleEvent) - fixed bugs with images in buttons: DANGER if you assign an image to a button without extra parameter the texture of that button will be destroyed, when the button is destructed, so either set it this way butt->SetBitmap(b1,b2,false) or make sure the texture is only used once and you don't destruct it - moved some init functions out of psengine.cpp to csinit.cpp to use them in server also - more cleanup of psengine.cpp it starts getting readable, even if it has still too much functions - removed pscon.* out of Makefiles (so can we delete them now? no one uses them and writing new one would be better than using that code) *** 2001-10-24 by LSupi - fix unhandled exception error in windows in psCreateSkill - psCreateAdvantages were restored - loading screen restored properly *** 2001-10-24 by Matze Braun - more cleanups - fixed more IncRef/DecRef errors, although 1 is still left *** 2001-10-23 by Matze Braun - merged changes from exp branch back (CS cleanups) *** 2001-10-23 by LSupi - Fixed collision detection. Copy the code from walktest almost verbatim. - Increased the flexibility of collision detection. - Begin work on psoContainer and psNPC - Created LoadFactory in psengine. This class is responsible for art loading. - Created psocont.h and psocont.cpp in CVS. - Added GetType() in psObject. - Updated visual C++ projects and remove snprintf from world since it does not exist in windows world and replace it with regular sprintf. *** 2001-10-19 by LSupi - rewrote pschar. It now contains the basic rules. - introduced pswCC class for encapsulating all other Character Creation Windows. *** 2001-10-19 by Jorrit Tyberghein - Fixed for latest CS. *** 2001-10-18 by Jorrit Tyberghein - Fixed the buttons by using GetOriginalDimensions() instead of GetMipMapDimensions(). Note that the text is still clipped away but this is true for software rendering too. *** 2001-10-17 by Luca Pancallo - Fixed splash screen to use PO2 images, fixed main menu and first screen of char creation. We will get wrong button images when running in opengl. - Fixed PS for latest CS: renamed M_PI_2 to HALF_PI *** 2001-10-17 by Jorrit Tyberghein - Fixed PS for latest CS (CS_QUERY_REGISTRY change). *** 2001-10-15 by Jorrit Tyberghein - Fixed PS for latest CS. *** 2001-10-13 by Matze Braun - Fixed PS for latest CS. *** 2001-10-12 by Jorrit Tyberghein - Avoided the use of CS_QUERY_PLUGIN in PlaneShift. CS_QUERY_PLUGIN is deprecated and will be removed in CS soon. Now uses CS_QUERY_REGISTRY. *** 2001-10-10 by Jorrit Tyberghein - Fixed PS for latest CS. *** 2001-10-09 by Matze Braun - small fix - changed indentation of some files - tried to fix linux build (untested yet) - a fix to sal, so deleting a thread doesn't segfault anymore on win - another fix for linux compiling without an installed CS *** 2001-10-08 by Jorrit Tyberghein - Fixed PS for latest CS. *** 2001-10-08 by Matze Braun - changed build system. Now that CS has a cygwin port and I changed PS, it compiles out of the box on cygwin!! Note: There's still an error in cygwin port of CS: You have to set your CRYSTAL var relative (i.e. ../../../usr/local/crystal). Even then some crashes happen... (perhaps because of the next point) - I also changed client a bit to make it compile with lates CS cvs. I hope I didn't break something, because I don't know the mesh stuff very well. - added workaround for a libsal bug I have to look at later - fixed linux compiling again *** 2001-10-05 by Jorrit Tyberghein - fixed temple level a bit. It should be lighter. I used it mainly to create the new version of 3ds2lev. Now we can easily import 3ds files for static objects. *** 2001-10-02 by Jorrit Tyberghein - psengine: fixed to latest CS and changed to use the new csInitializer system. *** 2001-10-02 by Jorrit Tyberghein - psengine: fixed to latest CS. *** 2001-10-01 by Luca Pancallo - psengine: Changed a call to GetSector() with Get(), to align with latest CVS of CS. *** 2001-09-29 by Luca Pancallo - Fixed a null pointer exception in pswcmain.cpp - Updated ase2spr, now it doesn't crash if *SCENE_ENVMAP is present *** 2001-09-29 by Taric - Pass the psCharacter object all the way to the character upload screen - Instead of destroying the psCharacter object whenever a new interface is selected, keep the object in memory until psengine.cpp is done with it. This way it maintains state. - Fix minor typecasting bug *** 2001-09-23 by Matze Braun - fixed linux build *** 2001-09-22 by LSupi - NOTE: I might have broken psServer due to lots of changes. Right now, I had to disable engine->connection->run() in pswLogin. - Right click will result in attaching the object clicked to the player (only test case to simulate player interaction). It simulates how the function capable of getting the right psObject from csMeshObject that was hit in the world. - psEntity class is gone (so are psentity.cpp & psentity.h. Please make the appropriate changes in Makefile. VC project file is up to date) - psObject no longer inherited from psEntity. Instead, it inherits directly from csObject - psObject was about 70% rewritten. Cant explain all. Just take a look at the codes - psCamera no longer inherited from psEntity. It's not inheriting from anything at all. - Removed library file from /planeshift/art. Instead, 2 seperate files in place of it. This is to reduce memory usage in the game. It's seperated between library needed in menus and in game. *** 2001-09-21 by Luca Pancallo - Modified the ActivateObject() function. Now it's called when you press the right-mouse button on an object on screen (try with a chest). For now it prints only the polyid and name of object in the cs console, but it works! *** 2001-09-21 by Jorrit - Did some fixes in CS so that iSector->HitBeam() works better. Accordingly modified PS. This fixes object selection. *** 2001-09-20 by Matze Braun - fixed some memory leaks in the server - fixed a memory error in client. - fixed more small bugs - opened new experimental branch: exp-obj-and-db *** 2001-09-19 by Jorrit - Fixed a 'delete levelLoader' to 'levelLoader->DecRef()' in the destructor of the client. *** 2001-09-18 by Matze Braun - reindentation and small fixes *** 2001-09-17 by LSupi - updated the VC poject file. Keep the libraries directory structure like this in CVS. This directory structure allows for easier library management. Less files need to be moved around. If your library path is different, either move the libraries to where they should go or just dont update the dsw/dsp files. *** 2001-09-17 by Luca Pancallo - added advantages/disadvantages screen. Char creation sequence is not complete. *** 2001-09-17 by Matze Braun - started some work for automake detecting windows, it's possible that I broke linux, I'll check this evening - added .cvsignore files - fixed linux compile again (see above entry today) - fixed crash for client not connected to server - improved readline behaviour (redisplay after console output) - fixed silly bug in command.cpp *** 2001-09-16 by Luca Pancallo - updated vc dsp file - changed in pswlogin and pswuchar the string "username" to "character name". A password will be associated to the character, not to the player. *** 2001-09-16 by Taric - Added screen that for uploading your character to the server. *** 2001-09-16 by Luca Pancallo - Added some functions to give psconnection the ability to add messages directly to the chat window. Now you can write a message server-side and it will appear in the chat window. - Readded in NextFrame the "hacky hack" to read server messages, I've used it to test the chat Window. *** 2001-09-15 by Luca Pancallo - Uploaded dwarf with right sizes, he is now 1.4 meters. This change has broken the inventory! The different size of the model is the cause. - Changed camera position to reflect changes on dwarf. - The chat window now prints sample text; added private method CutString() to see if the added text fits in the chat window. *** 2001-09-14 by LSupi - removed config directory - removed temp.cfg, vfs.cfg, and scf.cfg. Windows users plz copy these files from CS directory *** 2001-09-14 by Luca Pancallo - the chat window is now transparent - added methods to write text on it *** 2001-09-11 by Luca Pancallo - modified AddObjectToWorld() so it now places the object in player's coords. You can fill the level with chests! *** 2001-09-11 by Matze Braun - changed CSCONFIGFILE back to /this/psclient.cfg, I also moved csws.cfg changes to psclient.cfg. Can we remove planeshift/data now? - fixed all warnings on unix (a lot of "passing float to int") - randomly fixed indentation *** 2001-09-10 by LSupi - changed the CSCONFIGFILE to point to /planeshift/psclient.cfg instead of /this/psclient.cfg - added config folder in /planeshift/data with minimal datas needed by PS. The csws.cfg file contains some modification so that's why I need to CVS these files. - modified chatbg.jpg - modified the pswInterface::SavePosition() so it actually saves position in psclient.cfg - modified psclient.cfg to reflect the above change - removed windows.cfg - modified psObject so it will load materials properly - login screen now display default backdrop for window *** 2001-09-10 by Matze Braun - changed some functions of psobject. Leslie: You should use const for functions like setpos, because otherwise using the following is can be dangerous setPos(Vector(1,2,3)) and won't compile in gcc. - Added a third field to the login screeh for specifying the server, and moved connection stuff into psEngine and pswLogin - small fixes in server code *** 2001-09-09 by LSupi - Add login screen to VC++ project - Add SetPosition function to psObject - Add Attach function to psObject. Object now can be attached to another object. The attached object will move with the target object. *** 2001-09-08 by Taric - Added the client login screen with username and password. It currently does not have 2D art or networking. *** 2001-09-08 by Luca Pancallo - Added the activate key 'u', now the function returns the polygon and the parent object activated. We should find out how to trigger an action on it, like a chest that opens/closes. - Added a chest and a shield under /art/things. *** 2001-09-08 by Taric - fixed a bug with latest CS involving a psplayer.cpp and csMeshWrapper *** 2001-09-08 by LSupi - fixed the library files so it is compatible with latest CS - remove sbar.png from library files as well as rain.png. *** 2001-09-08 by Luca Pancallo - fixed psobject.cpp. It was crashing if an object had no animation. - added an axe (1.0 meter long) in art/things, pressing space creates an axe. - added a doubleaxe (1.4 meter long) in art/things. *** 2001-09-07 by LSupi - deleted psloader.h and psloader.cpp - pswInterface now can read from config file and figures out it's position - fixed the animation of dwarf so it doesnt walk after you connect although you're not moving - add pswchat.cpp and pswchat.h. This is the mock up of chat system. I still need to look more into csws on how to accomplish this efficiently. Also added chatbg.jpg for the chat window background. *** 2001-09-07 by Luca Pancallo - modified images of buttons on 1st char creation screen - modified positions of controls on 1st char creation screen - added AddObjectToWorld() in psengine, this is a test to see how to add objects to the world at runtime. Press SPACE to add the cube. Why the cube is always placed at 0,0,0??? *** 2001-09-07 by Matze Braun - msvc fixes... - started a portable.txt please read it and add your own comments! *** 2001-09-06 by LSupi - Change the library file a bit for better images somewhat in OpenGl mode. - Eliminate mipmapping in texture so it actually looks good in OpenGl mode. - Moved the interface around and getting it ready for big changes in pswInterface *** 2001-09-05 by Matze Braun (- Hey I didn't do a single automake change today Whohooo) - implemented test chat server hack... This is how you can test it: 1) start server and then psclient 2) do connect in psclient 3) Now type "say Bla" into the server and look at the psclient text console window! 4) or press c in the client and look at the server console *** 2001-09-04 by LSupi - rename console.cpp and console.h in the client directory to pscon.cpp and pscon.h respectively. - small change at the VC project file. It now look the library directly at the CVS version of CS. This should make things easier for people just getting into the project. - updated compiling.txt to effect the new changes *** 2001-09-04 by Matze Braun - more automake changes I hope this will stop someday... I just realized that many people are using CS without installing it (are there any other libs which work with this style?). I also realized that I'm a automake beginner I discovered some bugs in my files and corrected them, now it should work with every automake/autoconf/libtool version *** 2001-09-03 by Jorrit - In an effort to make it possible again to compile PS on my system I readded the old unix.mak from the past and put it in mk/old_unix. I still have compile errors though. *** 2001-09-02 by Matze Braun - Added a compile options overview to configure *** 2001-09-02 by Jorrit - Did a blind fix to the inventory drawing. rview->SetFrustum() was not called. I was not able to test this fix though (not being able to compile PlaneShift yet). *** 2001-09-02 by Matze Braun - Included configure script for people having problems with autoconf *** 2001-09-01 by Matze Braun - varios automake fixes - changed readline *** 2001-08-31 by LSupi - added include directories to VC project files. - added wsock32.lib in Client VC project file so it can link to it. - combine server and client into 1 VC project file. Client outputs object files in client directory Server in server directory. Both exe result goes into the main directory. - models now automatically rotated 180 degrees in y axis. Please use dwarf model for standard/reference. - adjust camera a bit making it closer to the model. - rename PsCharacter to psCharacter - rename character.cpp to pschar.cpp and the same with h file - added credit.txt to the docs page to keep up with the people that contributes with the coding. *** 2001-08-30 by LSupi - converting codes to conform to the ps coding standards (still not finish but most header files are done) - ran the doc++ against the client header files and store the result in docs/client *** 2001-08-30 by Jorrit - Added necesary files for mingw compile of PS. - Modified mingw.mak to include the server code. *** 2001-08-30 by Matze Braun - changed sal boolean type to salboolean because it generated naming conflicts in vc - added mutlithreading to the server *** 2001-08-30 by Luca Pancallo - fixed vc build - renamed error.h to pserror.h for that - it should compile now, though we still don't know how to set include paths in the vc .dsp files... at the moment you have to add src/server, and src/client manually *** 2001-08-29 by Matze Braun - To FIX: change visualc makefiles: the client now needs the code from the src/server/sal and src/server/psnet directories... I can't fix it because I don't own visualc - added initial connection tests for client/server - various autoconf changes, added configure to cvs. Note: you have to rebuild the configure script everytime you add new files though *** 2001-08-29 by Jorrit - Fixed a crash in psclient because of a recent change in CS which changed the types of objects in a vector (camera positions and sectors). - Add a Mount point for planeshift/art/models in the code. Note that the Mount point is better defined in the source code for now. *** 2001-08-29 by Taric - Added initial database create script to docs/mysql *** 2001-08-28 by LSupi - zipped the models into models.zip *** 2001-08-27 by LSupi - Fixed the movement by disabling the collision detection. - Dwarf models now have animations *** 2001-08-22 by Matze Braun - Fixed PS client for latest CS - seperated network stuff to psnet dir so client can use the same sources - changed server error reporting -> we don't need __SUB_PROGRAM__ any more Jipiii - visualc project files have to be changed for the psnet server change... *** 2001-08-21 by LSupi - Fixed PS client visual c++ projects for latest CS. *** 2001-08-20 by Jorrit - Fixed PS client for latest CS. *** 2001-08-17 by Matze Braun -added a server console *** 2001-08-16 by Matze + Nick -fixed MSVC build of server -added Unix support to Network Code -added a first version of the ChatManager *** 2001-08-15 by Matze Braun -Extended errorhandling for the server -More autoconf/automake fixes *** 2001-08-14 by Matze Braun -Cleaned up more and fixed some compiler warnings -remove old server codes -checked it new ones from nick and me -changed autoconf/automake to match new server code *** 2001-08-12 by Matze Braun -Cleaned up and added some more error handling to psengine -fixed that dward upside/down problem *** 2001-08-08 by Matze Braun -Added autoconf/automake scripts -lowercased font names, so linux can find them now *** 2001-08-06 by Jorrit - Fixed PS for latest CS. *** 2001-07-30 by Luca Pancallo - Submitted latest version of first screen of char creation - Updated the ase2spr program so it now inverts y and z coords. This must be done because 3DSMax and CS have different coords systems. *** 2001-07-30 by Jorrit - Fixed PS for latest CS. *** 2001-07-25 by Luca Pancallo - Updated ase2spr. It now works also when the number of UV vertexes is greater than the number of geometrical vertexes. The converter simply create 3 vertexes for every face, regardless of duplicates. This can probably be improved by duplicating only necessary vertexes. *** 2001-07-25 by Jorrit - Fixed PS for latest CS. *** 2001-07-24 by Jorrit - Fixed sprite rendering for the objects in inventory. The problem was that the Z-buffer was set to FILL mode which means that the internal triangles of the objects were not correctly drawn. *** 2001-07-23 by Luca Pancallo - Added ase2spr program, it's now standalone and it works with single frame files and with animations. We still have the problem of flipped normals in CS, we must figure out why. *** 2001-07-23 by Jorrit - Fixed PlaneShift for a big change in CS (iObjectRegistry and iPluginManager). *** 2001-07-20 by Jorrit - Enabled the code in psInventory to draw the character and did various fixes here and there to make this really work. To make this somewhat easier I added a new function to CS for this. The sprite is added to the sector in Draw() and removed again so it doesn't interfere with the engine view. - A template name is not the same as the file name used to load a model. I fixed psObject by also keeping the modelFileName as a seperate string and fixing getTemplateName() to return the template name as the factories is loaded in the engine. - The model shown in the inventory (dwarf for now) rotates slowly. Lighting is updated while this is happening. Looks VERY nice :-) Note that this reveals some problems with the model. I think the model is defined inside out. To fix this the triangles have to be fixed so they are oriented in opposite direction. Also the sprite is not modelled with 0,0,0 at the origin (or the origin of the feet). That causes the rotation to be slightly off-center. - To make the sprite rotation actually work I had to add Invalidate() in psw3D::HandleBroadcast() in all cases (i.e. not only when engine is updating). This makes it somewhat slower so maybe we only want to do this if inventory is active? - Removed the string server from the config file. That plugin is no longer relevant. - Fixed an include of psNPC.h to psnpc.h. This is important for case sensitive operating systems (like Linux). - Fixed the reading of the pskey.cfg config file. Key movement is working again. - Fixed the location of csws.cfg from /lib/csws to /config. - Fixed unix makefile. *** 2001-07-19 by Jorrit - Added makefile for compilation of PlaneShift with MingW compiler. - Started conversion of PlaneShift to latest CS 0.19. Nothing finished yet and nothing commited either. This is just a warning to everyone involved! - The PlaneShift client now cleanly compiles using the latest version of CS (0.19/CVS). This involved various changes all over the project. - Fixed both the MingW and unix makefiles so that the client and server are seperate compiles and generate a seperate executable. - Added a new case in server/util/portatyp.h for the MingW compiler. I test for this case by checking if WIN32 AND __GNUC__ is defined at the same time which can only happen by using the MingW compiler. I don't know if the defines I used there are correct though but I had to make this seperate case since MingW doesn't define _UI32_MAX, _I32_MIN, and _I32_MAX. - Fixed temple.zip so it works with PlaneShift again. I also added one light which greatly enhances the look of that level. Warning! this only looks good with the OpenGL renderer because the software renderer has a limitation with big textures that are lit. If the polygon is too big the texture will not be lit anymore. There are two solutions: decrease texture density (i.e. change the texture mapping options so it tiles less) or split the polygon. In the future CS will have an option to split automatically. Note that fixing the texture density is the most efficient (but maybe not the most beautiful) option. - Fixed dungeon.zip as well. - Fixed stoneb.spr so it loads again. Also fixed the other models in art/models. - Fixed sprite lighting so the dwarf is nicely lit in the world. This is accomplished by calling DeferUpdateLighting() on the mesh everytime it moves. That will recalculate lighting. The effect is now that the lighting effects change when the sprite moves which is a really nice effect. - Fixed map loading a little by mounting the zip file to the appropriate directory (either dungeon.zip or temple.zip). - Added mounting of the /planeshift VFS path explicit in the code. This is a little bit easier to use and doesn't require the use of a private version of vfs.cfg. In addition the config file is now read from /this instead of /planeshift. *** 2001-06-25 by LSupi - Convertion to 0.19 is completed. Now it will compile with 0.19 libraries. - Quetzalcoatl Bradley made minor changes for compiling in MacOSX. *** 2001-06-14 by LSupi - finished collision detection and gravity. There is still some weird anomally but I'm guessing it's level problem and not the algorithm. It seems that the collision detection system cannot collide with things easily. There is still no sector yet in the map, so i cant test it *** 2001-06-13 by LSupi - collision detection half working - reworked the interface - found and fix couple object not deleted after the program exit - hardtransform every sprite to make it align correctly - created a dungeon level. It's just prove of concept *** 2001-05-22 by LSupi - More work on the Collision Detection *** 2001-05-22 by LSupi - Loading screen works now - planting the frame for interacting with objects *** 2001-05-12 by LSupi - Starting to implement the collision detection. - Modified the menu so it has white text in the buttons. *** 2001-05-03 by LSupi - Modified the font system a bit. *** 2001-04-26 by lpancallo - Renamed all files to lowercase, because uppercase can generate problems. - Added a bench in the temple (still misplaced!) - Added a dwarf in the temple. - Used the dwarf as player model (still with no animation). *** 2001-04-04 by lpancallo - First fix to the temple model, after many tests I finally understood how to fix the flipped surfaces on the right aisle of the Laanx temple. *** 2001-04-03 by lpancallo - Removed old code for loading race points from data.cfg - Implemented points on rules.h - Modified pswcmain, removed radio buttons, added clickable areas - Added info text for race - Little update on the pswcmain background image (still temporary) *** 2001-03-27 by lpancallo - Added basic code to display help on characteristics on first creation screen. We must find a way to draw it on multiple lines. *** 2001-03-27 by lpancallo - Added custom font for char creation *** 2001-03-27 by lpancallo - Changed name of creation files. *** 2001-03-15 by lpancallo - Added "Back", "Quick Creation", "Custom Creation" buttons to first screen of char creation. - Display of race names is now fixed: right order. - Added Creation of skills, class names are compliant with new definition. - New art/backdrop/creachar.gif (only for preview) - Started creation screen of paths *** 2001-03-15 by LSupi - The CVS version of PS now is compatible only with CS 0.18 and NOT with the CVS version of CS. This would allow faster development time. - Inventory system is broken. I'm on the progress of remodeling the system. - Bastian added window positioning system. - Bastian added the status system. *** 2001-02-06 by LSupi - Restored the inventory system. It now has the player's model drawn in it. - Tweaked the camera view a bit. - Added the pswLoad for loading screen. It still does not show up yet, but will soon. *** 2001-02-05 by LSupi - Tweaked the movement system. - Rename bg folder to backdrop. - Deleted engine folder from the CVS. - World mounting now resides in the vfs.cfg instead of hard coded. *** 2001-02-01 by LSupi - Improve character movement by using time as a variable of movement. Before, the character will move faster when the frame rate improves, but now it moves the same regardles of frame rate. - Add correct animations, and started to flesh out animation structure of the 3d sprites. - Somewhat improve the methods of rotating the model. - Moved camera point of view. Now the user can see more of what in front of the character. *** 2001-01-30 by LSupi - Rename most of the source code filenames. Only the character creation guide that is is the same as the old one. - Engine rebuild. 3d acceleration now works. Some quirk is still exist with 3d acceleration, but this is CS problem and not our code's fault. - New naming convention of classes and filename. use ps* for regular classes (the one that does not need psInterface). All window will use psw* filename and class name. Also, it is desirable to have the filename and class name the same. - The new codes should eliminate a lot of bugs, notably the problem with window switching and the problem of reconnecting after going back to the menu. - Couple things that exist in the old engine, and not in the new one: - collision detection does not exist for now. The old one was buggy so I didnt copy it to the new engine. I need someone to write this. - camera is now separate class that can be attached to an entity. The camera class still need work. I'm on this problem since I've been thinking about this and I found quite nice solution, just need it to be implemented =). - Spell and skill window is still missing, and the inventory window does not work. - The character creation screen does not function the way it suppose to. It needs to be rewritten so it will look like the rest of the codes in the engine. *** 2001-01-11 by LSupi - In attempt to figure out bugs in easy way, I have put messages for each initialization routine calls. I hope this will make it easier for bug hunting. - Changed the world from flarge to the temple made by our team. NOTE: The new map is rather large, so expect slow performance from the map in software mode. Hardware modes should only see very little decrement in speed. *** 2001-01-09 by LSupi - Added the selection window buttons made by Stuarts. The window looks good now. I also made the window totaly transparent. So only the buttons show. - Removed couple out of date art files. - Moved initialization of view. It's now initialized before the world is loaded. I hope this fixes the crash that Luca encountered on his machine. - Inventory window is commented out because it crashes the system. I have to figure out whats wrong. NOTE: You need to modify the flarge.zip in order to run this one without crashing. I have not implement the particle systems in this version. So, you have to remove all lines in flarge that related to snow, rain, and fountain. *** 2000-12-28 by LSupi - Added the whole buttons for the menu. The menu now looks snappy =) *** 2000-12-27 by LSupi - Fixed the inventory window. The model was rotating as the view rotate last time, but it is fixed now. - Updated the dsw files for the csfx addition to the latest cs. - Resize and move inv.jpg to buttons folder. - Selection window now is resolution dependent. It is the same size no matter what resolution. *** 2000-12-26 by LSupi - Added the 3d model of character in the inventory window. This should serve as example on how to draw 3d model on top 2d models. - Restore the views switch but FPS view does not check if it tilts up/down too much. *** 2000-12-22 by LSupi - Mouse movement restored - Inventory screen now does not crash the game, but I'm still trying to make it display 3d objects. *** 2000-12-21 by LSupi - Moved view object from PsGame to PsPlayer. It's more natural for the player to own the view instead of the game. Plus, it is more accessible now. I'm planning to use this accessibility to do the 3d object rendering in the interfaces. - Broke the mouse movement for now. View is not changable either *** 2000-12-10 by LSupi - Make couple changes to the visual c++ project files. The coder now can just compile planeshift project and the project file will compile the necessary dll files. The catch is that the coder have to copy the compiled dll to the planeshift's folder. - Change the menu background. *** 2000-12-07 by lpancallo - updated the code to reflect CS changes (world renamed to engine) *** 2000-12-04 by lpancallo - moved some rules to rules.h & .cpp *** 2000-11-24 by LSupi - Deleted rendwin class. It's now merged with the PsGame class. - Took 2 unnecessary major loops off. - Implemented better menu system in the game. - The 3d screen is now full screen with interfaces overlay the screen. - Some bugs exist in the menu system for now, but will be eradicated soon. - Clean up includes directives. There were a lot redundant includes. NOTE: If u are only making another screen out of PsInterface, 90% of the time you will only need to include cssysdef.h, intrface.h, & the h file for ur file. DON'T put more include directives unless needed. If u do put redundant directives, ur just making the exe file a bloatware. PS: NO includes in header files please. *** 2000-11-22 by LSupi - Added SetDragStyle to 0 to prevent resizing of the interface. - Fixed the library file *** 2000-11-15 by lpancallo - coords for 2d objects for 640x480, adapted code to use GetResRatio...() functions. *** 2000-11-15 bu LSupi - Added a new method to engine to figure out the ratio of the current resolution with 640 x 480. This allows for resolution independent for placing 2d stuff. The createcharacter, createskill, etc classes need to be rewritten a bit to take advantage of this new function. *** 2000-11-14 by lpancallo - Modified skill screen in char creation, now it works! - Modified status.cpp and status.h to reflect PlaneShift skills *** 2000-11-11 by lpancallo - Modified first screen of char creation, to have better layout and correct set of information. - Added right set of stats - Removed newchar screen since it will be the skill screen - Modified rule for adding points and remaining point. *** 2000-11-10 by Lsupi - Edit boxes of csws in the PScreatechararacter and PSCreatenew are now selectable. Dont have to press the mouse button while typing anymore. - planeshift csws code cleanup. - Found something rather distrubing. @ 800x600 resolution, most of the screen with buttons or boxes was messed up. Looks like their location are hard coded instead of relative to the resolution. I'll fix later. - added Inventory and Skills to pskey.cfg. Yeah, u can now press a button to bring up those screens. *** 2000-11-06 by LSupi - Added a new class called PsAnimal. This is the class to derive from if you wanna create an object with animal like characteristics, including human. - move LoadLevel from engine to PsWorld. It seems to be more natural if it exist in the PsWorld. Also, rename it to LoadWorld. - some general code clean up. *** 2000-11-02 by LSupi - Added capability to load model from file. Previously, the model must be included with library file. - PsEntity (and its children) has been changed in NextFrame method. It now has signature (float, float, cdList) - Added ladydeath.spr file. It's a md2 file converted to spr file. Here's the md2 file info regarding the model: Title : Lady Death Model Name : ladydeath Executive Producer : Kyle Bousquet, Interactive Development, Chaos! Comics Model Created by : Paul Steed (psteed@idsoftware.com) Model Animated by : Jade Moffatt (jmoffatt@netcom.ca) Model Skinned by : Alan Yen (alanyen@planetquake.com) Special Thanks to : Chrome Tiger, Radar and Sentinel Date : September 14, 1998 *** 2000-10-31 by Lorlio - Resolved font problems. - Added WIN32_VOLATILE to release compile *** 2000-10-20 by Lorlio - Sarted de skill devlopment screen. in character creation. *** 2000-10-20 by LSupi - update Planeshift for the newest CS. (Namely replace Sprite2D with Pixmap and main & engine function updated a bit for skin). *** 2000-10-20 by Lorlio - Console.h prepared for the skills. *** 2000-10-18 by Lorlio - Somme litle changes on character creation. *** 2000-10-05 by Lorlio - added a menu for new and predef character. - Changed buttons by radiobuttons. - fixed exit error on character creation. *** 2000-10-03 by Wouter - fixed code so that it works with latest CS cvs version, small api change. *** 2000-09-26 by Lorlio - Stats and Race are starting to work. *** 2000-09-26 by Wouter - fixed for changes in lastest CS cvs, the vfs plugin. - fixed CD for player, looks better now. *** 2000-09-21 by Lorlio - Starting a Binding solution for character creation. *** 2000-09-21 by Wouter - Fixed lorlio's addition of right.GIF, to right.gif. Windows users: remember to use only lowercase in filenames, for portability. *** 2000-09-19 by Wouter - trying to fix CD for player, no success. - added the new logo to the main menu. The old ps_small.gif is still usable. - fixed the left button in char creation to have a nicer border - should it be transparent (should the white-border around the left arrow be gone)? *** 2000-09-18 by Wouter - changed \ to / in keyint.h includes. Use / for portability! - removed files that were included twice in splash.cpp and creachar.h, so they are now included only once. Added modifications by Lorlio, he had access problems, what he did was: *** 2000-09-15 by Lorlio - added a litle work of character creation. Just the start. - added somme cool sketch by Sergi *** 2000-09-17 by LSupi - optimize the key interpreter. Now it doesn't use strcmp anymore. (as requested by Ryan) - Add Walk key *** 2000-09-14 by LSupi - added the key interpreter. Now we can configure keyboard input by using cfg file. I still need to add more keys tho since this is still limited. - I did added more stuff. Now it recognize all keyboard keys. - tweaked the movement a bit. Old walkspeed in the psconfig now works again. This time tho the value is much higher, but still produce about the same speed as the original. *** 2000-09-13 by Wouter - model was not centered nicely. Using HardTransform in player.cpp InitCD to set it right. - increased movement speed. *** 2000-09-12 by Wouter - got fixed male model from Randolph, now 1.785m in height, it also displays. ** 2000-09-11 by lsupi - somewhat fixed the movement system. I hope this is what Ryan wants. *** 2000-09-11 by Lorlio - fixed bug in physobj.cpp, the next constant need to be float too. - the make file for Visual c++, works now. *** 2000-09-11 by Wouter - added male sprite to library, and maleskin.jpg, from Randolph. - fixed bug in physobj.cpp, by making constant a float constant. - added player to use the sprite, it does not display however... *** 2000-09-05 by Ryan - Major upgrade to the entity system. Jorrit donated some code to our project that did collision detection and physics and a lot of the other stuff I didn't know how to do (like camera angles and moving models between sectors etc). Thanks Jorrit! So I have it mostly working now. If you are working on anything entity related it probably just broke. - Some problems the camera angle isn't the best and I can really figure out how to change it correctly. - The entity moves with forces which does some weird things like holding down two directions no longer works. We should either fix the forces or or go to a movement vector system. I don't know which is better. - Other things. I added multiple camera angles F1 is FPS style and F2 is 3D overview. - Made the start of a dummy server class. By no means complete add member functions you think it might need. :) - Made the 3d world load after you "connect to the server" we need some sort of a message that says loading or some other clever phrase. It looks like it freezes. *** 2000-09-02 by Ryan - Added doc++ style comments to all the h files. I also wrote a script to upload the files to a web page so they should stay up to date pretty often. When you add a new file or a public function please be sure to document them using doc++ It will be easier for the rest of us. the web page is http://members.home.com/ryan.stallings *** 2000-09-01 by Ryan - fixed a couple of really weird bugs. The first caused whatever window you created first (even if it was hidden) to flash on the screen for a second. - The other was the windows sometimes got confused as to who was visible and who was invisble. I fixed that. - Also fixed the event system to be a little more consistent. *** 2000-08-30 by Wouter - added inventory, spells and skills window. - removed alpha channel from sbar.png - added mock-up background pictures for the inv, spell, skill windows. - statusbar now shows 4 buttons. They work - statusw passes the Event. - mousehandling changed - now always checked, all of the screen, for position, right-clicking only works in the 3d view now. erm. perhaps Ryan and me need to agree where to put that :-) - Ok now both engine (in intrface.h) and client (in game.h) have their own list of csws cmdevents. - fixed for latest CS cvs *** 2000-08-30 by Ryan - Fixed the status bar bug with not handling the events. The event mechanism is kinda hairy and it easy to mess up. I'll post some docs in doc++ on how to use them. - Overloaded the default hide command of the render window to stop the player moving as well. Moved the code that checks the current mouse position to the render window. The player shouldn't ever have to query the mouse. The gui should tell the player where to move. This also allows different types of views (we should probably abstract the camera movement out). - Moved all the cmdEvents to the file intrface.h and made one big enum type of them. That way the all the windows will know about all the events. I think this is probably wrong and they should be split up. I just don't know how and the way they were split up didn't make sense to me. - Changed ESC to back out of the the current menu and ALT-Q to quit. - Added a small FPS counter. Not useful but fun :) *** 2000-08-29 by Wouter - made game canvas unmovable, and improved statusbar (now looks the part, no window-title, etc , etc.) - removed mk/unix/makefile.dep from CVS. You can make one using 'make depend'. - statusbar now has a button, but it does not work. Perhaps due to weirdness in the HandleEvent by psinterface (it has lots of HandleXs). (try pressing 'i' this works until the button starts catching the hotkey). - added inventory window *** 2000-08-27 by Ryan - changed the interface class to be a cswindow and the engine class to be a csapp. - Rewrote all the interfaces to be cswindows. Much cooler. - moved the view out of the engine and into the RenderWindow where it should be. - Nuked my old Window class and status window. They were not needed once we had csws - added a new StatusWindow class and a renderwindow class. Woo Hoo. - pretty much rebuilt the whole user interface. It looks the same but it is more extensible now. *** 2000-08-25 by Ryan - Added two classes. One called Window which is an abstract class and one called status bar which is a subclass of window. The Game now has a list of windows that it draws every time it's draw function is called. See the files on info on how to use these classes. Currently the status bar comes up at the begining of the game. Right now it is just a pixmap (the ok_button :). You can click on it and move it around or right click on it and close it. If you have any questions on how to use this wouter or need more functionality just tell me. *** 2000-08-24 by LSupi - Updated the Visual C+ project files. - Removed mana & health display because it crashes the directx and opengl drivers. Will try to figure out how to solve this. - main.h now has no includes in it. Everything has been moved to its proper places. - fixed iEvent warning (it suppose to be struct). *** 2000-08-22 by Wouter - fixed compilation csEvent->iEvent, csTextureHandle->csTextureWrapper, csMaterialHandle->csMaterialWrapper. *** 2000-08-21 by Wouter - improved splash screen, keys do no longer pass to the menu. - splash screen displayed longer. - added logo image to the menu. *** 2000-08-20 by Wouter Major update, doing: - removing outdated handleMouse and handleKey methods for a better HandleEvent method. - donated menu classes from the Tunnel Fighter project. - made a main menu using those. - unix makefile will now work with an installed version of CrystalSpace (autodetected in /usr/local/cryst or $(CRYSTAL) ) - also runs with installed version of CrystalSpace. - changed mouse movement to something better, also right mousebutton now walks forward. Thus way of handling the mouse allows the user to point and click on a monster for example, or click on a button in the statusbar. - various other fixes. *** 2000-08-15 by Wouter - It now compiles and runs. No CD enabled though. Fixed the FontHandle code for this. *** 2000-08-14 by Wouter - Fixing new problems caused by sound changes. Compiles now. - LIBPATH is now ./art/, it should stay that way - The psclient.cfg file is in the current dir, not with the CS config files, thus /this/psclient.cfg is used. *** 2000-08-12 by Wouter - Fixed more compiler problems, now Materials are used. Only linker errors remain now. - disabled collision detection for now, so that everything can compile. It still needs to be brought to the new CD API, like apps/walktest does it. *** 2000-08-11 by Wouter - moved unix makefiles to mk/unix. They should work on Solaris, Linux, Bsd, ... Also they should work in gnu-environments, like mingw and cygnus. *** 2000-08-10 by Wouter - tried to fix things... *** 2000-08-3 by Wouter - make things compile on unix again. changed #includes to have lower case only. - also commnted out some CollDet code, since CD changed in CS just now. - Also fixed some CD code. - I still get linker errors, but no time now. *** 2000-08-3 by LSupi - added collision detection system to the engine and the player. - entity class and anything derived from it have experienced slight change. - particle system now move. - Tidy things up. *** 2000-08-1 by LSupi - added another VC++ 6 project space. This one should compile if you have crystal space directory in the same folder as the planeshift root directory. *** 2000-07-31 by Wouter - Changed line breaks in psclient.cfg. Hope they are better now. *** 2000-07-31 by lpancallo - ported to Windows, removed unix Style CRLF - changed all Tas(Something) entry to Ps(Something) - added simple VC6 project - added splash class - renamed MgIntro to MgMenu *** 2000-07-27 by Wouter - engine now uses world->GetBeginDrawFlags() which CS requires now. - removed no longer existing call to csWorld::EnableCBuffer. - set binary flags for pictures in art/ - improved makefile *** 2000-07-26 by Wouter Wijngaards - added intial files. The code and some art was kindly contributed by the people of the TAS project (The Amateur Scrolls). - edited the code, changed filenames to conform to stupid 8.3 DOS standard in the code, thus it is now portable to DOS. - also ported the code to linux. Added a Makefile for linux (and many other unices, use gnu make). - Added new startup screen. - created this history file. Please put the most recent changes at the top of the file. - To run the program compile it, then copy all plugins from the CS dir to the planeshift dir, also copy *.cfg from CS to planeshift, then copy CS/data/config/*.cfg to planeshift/data/config/ , creating data and config directory. Also copy CS/data/standard.zip to planeshift/data/standard.zip. All this can be accomplished on Unix by typing 'make copyfiles'. - the executable is named psclient, edit psclient.cfg to set things, like the level to load. Copy this level into the data/ dir for now. - Note that having the data/ dir and copying these files is a temporary measure until CS gains installation capabilities.