This wiki is archived and useful information is being migrated to the main bzflag.org website

Editing BZFS API 2.4 Upgrade

Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: Archived wiki

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 17: Line 17:
  
 
===Player Records===
 
===Player Records===
The [[bz_PlayerRecord]] has been replaced with [[bz_BasePlayerRecord]] to allow for future derivation. Some of its members have been changed, mostly notably the player position information is now part of the '''lastKnownState''' member of type [[bz_PlayerUpdateState]]. This structure contains much more information about the player state.
+
The [[bz_PlayerRecord]] has been replaced with [[bz_BasePlayerRecord]] to allow for future derivation. Some of it's members have been changed, mostly notably the player position information is now part of the '''lastKnownState''' member of type [[bz_PlayerUpdateState]]. This structure contains much more information about the player state.
  
 
==Entry Points==
 
==Entry Points==
Line 59: Line 59:
  
 
==Events==
 
==Events==
Every plug-in now has a single callback method for all events that it registers. The functions [[bz_registerEvent]] and [[bz_removeEvent]] have been removed from the API. In their place the [[bz_Plugin]] class now implements its own '''Register''' and '''Remove''' methods.  
+
Every plug-in now has a single callback method for all events that it registers. The functions [[bz_registerEvent]] and [[bz_removeEvent]] have been removed from the API. In there place the [[bz_Plugin]] class now implements it's own '''Register''' and '''Remove''' methods.  
  
 
These methods only take an event type and do not need a separate handler class, they will always use the '''Event''' method of the calling class.
 
These methods only take an event type and do not need a separate handler class, they will always use the '''Event''' method of the calling class.
Line 105: Line 105:
 
* Change the '''handle''' method in any bz_CustomMapObjectInfo to '''MapObject'''
 
* Change the '''handle''' method in any bz_CustomMapObjectInfo to '''MapObject'''
 
* Find the bz_Load callback and replace it with the '''Init''' method from the plug-in class.
 
* Find the bz_Load callback and replace it with the '''Init''' method from the plug-in class.
* Replace calls to '''bz_registerEvent''' with calls to '''Register''', and remove the second parameter.
+
* Replace calls to '''bz_registerEventHandler''' with calls to '''Register''', and remove the second parameter.
* If the plug-in used custom slash commands or custom map objects that need to be cleaned up then implement the '''Cleanup''' method for the plug-in class and replace the bz_Unload Callback with it. Calls to '''bz_removeEvent''' can be removed, and the method Flush can be called once for all events. If the plug-in only registers events then the bz_Unload callback can be removed.
+
* If the plug-in used custom slash commands or custom map objects that need to be cleaned up then implement the '''Cleanup''' method for the plug-in class and replace the bz_Unload Callback with it. Calls to '''bz_removeEventHandler''' can be removed, and the method Flush can be called once for all events. If the plug-in only registers events then the bz_Unload callback can be removed.
 
* Replace the following.
 
* Replace the following.
 
  # '''bzApiString''' with '''bz_ApiString'''
 
  # '''bzApiString''' with '''bz_ApiString'''
  # '''bzAPIIntList''' with '''bz_APIIntList'''
+
  # '''bzAPIIntList''' with '''bz_APIIntList'''  
  # '''bzAPIFloatList''' with '''bz_APIFloatList'''
+
  # '''bzAPIFloatList''' with '''bz_APIFloatList'''  
  # '''bzAPIStringList''' with '''bz_APIStringList'''
+
  # '''bzAPIStringList''' with '''bz_APIStringList'''  
# '''bz_PlayerRecord''' with '''bz_BasePlayerRecord'''
+
  
 
* Add '''_V1''' to all event data classes, and adjust calls to members as needed, time to eventTime, etc...
 
* Add '''_V1''' to all event data classes, and adjust calls to members as needed, time to eventTime, etc...

Please note that all contributions to BZFlagWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BZFlagWiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)