So I heard we opened the sauce in order to eat sausages?
As many of you already found out we were planning to make IV:MP an open source project. This means everybody who wants to contribute to this mod is now able to do it.
You may find our all new "GoogleCode" page, where our sourcecode is hosted, by clicking here: code.iv-multiplayer.com
In case you are interested to help you may contact jenksta via forum pm or on IRC.
Going open source does not mean IV:MP will not continue it's regular development releases.
T4 will be released shortly, there is only some testing and bugfixing left before we can finally release this long awaited version.
If you are a little impatient you are also able to download the sourcecode, compile it and use your own compiled version. Just be aware that there is no support for self-compiled versions, although bug reports are appreciated.
You may be interested in what we have done since the last release so here we go:These are the changes that will be visible to the user, alot of IV:MP's core code has been re-written.- Imported alot of code the from N:IV project (http://networked-iv.googlecode.com).
- Disabled the patch to disable the loading screen text to see if it fixes some issues.
- Fixed initial loading screen disabling forcing game loading screens to only show Bernie concept art
- Fixed client-side config loading.
- Add gta files hash check.
- IV:MP now has its own install directory instead of being installed into the GTA IV install
- Client and Server now use network module.
- Added improved credits sequence.
- Server queries now use TCP on (server port + 1) instead of udp on server port.
- Server queries no longer need to have IV:MP prepended to them.
- Added 'query' option the server settings to enable/disable server queries.
- IV:MP no longer depends on the CURL library.
- Re-wrote client script/resource sending.
- Downloaded client scripts/resources now get put in clientfiles directory with type subdirectory.
- Re-wrote vehicle entry/exit handling.
- Added patch to disable DLC selection screen.
- Added patch to disable game web browser creation.
- Fixed alot of crashes with internal game function calls.
- Added various safety checks to code to prevent crashes.
- Models are now loaded/unloaded as needed to save memory.
- Fixed server shut down.
- Added additional characters detection to the client script key press callbacks.
- Added XInput hook for XInput input disabling (Xbox 360 controllers).
- Merged vehicle health with engine health (set/getVehicleEngineHealth is now set/getVehicleHealth).
- Removed use of windows detours.
- Lowered maximum streamed in checkpoints limit for performance reasons.
- Re-wrote screen shot code.
- Renamed 'FPS and Tickrate' settings option to 'Show FPS'.
- Added /dv command to cp.nut script.
- Initial connection screen camera look at is now loaded instantly.
- Added custom player name tags.
- Added set/getVehicleAngular velocity server side.
- Added getVehicleAngularVelocity client side.
- Removed client side SQLite db natives.
- Fixed memory leaks in SQLite and XML natives.
- Added set/getCheckpointType/Position/TargetPosition/Radius natives.
- Re-wrote client and server masterlist code.
- Re-wrote client server query code.
- Optimised the font rendering function.
- Re-wrote the client and server settings code.
- Fixed a crash where any type could be passed to client scripting native addChatMessage.
- Fixed client script gui events being called for all scripts instead of just the script it was created by.
- Fixed a bug where changing models in interiors would cause the interior to be reset.
- Added missing parameter and type checks to some scripting functions.
- Added missing id checks to blip scripting functions.
- Added GUICheckBox::setChecked to go with GUICheckBox::isChecked.
- Added server mkdir native for directory creation.
- Fixed a bug where GUIElement.setProperty would cause a crash if an invalid property was supplied (it now returns false instead).
- Fixed the runcode.nut script.
- Fixed the 'Make the game think we are not connected to the internet' patch.
- Fixed memory leak with the Webserver.
- Fixed potention shutdown crash when an external Webserver is configured.
- Added operating system string to server version string.
- Added exception handler to server (With support for windows and linux).
- Added server rmdir native for directory deletion.
- Added GUIElement::activate/deactivate to client scripting natives.
- Fixed a memory leak with the internal game classes.
- Added server respawnPlayer native.
- Re-wrote parts of the qury system:
-- Query port is now server port + 137 (Will need to be forwarded along with the server port).
-- Added an extra 'ping' item for each player in the player list query (After name, 2 bytes long).
-- Added an extra version query to get the server version (Send a query with the 'v' character).
-- Added 'serverQueryReceived' event which is called when each query is recieved, It expects a return value of either 0, or a string (which will be sent as the query reply).
- Player vehicle entry events are now as follows:
-- vehicleEntryRequest(playerid, vehicleid, seatid) (return 1 to allow, anything other than 1 to disallow) called when a player has pressed the vehicle entry (driver and passenger) key
-- vehicleEntryCancelled(playerid, vehicleid, seatid) called when a player cancels their vehicle entry
-- vehicleEntryComplete(playerid, vehicleid, seatid) called when a player has fully entered a vehicle
-- vehicleExitRequest(playerid, vehicleid, seatid) (return 1 to allow, anything other than 1 todisallow) called when a player has pressed the vehicle exit key
-- vehicleExitComplete(playerid, vehicleid, seatid) called when a player has fully exited a vehicle
-- vehicleForcefulExit(playerid, vehicleid, seatid) called when a player forcefully exits a vehicle (falls off a bike, flies out of the windscreen, gets dragged out, e.t.c.) if a vehicle is semi-locked and a player enters it the vehicle will be unlocked server-side