mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
parent
bc4679d2e0
commit
e24431928c
5 changed files with 81 additions and 1 deletions
|
|
@ -849,6 +849,8 @@ const char* DynOS_Builtin_Actor_GetFromData(const GeoLayout* aData);
|
|||
const GeoLayout* DynOS_Builtin_Actor_GetFromIndex(s32 aIndex);
|
||||
const char* DynOS_Builtin_Actor_GetNameFromIndex(s32 aIndex);
|
||||
s32 DynOS_Builtin_Actor_GetCount();
|
||||
const MacroObject* DynOS_Builtin_LvlMacro_GetFromName(const char* aDataName);
|
||||
const char* DynOS_Builtin_LvlMacro_GetFromData(const MacroObject* aData);
|
||||
const GeoLayout* DynOS_Builtin_LvlGeo_GetFromName(const char* aDataName);
|
||||
const char* DynOS_Builtin_LvlGeo_GetFromData(const GeoLayout* aData);
|
||||
const Collision* DynOS_Builtin_Col_GetFromName(const char* aDataName);
|
||||
|
|
|
|||
|
|
@ -1919,6 +1919,12 @@ static BehaviorScript ParseBehaviorScriptSymbolArgInternal(GfxData *aGfxData, Da
|
|||
return (BehaviorScript)builtinActor;
|
||||
}
|
||||
|
||||
// Built-in Lvl Macros
|
||||
auto builtinLvlMacro = DynOS_Builtin_LvlMacro_GetFromName(_Arg.begin());
|
||||
if (builtinLvlMacro != NULL) {
|
||||
return (BehaviorScript)builtinLvlMacro;
|
||||
}
|
||||
|
||||
// Built-in Lvl Geos
|
||||
auto builtinGeo = DynOS_Builtin_LvlGeo_GetFromName(_Arg.begin());
|
||||
if (builtinGeo != NULL) {
|
||||
|
|
|
|||
|
|
@ -495,6 +495,12 @@ static LevelScript ParseLevelScriptSymbolArgInternal(GfxData* aGfxData, DataNode
|
|||
return (LevelScript)builtinActor;
|
||||
}
|
||||
|
||||
// Built-in Lvl Macros
|
||||
auto builtinLvlMacro = DynOS_Builtin_LvlMacro_GetFromName(_Arg.begin());
|
||||
if (builtinLvlMacro != NULL) {
|
||||
return (LevelScript)builtinLvlMacro;
|
||||
}
|
||||
|
||||
// Built-in Lvl Geos
|
||||
auto builtinGeo = DynOS_Builtin_LvlGeo_GetFromName(_Arg.begin());
|
||||
if (builtinGeo != NULL) {
|
||||
|
|
|
|||
|
|
@ -136,6 +136,12 @@ static PointerData GetDataFromPointer(const void* aPtr, GfxData* aGfxData) {
|
|||
return { builtinActor, 0 };
|
||||
}
|
||||
|
||||
// Built-in Level Macros
|
||||
auto builtinLvlMacro = DynOS_Builtin_LvlMacro_GetFromData((const MacroObject*)aPtr);
|
||||
if (builtinLvlMacro != NULL) {
|
||||
return { builtinLvlMacro, 0 };
|
||||
}
|
||||
|
||||
// Built-in Lvl Geos
|
||||
auto builtinGeo = DynOS_Builtin_LvlGeo_GetFromData((const GeoLayout*)aPtr);
|
||||
if (builtinGeo != NULL) {
|
||||
|
|
@ -404,6 +410,12 @@ static void *GetPointerFromData(GfxData *aGfxData, const String &aPtrName, u32 a
|
|||
return (void*)builtinActor;
|
||||
}
|
||||
|
||||
// Built-in Lvl Macros
|
||||
auto builtinLvlMacro = DynOS_Builtin_LvlMacro_GetFromName(aPtrName.begin());
|
||||
if (builtinLvlMacro != NULL) {
|
||||
return (void*)builtinLvlMacro;
|
||||
}
|
||||
|
||||
// Built-in Lvl Geos
|
||||
auto builtinGeo = DynOS_Builtin_LvlGeo_GetFromName(aPtrName.begin());
|
||||
if (builtinGeo != NULL) {
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ extern "C" {
|
|||
#include "levels/bits/header.h"
|
||||
#include "levels/bob/header.h"
|
||||
#include "levels/bowser_1/header.h"
|
||||
#include "levels/wdw/header.h"
|
||||
#include "levels/bowser_2/header.h"
|
||||
#include "levels/bowser_2/header.h"
|
||||
#include "levels/bowser_3/header.h"
|
||||
|
|
@ -441,6 +442,59 @@ s32 DynOS_Builtin_Actor_GetCount() {
|
|||
return sizeof(sDynosBuiltinActors) / (2 * sizeof(sDynosBuiltinActors[0]));
|
||||
}
|
||||
|
||||
|
||||
//////////////////
|
||||
// Level Macros //
|
||||
//////////////////
|
||||
|
||||
static const void* sDynosBuiltinLvlMacros[] = {
|
||||
define_builtin(bbh_seg7_macro_objs),
|
||||
define_builtin(bitdw_seg7_macro_objs),
|
||||
define_builtin(bitfs_seg7_macro_objs),
|
||||
define_builtin(bits_seg7_macro_objs),
|
||||
define_builtin(bob_seg7_macro_objs),
|
||||
define_builtin(castle_courtyard_seg7_macro_objs),
|
||||
define_builtin(castle_grounds_seg7_macro_objs),
|
||||
define_builtin(ccm_seg7_area_1_macro_objs),
|
||||
define_builtin(ccm_seg7_area_2_macro_objs),
|
||||
define_builtin(cotmc_seg7_macro_objs),
|
||||
define_builtin(ddd_seg7_area_1_macro_objs),
|
||||
define_builtin(ddd_seg7_area_2_macro_objs),
|
||||
define_builtin(hmc_seg7_macro_objs),
|
||||
define_builtin(jrb_seg7_area_1_macro_objs),
|
||||
define_builtin(jrb_seg7_area_2_macro_objs),
|
||||
define_builtin(lll_seg7_area_1_macro_objs),
|
||||
define_builtin(lll_seg7_area_2_macro_objs),
|
||||
define_builtin(pss_seg7_macro_objs),
|
||||
define_builtin(rr_seg7_macro_objs),
|
||||
define_builtin(sa_seg7_macro_objs),
|
||||
define_builtin(sl_seg7_area_1_macro_objs),
|
||||
define_builtin(sl_seg7_area_2_macro_objs),
|
||||
define_builtin(ssl_seg7_area_1_macro_objs),
|
||||
define_builtin(ssl_seg7_area_2_macro_objs),
|
||||
define_builtin(ssl_seg7_area_3_macro_objs),
|
||||
define_builtin(thi_seg7_area_1_macro_objs),
|
||||
define_builtin(thi_seg7_area_2_macro_objs),
|
||||
define_builtin(thi_seg7_area_3_macro_objs),
|
||||
define_builtin(totwc_seg7_macro_objs),
|
||||
define_builtin(ttc_seg7_macro_objs),
|
||||
define_builtin(ttm_seg7_area_1_macro_objs),
|
||||
define_builtin(ttm_seg7_area_2_macro_objs),
|
||||
define_builtin(vcutm_seg7_macro_objs),
|
||||
define_builtin(wdw_seg7_area_1_macro_objs),
|
||||
define_builtin(wdw_seg7_area_2_macro_objs),
|
||||
define_builtin(wf_seg7_macro_objs),
|
||||
define_builtin(wmotr_seg7_macro_objs),
|
||||
};
|
||||
|
||||
const MacroObject* DynOS_Builtin_LvlMacro_GetFromName(const char* aDataName) {
|
||||
MGR_FIND_DATA(sDynosBuiltinLvlMacros, (const MacroObject*));
|
||||
}
|
||||
|
||||
const char* DynOS_Builtin_LvlMacro_GetFromData(const MacroObject* aData) {
|
||||
MGR_FIND_NAME(sDynosBuiltinLvlMacros);
|
||||
}
|
||||
|
||||
////////////////
|
||||
// Level Geos //
|
||||
////////////////
|
||||
|
|
@ -2002,4 +2056,4 @@ s32 DynOS_Builtin_Func_GetIndexFromData(const void* aData) {
|
|||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue