All Projects → mafia2online → m2sdk

mafia2online / m2sdk

Licence: Apache-2.0 license
Software Development Kit for the Steam version of Mafia2.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to m2sdk

R3ditor
An open-source project created to reverse-engineering some Resident Evil 3 files
Stars: ✭ 19 (+0%)
Mutual labels:  modding, modding-tools
FFXIV Modding Tool
FFXIV Modding Tool is the Cross-platform Commandline interface alternative for TexTools
Stars: ✭ 39 (+105.26%)
Mutual labels:  modding, modding-tools
Centrifuge
Cross-platform runtime mod loader and API for any Unity-based game. Supports Unity 5 and up!
Stars: ✭ 27 (+42.11%)
Mutual labels:  modding, modding-tools
HLADM
Half-Life: Alyx: Deathmatch
Stars: ✭ 24 (+26.32%)
Mutual labels:  modding, multiplayer
botw-editor
The Legend of Zelda: Breath of the Wild - Editor
Stars: ✭ 27 (+42.11%)
Mutual labels:  modding, modding-tools
dog-scepter
A work-in-progress modding tool geared toward UNDERTALE/DELTARUNE
Stars: ✭ 32 (+68.42%)
Mutual labels:  modding, modding-tools
ModdingDiablo2Resurrected
This repository contains some tools and guides on modding Diablo 2 Resurrected.
Stars: ✭ 75 (+294.74%)
Mutual labels:  modding, modding-tools
OpenIV-Languages
Repository for OpenIV localisation files and stuff
Stars: ✭ 28 (+47.37%)
Mutual labels:  modding, modding-tools
FishFight
Tactical 2D shooter in fishy pixels style. Made with Rust-lang and Macroquad 🦀🌶
Stars: ✭ 631 (+3221.05%)
Mutual labels:  modding, multiplayer
botw-modding
The Legend of Zelda: Breath of the Wild - Modding Documentation and Tools
Stars: ✭ 51 (+168.42%)
Mutual labels:  modding, modding-tools
XLMultiplayer
Skater XL Multiplayer mod by silentbaws
Stars: ✭ 29 (+52.63%)
Mutual labels:  modding, multiplayer
Oxide.GettingOverItMP
A multiplayer mod for the game Getting Over It with Bennett Foddy, powered by the Oxide modding framework
Stars: ✭ 33 (+73.68%)
Mutual labels:  modding, multiplayer
ME3ModManager
Legacy mod manager for Mass Effect 3 (superceded by ME3Tweaks Mod Manager)
Stars: ✭ 17 (-10.53%)
Mutual labels:  modding, modding-tools
RAGE-StringsDatabase
This repository contains known string lines and file names for RAGE based games (GTA IV, GTA V, RDR 2)
Stars: ✭ 26 (+36.84%)
Mutual labels:  modding, modding-tools
MafiaMP
Multiplayer experience for Mafia: Definitive Edition
Stars: ✭ 31 (+63.16%)
Mutual labels:  modding, multiplayer
MassEffectModder
Mass Effect Modder (MEM)
Stars: ✭ 64 (+236.84%)
Mutual labels:  modding, modding-tools
MPPatch
Patch for Civilization V to allow modded multiplayer. Currently under development.
Stars: ✭ 31 (+63.16%)
Mutual labels:  modding, multiplayer
pax
📦 The MC modpack manager for professionals.
Stars: ✭ 83 (+336.84%)
Mutual labels:  modding, modding-tools
ThunderKit
Mod Project Development Environment for Unity and Unity Games
Stars: ✭ 64 (+236.84%)
Mutual labels:  modding, modding-tools
OnsetLuaScripts
Example Lua scripts for Onset for you to learn from.
Stars: ✭ 57 (+200%)
Mutual labels:  modding, multiplayer

m2sdk

This is a repo, containing up-to-date results of game research information provided in form of C++ header-only library. By publishing this repo, we are hoping to find and attract more people that are interested in the Mafia 2 researching/modding/reversing, and possibly even contributing to make this thing even better.

This sdk support only steam version of the game.

Prjects using this library:

  • Mafia 2 Online

Installtion

$ git clone [email protected]:mafia2online/m2sdk.git
#define MAFIA_SDK_IMPLEMENTATION
#include <m2sdk/m2sdk.h>

And add lib/m2sdk.lib to your linker.

Usage

#include <stdio.h>
#include <m2sdk/m2sdk.h>

void pluginRegisterCallback() {
    printf("game pre init !\n");

    M2::AttachHandler(M2_EVENT_CAR_ENTER, [](m2sdk_event *data) {
        auto player = (M2::C_Player2 *)data->arg1;
        auto car    = (M2::C_Car *)data->arg2;
        auto seat   = (int)data->arg3;

        printf("[game-event] ped entering the car on seat: %d\n", seat);
    });
}

BOOL APIENTRY DllMain(HMODULE module, DWORD  reason, LPVOID lpReserved) {
    switch (reason) {
        case DLL_PROCESS_ATTACH: {
            M2::Initialize(pluginRegisterCallback);
        }

        break;
    }
};

Structure

Code devided into 3 different categories, by folders:

  • classes - partially reversed game classes
  • wrappers - lightweight wrappers around game classes to make things simplier to work w/
  • utils - that is obvious

Contributing

All contributions are highly welcomed! Feel free to suggest fixes, features, improvements. And, of course, pull requests, we love 'em! ;)

License

Project is licensed under Apache 2.0 license. You can check it out there.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].