mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-10 02:31:03 +00:00
[Quest API] Use binding library for perl apis (#2216)
* Add perlbind library * Convert perl apis to perlbind
This commit is contained in:
+48
-68
@@ -33,6 +33,31 @@
|
||||
|
||||
extern Zone *zone;
|
||||
|
||||
#ifdef EMBPERL_XS
|
||||
void perl_register_quest();
|
||||
#ifdef EMBPERL_XS_CLASSES
|
||||
void perl_register_mob();
|
||||
void perl_register_npc();
|
||||
void perl_register_client();
|
||||
void perl_register_corpse();
|
||||
void perl_register_entitylist();
|
||||
void perl_register_perlpacket();
|
||||
void perl_register_group();
|
||||
void perl_register_raid();
|
||||
void perl_register_inventory();
|
||||
void perl_register_questitem();
|
||||
void perl_register_spell();
|
||||
void perl_register_hateentry();
|
||||
void perl_register_object();
|
||||
void perl_register_doors();
|
||||
void perl_register_expedition();
|
||||
void perl_register_expedition_lock_messages();
|
||||
#ifdef BOTS
|
||||
void perl_register_bot();
|
||||
#endif // BOTS
|
||||
#endif // EMBPERL_XS_CLASSES
|
||||
#endif // EMBPERL_XS
|
||||
|
||||
const char *QuestEventSubroutines[_LargestEventID] = {
|
||||
"EVENT_SAY",
|
||||
"EVENT_ITEM",
|
||||
@@ -804,7 +829,7 @@ int PerlembParser::SendCommands(
|
||||
perl->eval(cmd.c_str());
|
||||
|
||||
#ifdef EMBPERL_XS_CLASSES
|
||||
|
||||
dTHX;
|
||||
{
|
||||
std::string cl = (std::string) "$" + (std::string) pkgprefix + (std::string) "::client";
|
||||
std::string np = (std::string) "$" + (std::string) pkgprefix + (std::string) "::npc";
|
||||
@@ -946,76 +971,31 @@ int PerlembParser::SendCommands(
|
||||
|
||||
void PerlembParser::MapFunctions()
|
||||
{
|
||||
dTHX;
|
||||
_empty_sv = newSV(0);
|
||||
|
||||
perl->eval(
|
||||
"{"
|
||||
"package quest;"
|
||||
"&boot_quest;" //load our quest XS
|
||||
#ifdef EMBPERL_XS_CLASSES
|
||||
"package Mob;"
|
||||
"&boot_Mob;" //load our Mob XS
|
||||
|
||||
"package Client;"
|
||||
"our @ISA = qw(Mob);" //client inherits mob.
|
||||
"&boot_Mob;" //load our Mob XS
|
||||
"&boot_Client;" //load our Client XS
|
||||
|
||||
"package NPC;"
|
||||
"our @ISA = qw(Mob);" //NPC inherits mob.
|
||||
"&boot_Mob;" //load our Mob XS
|
||||
"&boot_NPC;" //load our NPC XS
|
||||
|
||||
"package Corpse;"
|
||||
"our @ISA = qw(Mob);" //Corpse inherits mob.
|
||||
"&boot_Mob;" //load our Mob XS
|
||||
"&boot_Corpse;" //load our Mob XS
|
||||
|
||||
"package EntityList;"
|
||||
"&boot_EntityList;" //load our EntityList XS
|
||||
|
||||
"package PerlPacket;"
|
||||
"&boot_PerlPacket;" //load our PerlPacket XS
|
||||
|
||||
"package Group;"
|
||||
"&boot_Group;" //load our Group XS
|
||||
|
||||
"package Raid;"
|
||||
"&boot_Raid;" //load our Raid XS
|
||||
|
||||
"package Inventory;"
|
||||
"&boot_Inventory;" // load inventory XS
|
||||
|
||||
"package QuestItem;"
|
||||
"&boot_QuestItem;" // load quest Item XS
|
||||
|
||||
"package Spell;"
|
||||
"&boot_Spell;" // load quest Spell XS
|
||||
|
||||
"package HateEntry;"
|
||||
"&boot_HateEntry;" // load quest Hate XS
|
||||
|
||||
"package Object;"
|
||||
"&boot_Object;" // load quest Object XS
|
||||
|
||||
"package Doors;"
|
||||
"&boot_Doors;" // load quest Doors XS
|
||||
|
||||
"package Expedition;"
|
||||
"&boot_Expedition;"
|
||||
|
||||
perl_register_quest();
|
||||
#ifdef EMBPERL_XS_CLASSES
|
||||
perl_register_mob();
|
||||
perl_register_npc();
|
||||
perl_register_client();
|
||||
perl_register_corpse();
|
||||
perl_register_entitylist();
|
||||
perl_register_perlpacket();
|
||||
perl_register_group();
|
||||
perl_register_raid();
|
||||
perl_register_inventory();
|
||||
perl_register_questitem();
|
||||
perl_register_spell();
|
||||
perl_register_hateentry();
|
||||
perl_register_object();
|
||||
perl_register_doors();
|
||||
perl_register_expedition();
|
||||
perl_register_expedition_lock_messages();
|
||||
#ifdef BOTS
|
||||
"package Bot;"
|
||||
"our @ISA = qw(NPC);" // Bot inherits NPC
|
||||
"&boot_Mob;" // load our Mob XS
|
||||
"&boot_NPC;" // load our NPC XS
|
||||
"&boot_Bot;" // load our Bot XS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
"package main;"
|
||||
"}"
|
||||
);
|
||||
perl_register_bot();
|
||||
#endif // BOTS
|
||||
#endif // EMBPERL_XS_CLASSES
|
||||
}
|
||||
|
||||
void PerlembParser::GetQuestTypes(
|
||||
|
||||
Reference in New Issue
Block a user