├── .gitignore ├── LICENSE ├── README.md ├── framework ├── include │ ├── acmd_wrapper.h │ ├── app │ │ ├── FL_sv_module_access.h │ │ ├── common.txt │ │ ├── lua_bind.h │ │ ├── lua_bind.txt │ │ ├── lua_bind │ │ │ ├── AbsorberModule.h │ │ │ ├── AreaContactLog.h │ │ │ ├── AreaModule.h │ │ │ ├── Article.h │ │ │ ├── ArticleModule.h │ │ │ ├── AttackAbsoluteData.h │ │ │ ├── AttackData.h │ │ │ ├── AttackModule.h │ │ │ ├── BattleObjectManager.h │ │ │ ├── BattleObjectSlow.h │ │ │ ├── BattleObjectWorld.h │ │ │ ├── BossManager.h │ │ │ ├── CameraModule.h │ │ │ ├── CancelModule.h │ │ │ ├── CaptureModule.h │ │ │ ├── CatchModule.h │ │ │ ├── Circle.h │ │ │ ├── ColorBlendModule.h │ │ │ ├── ComboModule.h │ │ │ ├── ControlModule.h │ │ │ ├── DamageInfo.h │ │ │ ├── DamageLog.h │ │ │ ├── DamageModule.h │ │ │ ├── EffectModule.h │ │ │ ├── FighterAreaModuleImpl.h │ │ │ ├── FighterBayonettaFinalModule.h │ │ │ ├── FighterCloudLinkEventFinal.h │ │ │ ├── FighterControlModuleImpl.h │ │ │ ├── FighterCutInManager.h │ │ │ ├── FighterEntry.h │ │ │ ├── FighterInformation.h │ │ │ ├── FighterInklingLinkEventPaint.h │ │ │ ├── FighterKineticEnergyController.h │ │ │ ├── FighterKineticEnergyGravity.h │ │ │ ├── FighterKineticEnergyMotion.h │ │ │ ├── FighterManager.h │ │ │ ├── FighterMotionModuleImpl.h │ │ │ ├── FighterParamAccessor2.h │ │ │ ├── FighterPikminLinkEventWeaponPikminChangeMotion.h │ │ │ ├── FighterPikminLinkEventWeaponPikminChangeStatus.h │ │ │ ├── FighterPikminLinkEventWeaponPikminConstraint.h │ │ │ ├── FighterPikminLinkEventWeaponPikminOnFlag.h │ │ │ ├── FighterPikminLinkEventWeaponPikminSetFloat.h │ │ │ ├── FighterPikminLinkEventWeaponPikminSetInt.h │ │ │ ├── FighterPikminLinkEventWeaponPikminSetPowerMulStatus.h │ │ │ ├── FighterPikminLinkEventWeaponPikminSyncLR.h │ │ │ ├── FighterPikminLinkEventWeaponPikminSyncPos.h │ │ │ ├── FighterPitBFinalModule.h │ │ │ ├── FighterPokemonLinkEventChange.h │ │ │ ├── FighterRidleyLinkEventMotion.h │ │ │ ├── FighterRyuLinkEventFinalDeadDamage.h │ │ │ ├── FighterRyuLinkEventFinalMoveTarget.h │ │ │ ├── FighterSpiritsSupportSkill.h │ │ │ ├── FighterStatusModuleImpl.h │ │ │ ├── FighterStopModuleImpl.h │ │ │ ├── FighterWorkModuleImpl.h │ │ │ ├── GimmickEvent.h │ │ │ ├── GimmickEventBarrel.h │ │ │ ├── GimmickEventCatch.h │ │ │ ├── GimmickEventDrumCheckNeedHide.h │ │ │ ├── GimmickEventDrumCheckNeedLock.h │ │ │ ├── GimmickEventDrumEscape.h │ │ │ ├── GimmickEventDrumPos.h │ │ │ ├── GimmickEventDrumRelease.h │ │ │ ├── GimmickEventDrumShake.h │ │ │ ├── GimmickEventLadder.h │ │ │ ├── GimmickEventNotify.h │ │ │ ├── GimmickEventPipe.h │ │ │ ├── GimmickEventPos.h │ │ │ ├── GimmickEventPresenter.h │ │ │ ├── GimmickEventSlashEscape.h │ │ │ ├── GimmickEventSlashLockInfo.h │ │ │ ├── GimmickEventSpring.h │ │ │ ├── GimmickEventTornadoEscape.h │ │ │ ├── GimmickEventTornadoMoveInfo.h │ │ │ ├── GimmickEventTornadoShootInfo.h │ │ │ ├── GimmickEventWarp.h │ │ │ ├── GrabModule.h │ │ │ ├── GroundModule.h │ │ │ ├── HitModule.h │ │ │ ├── InkPaintModule.h │ │ │ ├── Item.h │ │ │ ├── ItemCameraModuleImpl.h │ │ │ ├── ItemDamageModuleImpl.h │ │ │ ├── ItemInkPaintModuleImpl.h │ │ │ ├── ItemKineticModuleImpl.h │ │ │ ├── ItemManager.h │ │ │ ├── ItemModule.h │ │ │ ├── ItemMotionAnimcmdModuleImpl.h │ │ │ ├── ItemParamAccessor.h │ │ │ ├── JostleModule.h │ │ │ ├── KineticEnergy.h │ │ │ ├── KineticEnergyNormal.h │ │ │ ├── KineticEnergyRotNormal.h │ │ │ ├── KineticModule.h │ │ │ ├── LinkEvent.h │ │ │ ├── LinkEventCapture.h │ │ │ ├── LinkEventCaptureDriver.h │ │ │ ├── LinkEventCaptureFishingrodDamage.h │ │ │ ├── LinkEventCaptureItem.h │ │ │ ├── LinkEventCaptureMimikkyu.h │ │ │ ├── LinkEventCapturePulled.h │ │ │ ├── LinkEventFinal.h │ │ │ ├── LinkEventLassoHang.h │ │ │ ├── LinkEventMask.h │ │ │ ├── LinkEventPos.h │ │ │ ├── LinkEventStarShot.h │ │ │ ├── LinkEventThrow.h │ │ │ ├── LinkEventTouchItem.h │ │ │ ├── LinkEventYoshiTamagoDamageEffect.h │ │ │ ├── LinkModule.h │ │ │ ├── LuaModule.h │ │ │ ├── ModelModule.h │ │ │ ├── MotionAnimcmdModule.h │ │ │ ├── MotionModule.h │ │ │ ├── OnCalcParamEvent.h │ │ │ ├── PhysicsModule.h │ │ │ ├── PostureModule.h │ │ │ ├── ReflectModule.h │ │ │ ├── ReflectorModule.h │ │ │ ├── Rhombus2.h │ │ │ ├── SearchModule.h │ │ │ ├── ShadowModule.h │ │ │ ├── ShakeModule.h │ │ │ ├── ShieldModule.h │ │ │ ├── SlopeModule.h │ │ │ ├── SlowModule.h │ │ │ ├── SoundModule.h │ │ │ ├── StageManager.h │ │ │ ├── StatusModule.h │ │ │ ├── StopModule.h │ │ │ ├── TeamModule.h │ │ │ ├── TurnModule.h │ │ │ ├── VisibilityModule.h │ │ │ ├── Weapon.h │ │ │ ├── WeaponKineticEnergyGravity.h │ │ │ ├── WeaponRobotHominglaserLinkEventBurst.h │ │ │ ├── WeaponRobotHominglaserLinkEventSearch.h │ │ │ ├── WeaponShizueFishingrodLinkEventCliff.h │ │ │ ├── WeaponShizueFishingrodLinkEventCut.h │ │ │ ├── WeaponShizueFishingrodLinkEventReel.h │ │ │ ├── WeaponShizueFishingrodLinkEventShoot.h │ │ │ ├── WeaponSnakeMissileKineticEnergyNormal.h │ │ │ ├── WeaponSnakeNikitaMissileKineticEnergyNormal.h │ │ │ ├── WorkModule.h │ │ │ ├── lib.h │ │ │ └── stWaterAreaInfo.h │ │ ├── lua_bind_700.txt │ │ ├── sv_animcmd.h │ │ ├── sv_battle_object.h │ │ ├── sv_kinetic_energy.h │ │ ├── sv_math.h │ │ ├── sv_module_access.h │ │ └── sv_system.h │ ├── lib │ │ ├── l2c_imports.h │ │ └── lua_bind_hash.h │ ├── missing_types.h │ ├── phx │ │ └── phx.hpp │ ├── saltysd │ │ ├── nn_ro.h │ │ ├── saltysd_core.h │ │ ├── saltysd_dynamic.h │ │ ├── saltysd_helper.h │ │ └── saltysd_ipc.h │ ├── useful │ │ ├── const_value_table.h │ │ ├── crc32.h │ │ ├── raygun_printer.h │ │ └── useful.h │ └── wrapper.hpp └── source │ ├── acmd_wrapper.cpp │ ├── imports │ └── lib │ │ ├── l2c_imports.cpp │ │ └── lua_bind_hash.cpp │ ├── saltysd │ └── saltysd_helper.cpp │ └── useful │ └── raygun_printer.cpp └── lib └── libnx_min ├── CODESTYLE.md ├── Changelog.md ├── LICENSE.md ├── Makefile ├── README.md └── nx ├── default_icon.jpg ├── include ├── switch_min.h └── switch_min │ ├── applets │ ├── error.h │ ├── libapplet.h │ ├── pctlauth.h │ └── swkbd.h │ ├── arm │ ├── atomics.h │ ├── cache.h │ ├── counter.h │ ├── thread_context.h │ └── tls.h │ ├── audio │ ├── audio.h │ └── driver.h │ ├── crypto │ ├── aes.h │ ├── aes_cbc.h │ ├── aes_ctr.h │ ├── aes_xts.h │ ├── cmac.h │ ├── crc.h │ ├── hmac.h │ ├── sha1.h │ └── sha256.h │ ├── kernel │ ├── barrier.h │ ├── condvar.h │ ├── detect.h │ ├── event.h │ ├── ipc.h │ ├── jit.h │ ├── mutex.h │ ├── random.h │ ├── rwlock.h │ ├── semaphore.h │ ├── shmem.h │ ├── svc.h │ ├── thread.h │ ├── tmem.h │ ├── uevent.h │ ├── utimer.h │ ├── virtmem.h │ └── wait.h │ ├── nacp.h │ ├── nro.h │ ├── result.h │ ├── runtime │ ├── devices │ │ ├── console.h │ │ ├── fs_dev.h │ │ ├── romfs_dev.h │ │ └── socket.h │ ├── env.h │ ├── hosversion.h │ ├── threadvars.h │ └── util │ │ └── utf.h │ ├── services │ ├── acc.h │ ├── apm.h │ ├── applet.h │ ├── bsd.h │ ├── fatal.h │ ├── fs.h │ ├── fsldr.h │ ├── fspr.h │ ├── hid.h │ ├── hiddbg.h │ ├── hidsys.h │ ├── irs.h │ ├── lbl.h │ ├── ldr.h │ ├── ncm.h │ ├── nfc.h │ ├── nifm.h │ ├── ns.h │ ├── pctl.h │ ├── pl.h │ ├── pm.h │ ├── psc.h │ ├── psm.h │ ├── ro.h │ ├── set.h │ ├── sfdnsres.h │ ├── sm.h │ ├── smm.h │ ├── spsm.h │ ├── time.h │ └── wlaninf.h │ └── types.h ├── lib ├── libnx_min.a └── libnx_mind.a ├── switch.ld ├── switch.specs └── switch_rules /.gitignore: -------------------------------------------------------------------------------- 1 | **/*.elf 2 | *.elf 3 | **/*.o 4 | **/*.d 5 | build/ 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Smash Ultimate Research Group 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ultimate Code Mod Framework 2 | 3 | A C project framework/template for those starting off with function replacement through SaltyNX. 4 | 5 | ## What it provides: 6 | 7 | * The ability to replace functions with C reimplementations on runtime, either by symbol or by non-relocated address 8 | * An IMPORT macro for automatically getting a relocated addresses from a non-relocated address 9 | * A project set up for devkitpro targetting SaltyNX's plugin setup 10 | * A set of lua2cpp and ACMD imports for calling back to the base game's functions 11 | 12 | Please read [the wiki](https://github.com/ultimate-research/code-mod-framework/wiki) for guides and more information on getting started. -------------------------------------------------------------------------------- /framework/include/app/FL_sv_module_access.h: -------------------------------------------------------------------------------- 1 | #ifndef APP_FL_SV_MODULE_ACCESS_H 2 | #define APP_FL_SV_MODULE_ACCESS_H 3 | 4 | #include 5 | #include "useful/useful.h" 6 | 7 | namespace app::FL_sv_module_access { 8 | extern void slope(u64) asm("_ZN3app19FL_sv_module_access5slopeEP9lua_State") LINKABLE; 9 | extern void capture(u64) asm("_ZN3app19FL_sv_module_access7captureEP9lua_State") LINKABLE; 10 | extern void link(u64) asm("_ZN3app19FL_sv_module_access4linkEP9lua_State") LINKABLE; 11 | } 12 | 13 | #endif -------------------------------------------------------------------------------- /framework/include/app/common.txt: -------------------------------------------------------------------------------- 1 | AbsorberModule.h 2 | AreaModule.h 3 | ArticleModule.h 4 | AttackModule.h 5 | CameraModule.h 6 | CancelModule.h 7 | CaptureModule.h 8 | CatchModule.h 9 | ColorBlendModule.h 10 | ComboModule.h 11 | ControlModule.h 12 | DamageModule.h 13 | EffectModule.h 14 | FighterAreaModuleImpl.h 15 | FighterControlModuleImpl.h 16 | FighterMotionModuleImpl.h 17 | FighterStatusModuleImpl.h 18 | FighterStopModuleImpl.h 19 | FighterWorkModuleImpl.h 20 | GrabModule.h 21 | GroundModule.h 22 | HitModule.h 23 | InkPaintModule.h 24 | ItemModule.h 25 | JostleModule.h 26 | KineticEnergyNormal.h 27 | KineticModule.h 28 | ModelModule.h 29 | MotionAnimcmdModule.h 30 | MotionModule.h 31 | PhysicsModule.h 32 | PostureModule.h 33 | ReflectModule.h 34 | ReflectorModule.h 35 | SearchModule.h 36 | ShadowModule.h 37 | ShakeModule.h 38 | ShieldModule.h 39 | SlopeModule.h 40 | SlowModule.h 41 | SoundModule.h 42 | StatusModule.h 43 | StopModule.h 44 | TeamModule.h 45 | TurnModule.h 46 | VisibilityModule.h 47 | WorkModule.h 48 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind.txt: -------------------------------------------------------------------------------- 1 | AbsorberModule.h 2 | AreaModule.h 3 | ArticleModule.h 4 | AttackModule.h 5 | CameraModule.h 6 | CancelModule.h 7 | CaptureModule.h 8 | CatchModule.h 9 | ColorBlendModule.h 10 | ComboModule.h 11 | ControlModule.h 12 | DamageModule.h 13 | EffectModule.h 14 | FighterAreaModuleImpl.h 15 | FighterControlModuleImpl.h 16 | FighterMotionModuleImpl.h 17 | FighterStatusModuleImpl.h 18 | FighterStopModuleImpl.h 19 | FighterWorkModuleImpl.h 20 | GrabModule.h 21 | GroundModule.h 22 | HitModule.h 23 | InkPaintModule.h 24 | ItemModule.h 25 | JostleModule.h 26 | KineticEnergyNormal.h 27 | KineticModule.h 28 | ModelModule.h 29 | MotionAnimcmdModule.h 30 | MotionModule.h 31 | PhysicsModule.h 32 | PostureModule.h 33 | ReflectModule.h 34 | ReflectorModule.h 35 | SearchModule.h 36 | ShadowModule.h 37 | ShakeModule.h 38 | ShieldModule.h 39 | SlopeModule.h 40 | SlowModule.h 41 | SoundModule.h 42 | StatusModule.h 43 | StopModule.h 44 | TeamModule.h 45 | TurnModule.h 46 | VisibilityModule.h 47 | WorkModule.h 48 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/AreaContactLog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace AreaContactLog { 6 | u64 load_from_l2c_table(app::AreaContactLog *,lib::L2CValue const&) asm("_ZN3app8lua_bind40AreaContactLog__load_from_l2c_table_implEPNS_14AreaContactLogERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::AreaContactLog const*) asm("_ZN3app8lua_bind36AreaContactLog__store_l2c_table_implEPKNS_14AreaContactLogE") LINKABLE; 8 | u64 store_l2c_table(app::AreaContactLog const*,lib::L2CValue const&) asm("_ZN3app8lua_bind36AreaContactLog__store_l2c_table_implEPKNS_14AreaContactLogERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/Article.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace Article { 6 | u64 get_battle_object_id(app::Article *) asm("_ZN3app8lua_bind34Article__get_battle_object_id_implEPNS_7ArticleE") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/AttackAbsoluteData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace AttackAbsoluteData { 6 | u64 load_from_l2c_table(app::AttackAbsoluteData *,lib::L2CValue const&) asm("_ZN3app8lua_bind44AttackAbsoluteData__load_from_l2c_table_implEPNS_18AttackAbsoluteDataERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::AttackAbsoluteData const*) asm("_ZN3app8lua_bind40AttackAbsoluteData__store_l2c_table_implEPKNS_18AttackAbsoluteDataE") LINKABLE; 8 | u64 store_l2c_table(app::AttackAbsoluteData const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40AttackAbsoluteData__store_l2c_table_implEPKNS_18AttackAbsoluteDataERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/AttackData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace AttackData { 6 | u64 load_from_l2c_table(app::AttackData *,lib::L2CValue const&) asm("_ZN3app8lua_bind36AttackData__load_from_l2c_table_implEPNS_10AttackDataERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::AttackData const*) asm("_ZN3app8lua_bind32AttackData__store_l2c_table_implEPKNS_10AttackDataE") LINKABLE; 8 | u64 store_l2c_table(app::AttackData const*,lib::L2CValue const&) asm("_ZN3app8lua_bind32AttackData__store_l2c_table_implEPKNS_10AttackDataERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/BattleObjectManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace BattleObjectManager { 6 | bool is_active_find_battle_object(app::BattleObjectManager *,unsigned int) asm("_ZN3app8lua_bind54BattleObjectManager__is_active_find_battle_object_implEPNS_19BattleObjectManagerEj") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/BattleObjectSlow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace BattleObjectSlow { 6 | u64 rate(app::BattleObjectSlow *) asm("_ZN3app8lua_bind27BattleObjectSlow__rate_implEPNS_16BattleObjectSlowE") LINKABLE; 7 | bool is_estimate(app::BattleObjectSlow *) asm("_ZN3app8lua_bind34BattleObjectSlow__is_estimate_implEPNS_16BattleObjectSlowE") LINKABLE; 8 | bool is_adjust(app::BattleObjectSlow *) asm("_ZN3app8lua_bind32BattleObjectSlow__is_adjust_implEPNS_16BattleObjectSlowE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/BattleObjectWorld.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace BattleObjectWorld { 6 | u64 gravity_speed_coefficient(app::BattleObjectWorld *) asm("_ZN3app8lua_bind49BattleObjectWorld__gravity_speed_coefficient_implEPNS_17BattleObjectWorldE") LINKABLE; 7 | u64 scale_z(app::BattleObjectWorld *) asm("_ZN3app8lua_bind31BattleObjectWorld__scale_z_implEPNS_17BattleObjectWorldE") LINKABLE; 8 | u64 gravity_pos(app::BattleObjectWorld *) asm("_ZN3app8lua_bind35BattleObjectWorld__gravity_pos_implEPNS_17BattleObjectWorldE") LINKABLE; 9 | bool is_gravity_normal(app::BattleObjectWorld *) asm("_ZN3app8lua_bind41BattleObjectWorld__is_gravity_normal_implEPNS_17BattleObjectWorldE") LINKABLE; 10 | bool is_disable_reverse(app::BattleObjectWorld *) asm("_ZN3app8lua_bind42BattleObjectWorld__is_disable_reverse_implEPNS_17BattleObjectWorldE") LINKABLE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/BossManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace BossManager { 6 | bool is_stoppable_se(app::BossManager *) asm("_ZN3app8lua_bind33BossManager__is_stoppable_se_implEPNS_11BossManagerE") LINKABLE; 7 | u64 notify_on_boss_defeat(app::BossManager *,app::FighterKind) asm("_ZN3app8lua_bind39BossManager__notify_on_boss_defeat_implEPNS_11BossManagerENS_11FighterKindE") LINKABLE; 8 | u64 notify_on_boss_keyoff_bgm(app::BossManager *,app::FighterKind) asm("_ZN3app8lua_bind43BossManager__notify_on_boss_keyoff_bgm_implEPNS_11BossManagerENS_11FighterKindE") LINKABLE; 9 | u64 notify_on_boss_dead(app::BossManager *,app::FighterKind) asm("_ZN3app8lua_bind37BossManager__notify_on_boss_dead_implEPNS_11BossManagerENS_11FighterKindE") LINKABLE; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/CancelModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace CancelModule { 6 | bool is_enable_cancel(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind35CancelModule__is_enable_cancel_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | u64 enable_cancel(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind32CancelModule__enable_cancel_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/CatchModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace CatchModule { 6 | u64 set_catch(app::BattleObjectModuleAccessor *, unsigned int) asm("_ZN3app8lua_bind27CatchModule__set_catch_implEPNS_26BattleObjectModuleAccessorEj") LINKABLE; 7 | bool is_catch(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind26CatchModule__is_catch_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 catch_cut(app::BattleObjectModuleAccessor *, bool,bool) asm("_ZN3app8lua_bind27CatchModule__catch_cut_implEPNS_26BattleObjectModuleAccessorEbb") LINKABLE; 9 | u64 update_pos_cling(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind34CatchModule__update_pos_cling_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 10 | u64 cling_cut(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind27CatchModule__cling_cut_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 11 | u64 check_damage(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind30CatchModule__check_damage_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | u64 set_send_cut_event(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind36CatchModule__set_send_cut_event_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 13 | u64 capture_object_id(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind35CatchModule__capture_object_id_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 14 | u64 capture_pos_x_diff(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind36CatchModule__capture_pos_x_diff_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/Circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace Circle { 6 | u64 load_from_l2c_table(app::Circle *,lib::L2CValue const&) asm("_ZN3app8lua_bind32Circle__load_from_l2c_table_implEPNS_6CircleERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::Circle const*) asm("_ZN3app8lua_bind28Circle__store_l2c_table_implEPKNS_6CircleE") LINKABLE; 8 | u64 store_l2c_table(app::Circle const*,lib::L2CValue const&) asm("_ZN3app8lua_bind28Circle__store_l2c_table_implEPKNS_6CircleERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ComboModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ComboModule { 6 | u64 set(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind21ComboModule__set_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 7 | u64 reset(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind23ComboModule__reset_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 count(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind23ComboModule__count_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/DamageInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace DamageInfo { 6 | u64 load_from_l2c_table(app::DamageInfo *,lib::L2CValue const&) asm("_ZN3app8lua_bind36DamageInfo__load_from_l2c_table_implEPNS_10DamageInfoERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::DamageInfo const*) asm("_ZN3app8lua_bind32DamageInfo__store_l2c_table_implEPKNS_10DamageInfoE") LINKABLE; 8 | u64 store_l2c_table(app::DamageInfo const*,lib::L2CValue const&) asm("_ZN3app8lua_bind32DamageInfo__store_l2c_table_implEPKNS_10DamageInfoERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/DamageLog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace DamageLog { 6 | u64 load_from_l2c_table(app::DamageLog *,lib::L2CValue const&) asm("_ZN3app8lua_bind35DamageLog__load_from_l2c_table_implEPNS_9DamageLogERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::DamageLog const*) asm("_ZN3app8lua_bind31DamageLog__store_l2c_table_implEPKNS_9DamageLogE") LINKABLE; 8 | u64 store_l2c_table(app::DamageLog const*,lib::L2CValue const&) asm("_ZN3app8lua_bind31DamageLog__store_l2c_table_implEPKNS_9DamageLogERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterAreaModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterAreaModuleImpl { 6 | u64 enable_fix_jostle_area(app::BattleObjectModuleAccessor *, float,float) asm("_ZN3app8lua_bind50FighterAreaModuleImpl__enable_fix_jostle_area_implEPNS_26BattleObjectModuleAccessorEff") LINKABLE; 7 | u64 enable_fix_jostle_area_xy(app::BattleObjectModuleAccessor *, float,float,float,float) asm("_ZN3app8lua_bind53FighterAreaModuleImpl__enable_fix_jostle_area_xy_implEPNS_26BattleObjectModuleAccessorEffff") LINKABLE; 8 | u64 disable_fix_jostle_area(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind51FighterAreaModuleImpl__disable_fix_jostle_area_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterCloudLinkEventFinal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterCloudLinkEventFinal { 6 | u64 load_from_l2c_table(app::FighterCloudLinkEventFinal *,lib::L2CValue const&) asm("_ZN3app8lua_bind52FighterCloudLinkEventFinal__load_from_l2c_table_implEPNS_26FighterCloudLinkEventFinalERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterCloudLinkEventFinal const*) asm("_ZN3app8lua_bind48FighterCloudLinkEventFinal__store_l2c_table_implEPKNS_26FighterCloudLinkEventFinalE") LINKABLE; 8 | u64 store_l2c_table(app::FighterCloudLinkEventFinal const*,lib::L2CValue const&) asm("_ZN3app8lua_bind48FighterCloudLinkEventFinal__store_l2c_table_implEPKNS_26FighterCloudLinkEventFinalERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterCutInManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterCutInManager { 6 | u64 request_start(app::FighterCutInManager *,u64 *,app::CutInTransactor *,app::CutInType,app::CutInData const*,app::CutInPriority) asm("_ZN3app8lua_bind39FighterCutInManager__request_start_implEPNS_19FighterCutInManagerERNS_26BattleObjectModuleAccessorEPNS_15CutInTransactorENS_9CutInTypeEPKNS_9CutInDataENS_13CutInPriorityE") LINKABLE; 7 | u64 request_end(app::FighterCutInManager *) asm("_ZN3app8lua_bind37FighterCutInManager__request_end_implEPNS_19FighterCutInManagerE") LINKABLE; 8 | bool is_owner(app::FighterCutInManager *,const u64*) asm("_ZN3app8lua_bind34FighterCutInManager__is_owner_implEPNS_19FighterCutInManagerERKNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | bool is_play(app::FighterCutInManager *) asm("_ZN3app8lua_bind33FighterCutInManager__is_play_implEPNS_19FighterCutInManagerE") LINKABLE; 10 | bool is_play_status(app::FighterCutInManager *) asm("_ZN3app8lua_bind40FighterCutInManager__is_play_status_implEPNS_19FighterCutInManagerE") LINKABLE; 11 | u64 add_task(app::FighterCutInManager *,unsigned int) asm("_ZN3app8lua_bind34FighterCutInManager__add_task_implEPNS_19FighterCutInManagerEj") LINKABLE; 12 | u64 set_throw_finish_zoom_rate(app::FighterCutInManager *,float) asm("_ZN3app8lua_bind52FighterCutInManager__set_throw_finish_zoom_rate_implEPNS_19FighterCutInManagerEf") LINKABLE; 13 | u64 set_throw_finish_offset(app::FighterCutInManager *,Vector3f) asm("_ZN3app8lua_bind49FighterCutInManager__set_throw_finish_offset_implEPNS_19FighterCutInManagerEN3phx8Vector3fE") LINKABLE; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterEntry.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterEntry { 6 | u64 fighter_num(u64 /*fighter_entry*/) asm("_ZN3app8lua_bind30FighterEntry__fighter_num_implEPNS_12FighterEntryE") LINKABLE; 7 | u64 get_fighter_id(u64 /*fighter_entry*/,int,bool) asm("_ZN3app8lua_bind33FighterEntry__get_fighter_id_implEPNS_12FighterEntryEib") LINKABLE; 8 | u64 current_fighter_id(u64 /*fighter_entry*/) asm("_ZN3app8lua_bind37FighterEntry__current_fighter_id_implEPNS_12FighterEntryE") LINKABLE; 9 | u64 heal(u64 /*fighter_entry*/,float,bool,int,u64) asm("_ZN3app8lua_bind23FighterEntry__heal_implEPNS_12FighterEntryEfbiN3phx6Hash40E") LINKABLE; 10 | u64 eat_item(u64 /*fighter_entry*/,app::LinkEventTouchItem &,bool) asm("_ZN3app8lua_bind27FighterEntry__eat_item_implEPNS_12FighterEntryERNS_18LinkEventTouchItemEb") LINKABLE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterInklingLinkEventPaint.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterInklingLinkEventPaint { 6 | u64 load_from_l2c_table(app::FighterInklingLinkEventPaint *,lib::L2CValue const&) asm("_ZN3app8lua_bind54FighterInklingLinkEventPaint__load_from_l2c_table_implEPNS_28FighterInklingLinkEventPaintERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterInklingLinkEventPaint const*) asm("_ZN3app8lua_bind50FighterInklingLinkEventPaint__store_l2c_table_implEPKNS_28FighterInklingLinkEventPaintE") LINKABLE; 8 | u64 store_l2c_table(app::FighterInklingLinkEventPaint const*,lib::L2CValue const&) asm("_ZN3app8lua_bind50FighterInklingLinkEventPaint__store_l2c_table_implEPKNS_28FighterInklingLinkEventPaintERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterKineticEnergyController.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterKineticEnergyController { 6 | u64 mul_x_speed_max(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__mul_x_speed_max_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 7 | u64 set_accel_x_mul(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__set_accel_x_mul_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 8 | u64 set_accel_x_add(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__set_accel_x_add_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 9 | u64 mul_x_accel_mul(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__mul_x_accel_mul_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 10 | u64 mul_x_accel_add(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__mul_x_accel_add_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 11 | u64 set_accel_y_mul(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__set_accel_y_mul_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 12 | u64 set_accel_y_add(app::FighterKineticEnergyController *,float) asm("_ZN3app8lua_bind52FighterKineticEnergyController__set_accel_y_add_implEPNS_30FighterKineticEnergyControllerEf") LINKABLE; 13 | u64 get_accel_x_mul(app::FighterKineticEnergyController *) asm("_ZN3app8lua_bind52FighterKineticEnergyController__get_accel_x_mul_implEPNS_30FighterKineticEnergyControllerE") LINKABLE; 14 | u64 get_accel_x_add(app::FighterKineticEnergyController *) asm("_ZN3app8lua_bind52FighterKineticEnergyController__get_accel_x_add_implEPNS_30FighterKineticEnergyControllerE") LINKABLE; 15 | u64 get_accel_y_mul(app::FighterKineticEnergyController *) asm("_ZN3app8lua_bind52FighterKineticEnergyController__get_accel_y_mul_implEPNS_30FighterKineticEnergyControllerE") LINKABLE; 16 | u64 get_accel_y_add(app::FighterKineticEnergyController *) asm("_ZN3app8lua_bind52FighterKineticEnergyController__get_accel_y_add_implEPNS_30FighterKineticEnergyControllerE") LINKABLE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterKineticEnergyGravity.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterKineticEnergyGravity { 6 | u64 set_accel(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind43FighterKineticEnergyGravity__set_accel_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 7 | u64 set_speed(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind43FighterKineticEnergyGravity__set_speed_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 8 | u64 set_stable_speed(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind50FighterKineticEnergyGravity__set_stable_speed_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 9 | u64 set_limit_speed(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind49FighterKineticEnergyGravity__set_limit_speed_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 10 | u64 set_brake(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind43FighterKineticEnergyGravity__set_brake_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 11 | u64 get_accel(app::FighterKineticEnergyGravity *) asm("_ZN3app8lua_bind43FighterKineticEnergyGravity__get_accel_implEPNS_27FighterKineticEnergyGravityE") LINKABLE; 12 | u64 get_stable_speed(app::FighterKineticEnergyGravity *) asm("_ZN3app8lua_bind50FighterKineticEnergyGravity__get_stable_speed_implEPNS_27FighterKineticEnergyGravityE") LINKABLE; 13 | u64 get_limit_speed(app::FighterKineticEnergyGravity *) asm("_ZN3app8lua_bind49FighterKineticEnergyGravity__get_limit_speed_implEPNS_27FighterKineticEnergyGravityE") LINKABLE; 14 | u64 get_brake(app::FighterKineticEnergyGravity *) asm("_ZN3app8lua_bind43FighterKineticEnergyGravity__get_brake_implEPNS_27FighterKineticEnergyGravityE") LINKABLE; 15 | u64 set_gravity_coefficient(app::FighterKineticEnergyGravity *,float) asm("_ZN3app8lua_bind57FighterKineticEnergyGravity__set_gravity_coefficient_implEPNS_27FighterKineticEnergyGravityEf") LINKABLE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterKineticEnergyMotion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterKineticEnergyMotion { 6 | u64 set_angle(app::FighterKineticEnergyMotion *,float) asm("_ZN3app8lua_bind42FighterKineticEnergyMotion__set_angle_implEPNS_26FighterKineticEnergyMotionEf") LINKABLE; 7 | u64 set_angle_whole(app::FighterKineticEnergyMotion *,float,int) asm("_ZN3app8lua_bind48FighterKineticEnergyMotion__set_angle_whole_implEPNS_26FighterKineticEnergyMotionEfi") LINKABLE; 8 | u64 set_speed_mul(app::FighterKineticEnergyMotion *,float) asm("_ZN3app8lua_bind46FighterKineticEnergyMotion__set_speed_mul_implEPNS_26FighterKineticEnergyMotionEf") LINKABLE; 9 | u64 set_chara_dir(app::FighterKineticEnergyMotion *,float) asm("_ZN3app8lua_bind46FighterKineticEnergyMotion__set_chara_dir_implEPNS_26FighterKineticEnergyMotionEf") LINKABLE; 10 | u64 reverse_chara_dir(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind50FighterKineticEnergyMotion__reverse_chara_dir_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 11 | u64 set_update_flag(app::FighterKineticEnergyMotion *,bool) asm("_ZN3app8lua_bind48FighterKineticEnergyMotion__set_update_flag_implEPNS_26FighterKineticEnergyMotionEb") LINKABLE; 12 | u64 set_speed_mul_2nd(app::FighterKineticEnergyMotion *,const Vector2f*) asm("_ZN3app8lua_bind50FighterKineticEnergyMotion__set_speed_mul_2nd_implEPNS_26FighterKineticEnergyMotionERKN3phx8Vector2fE") LINKABLE; 13 | u64 get_angle(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind42FighterKineticEnergyMotion__get_angle_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 14 | u64 get_angle_whole(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind48FighterKineticEnergyMotion__get_angle_whole_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 15 | u64 get_chara_dir(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind46FighterKineticEnergyMotion__get_chara_dir_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 16 | u64 get_speed_mul(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind46FighterKineticEnergyMotion__get_speed_mul_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 17 | bool is_cliff_ground_trans(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind54FighterKineticEnergyMotion__is_cliff_ground_trans_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 18 | u64 set_ground_trans(app::FighterKineticEnergyMotion *) asm("_ZN3app8lua_bind49FighterKineticEnergyMotion__set_ground_trans_implEPNS_26FighterKineticEnergyMotionE") LINKABLE; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterParamAccessor2.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterParamAccessor2 { 6 | u64 thrown_offset(app::FighterParamAccessor2 *,int,int,int) asm("_ZN3app8lua_bind41FighterParamAccessor2__thrown_offset_implEPNS_21FighterParamAccessor2Eiii") LINKABLE; 7 | u64 donkey_thrown_offset(app::FighterParamAccessor2 *,int,int) asm("_ZN3app8lua_bind48FighterParamAccessor2__donkey_thrown_offset_implEPNS_21FighterParamAccessor2Eii") LINKABLE; 8 | u64 ridley_dragged_offset(app::FighterParamAccessor2 *,int,int) asm("_ZN3app8lua_bind49FighterParamAccessor2__ridley_dragged_offset_implEPNS_21FighterParamAccessor2Eii") LINKABLE; 9 | u64 diddy_special_s_offset(app::FighterParamAccessor2 *,int) asm("_ZN3app8lua_bind50FighterParamAccessor2__diddy_special_s_offset_implEPNS_21FighterParamAccessor2Ei") LINKABLE; 10 | u64 miifighter_suplex_offset(app::FighterParamAccessor2 *,int) asm("_ZN3app8lua_bind52FighterParamAccessor2__miifighter_suplex_offset_implEPNS_21FighterParamAccessor2Ei") LINKABLE; 11 | u64 gaogaen_final_offset(app::FighterParamAccessor2 *,int,int) asm("_ZN3app8lua_bind48FighterParamAccessor2__gaogaen_final_offset_implEPNS_21FighterParamAccessor2Eii") LINKABLE; 12 | u64 hit_target_no(app::FighterParamAccessor2 *,int,int) asm("_ZN3app8lua_bind41FighterParamAccessor2__hit_target_no_implEPNS_21FighterParamAccessor2Eii") LINKABLE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminChangeMotion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminChangeMotion { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeMotion *,lib::L2CValue const&) asm("_ZN3app8lua_bind72FighterPikminLinkEventWeaponPikminChangeMotion__load_from_l2c_table_implEPNS_46FighterPikminLinkEventWeaponPikminChangeMotionERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeMotion const*) asm("_ZN3app8lua_bind68FighterPikminLinkEventWeaponPikminChangeMotion__store_l2c_table_implEPKNS_46FighterPikminLinkEventWeaponPikminChangeMotionE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeMotion const*,lib::L2CValue const&) asm("_ZN3app8lua_bind68FighterPikminLinkEventWeaponPikminChangeMotion__store_l2c_table_implEPKNS_46FighterPikminLinkEventWeaponPikminChangeMotionERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminChangeStatus.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminChangeStatus { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeStatus *,lib::L2CValue const&) asm("_ZN3app8lua_bind72FighterPikminLinkEventWeaponPikminChangeStatus__load_from_l2c_table_implEPNS_46FighterPikminLinkEventWeaponPikminChangeStatusERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeStatus const*) asm("_ZN3app8lua_bind68FighterPikminLinkEventWeaponPikminChangeStatus__store_l2c_table_implEPKNS_46FighterPikminLinkEventWeaponPikminChangeStatusE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminChangeStatus const*,lib::L2CValue const&) asm("_ZN3app8lua_bind68FighterPikminLinkEventWeaponPikminChangeStatus__store_l2c_table_implEPKNS_46FighterPikminLinkEventWeaponPikminChangeStatusERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminConstraint.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminConstraint { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminConstraint *,lib::L2CValue const&) asm("_ZN3app8lua_bind70FighterPikminLinkEventWeaponPikminConstraint__load_from_l2c_table_implEPNS_44FighterPikminLinkEventWeaponPikminConstraintERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminConstraint const*) asm("_ZN3app8lua_bind66FighterPikminLinkEventWeaponPikminConstraint__store_l2c_table_implEPKNS_44FighterPikminLinkEventWeaponPikminConstraintE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminConstraint const*,lib::L2CValue const&) asm("_ZN3app8lua_bind66FighterPikminLinkEventWeaponPikminConstraint__store_l2c_table_implEPKNS_44FighterPikminLinkEventWeaponPikminConstraintERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminOnFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminOnFlag { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminOnFlag *,lib::L2CValue const&) asm("_ZN3app8lua_bind66FighterPikminLinkEventWeaponPikminOnFlag__load_from_l2c_table_implEPNS_40FighterPikminLinkEventWeaponPikminOnFlagERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminOnFlag const*) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminOnFlag__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminOnFlagE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminOnFlag const*,lib::L2CValue const&) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminOnFlag__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminOnFlagERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminSetFloat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminSetFloat { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminSetFloat *,lib::L2CValue const&) asm("_ZN3app8lua_bind68FighterPikminLinkEventWeaponPikminSetFloat__load_from_l2c_table_implEPNS_42FighterPikminLinkEventWeaponPikminSetFloatERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetFloat const*) asm("_ZN3app8lua_bind64FighterPikminLinkEventWeaponPikminSetFloat__store_l2c_table_implEPKNS_42FighterPikminLinkEventWeaponPikminSetFloatE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetFloat const*,lib::L2CValue const&) asm("_ZN3app8lua_bind64FighterPikminLinkEventWeaponPikminSetFloat__store_l2c_table_implEPKNS_42FighterPikminLinkEventWeaponPikminSetFloatERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminSetInt.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminSetInt { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminSetInt *,lib::L2CValue const&) asm("_ZN3app8lua_bind66FighterPikminLinkEventWeaponPikminSetInt__load_from_l2c_table_implEPNS_40FighterPikminLinkEventWeaponPikminSetIntERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetInt const*) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminSetInt__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminSetIntE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetInt const*,lib::L2CValue const&) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminSetInt__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminSetIntERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminSetPowerMulStatus.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminSetPowerMulStatus { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminSetPowerMulStatus *,lib::L2CValue const&) asm("_ZN3app8lua_bind77FighterPikminLinkEventWeaponPikminSetPowerMulStatus__load_from_l2c_table_implEPNS_51FighterPikminLinkEventWeaponPikminSetPowerMulStatusERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetPowerMulStatus const*) asm("_ZN3app8lua_bind73FighterPikminLinkEventWeaponPikminSetPowerMulStatus__store_l2c_table_implEPKNS_51FighterPikminLinkEventWeaponPikminSetPowerMulStatusE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSetPowerMulStatus const*,lib::L2CValue const&) asm("_ZN3app8lua_bind73FighterPikminLinkEventWeaponPikminSetPowerMulStatus__store_l2c_table_implEPKNS_51FighterPikminLinkEventWeaponPikminSetPowerMulStatusERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminSyncLR.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminSyncLR { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncLR *,lib::L2CValue const&) asm("_ZN3app8lua_bind66FighterPikminLinkEventWeaponPikminSyncLR__load_from_l2c_table_implEPNS_40FighterPikminLinkEventWeaponPikminSyncLRERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncLR const*) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminSyncLR__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminSyncLRE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncLR const*,lib::L2CValue const&) asm("_ZN3app8lua_bind62FighterPikminLinkEventWeaponPikminSyncLR__store_l2c_table_implEPKNS_40FighterPikminLinkEventWeaponPikminSyncLRERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPikminLinkEventWeaponPikminSyncPos.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPikminLinkEventWeaponPikminSyncPos { 6 | u64 load_from_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncPos *,lib::L2CValue const&) asm("_ZN3app8lua_bind67FighterPikminLinkEventWeaponPikminSyncPos__load_from_l2c_table_implEPNS_41FighterPikminLinkEventWeaponPikminSyncPosERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncPos const*) asm("_ZN3app8lua_bind63FighterPikminLinkEventWeaponPikminSyncPos__store_l2c_table_implEPKNS_41FighterPikminLinkEventWeaponPikminSyncPosE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPikminLinkEventWeaponPikminSyncPos const*,lib::L2CValue const&) asm("_ZN3app8lua_bind63FighterPikminLinkEventWeaponPikminSyncPos__store_l2c_table_implEPKNS_41FighterPikminLinkEventWeaponPikminSyncPosERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPitBFinalModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPitBFinalModule { 6 | u64 init(app::FighterPitBFinalModule *) asm("_ZN3app8lua_bind33FighterPitBFinalModule__init_implEPNS_22FighterPitBFinalModuleE") LINKABLE; 7 | u64 get_hit_num(app::FighterPitBFinalModule *,unsigned char) asm("_ZN3app8lua_bind40FighterPitBFinalModule__get_hit_num_implEPNS_22FighterPitBFinalModuleEh") LINKABLE; 8 | u64 get_hit_object_id(app::FighterPitBFinalModule *,unsigned char,int) asm("_ZN3app8lua_bind46FighterPitBFinalModule__get_hit_object_id_implEPNS_22FighterPitBFinalModuleEhi") LINKABLE; 9 | u64 get_hit_group(app::FighterPitBFinalModule *,unsigned char,int) asm("_ZN3app8lua_bind42FighterPitBFinalModule__get_hit_group_implEPNS_22FighterPitBFinalModuleEhi") LINKABLE; 10 | u64 get_hit_no(app::FighterPitBFinalModule *,unsigned char,int) asm("_ZN3app8lua_bind39FighterPitBFinalModule__get_hit_no_implEPNS_22FighterPitBFinalModuleEhi") LINKABLE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterPokemonLinkEventChange.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterPokemonLinkEventChange { 6 | u64 load_from_l2c_table(app::FighterPokemonLinkEventChange *,lib::L2CValue const&) asm("_ZN3app8lua_bind55FighterPokemonLinkEventChange__load_from_l2c_table_implEPNS_29FighterPokemonLinkEventChangeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterPokemonLinkEventChange const*) asm("_ZN3app8lua_bind51FighterPokemonLinkEventChange__store_l2c_table_implEPKNS_29FighterPokemonLinkEventChangeE") LINKABLE; 8 | u64 store_l2c_table(app::FighterPokemonLinkEventChange const*,lib::L2CValue const&) asm("_ZN3app8lua_bind51FighterPokemonLinkEventChange__store_l2c_table_implEPKNS_29FighterPokemonLinkEventChangeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterRidleyLinkEventMotion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterRidleyLinkEventMotion { 6 | u64 load_from_l2c_table(app::FighterRidleyLinkEventMotion *,lib::L2CValue const&) asm("_ZN3app8lua_bind54FighterRidleyLinkEventMotion__load_from_l2c_table_implEPNS_28FighterRidleyLinkEventMotionERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterRidleyLinkEventMotion const*) asm("_ZN3app8lua_bind50FighterRidleyLinkEventMotion__store_l2c_table_implEPKNS_28FighterRidleyLinkEventMotionE") LINKABLE; 8 | u64 store_l2c_table(app::FighterRidleyLinkEventMotion const*,lib::L2CValue const&) asm("_ZN3app8lua_bind50FighterRidleyLinkEventMotion__store_l2c_table_implEPKNS_28FighterRidleyLinkEventMotionERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterRyuLinkEventFinalDeadDamage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterRyuLinkEventFinalDeadDamage { 6 | u64 load_from_l2c_table(app::FighterRyuLinkEventFinalDeadDamage *,lib::L2CValue const&) asm("_ZN3app8lua_bind60FighterRyuLinkEventFinalDeadDamage__load_from_l2c_table_implEPNS_34FighterRyuLinkEventFinalDeadDamageERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterRyuLinkEventFinalDeadDamage const*) asm("_ZN3app8lua_bind56FighterRyuLinkEventFinalDeadDamage__store_l2c_table_implEPKNS_34FighterRyuLinkEventFinalDeadDamageE") LINKABLE; 8 | u64 store_l2c_table(app::FighterRyuLinkEventFinalDeadDamage const*,lib::L2CValue const&) asm("_ZN3app8lua_bind56FighterRyuLinkEventFinalDeadDamage__store_l2c_table_implEPKNS_34FighterRyuLinkEventFinalDeadDamageERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterRyuLinkEventFinalMoveTarget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterRyuLinkEventFinalMoveTarget { 6 | u64 load_from_l2c_table(app::FighterRyuLinkEventFinalMoveTarget *,lib::L2CValue const&) asm("_ZN3app8lua_bind60FighterRyuLinkEventFinalMoveTarget__load_from_l2c_table_implEPNS_34FighterRyuLinkEventFinalMoveTargetERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::FighterRyuLinkEventFinalMoveTarget const*) asm("_ZN3app8lua_bind56FighterRyuLinkEventFinalMoveTarget__store_l2c_table_implEPKNS_34FighterRyuLinkEventFinalMoveTargetE") LINKABLE; 8 | u64 store_l2c_table(app::FighterRyuLinkEventFinalMoveTarget const*,lib::L2CValue const&) asm("_ZN3app8lua_bind56FighterRyuLinkEventFinalMoveTarget__store_l2c_table_implEPKNS_34FighterRyuLinkEventFinalMoveTargetERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterSpiritsSupportSkill.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterSpiritsSupportSkill { 6 | bool is_unsync_vis_whole_effect(app::FighterSpiritsSupportSkill *) asm("_ZN3app8lua_bind59FighterSpiritsSupportSkill__is_unsync_vis_whole_effect_implEPNS_26FighterSpiritsSupportSkillE") LINKABLE; 7 | bool is_visible_effect(app::FighterSpiritsSupportSkill *) asm("_ZN3app8lua_bind50FighterSpiritsSupportSkill__is_visible_effect_implEPNS_26FighterSpiritsSupportSkillE") LINKABLE; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterStatusModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterStatusModuleImpl { 6 | u64 set_fighter_status_data(app::BattleObjectModuleAccessor *, bool,int,bool,bool,bool,unsigned long,unsigned int,unsigned int,unsigned int) asm("_ZN3app8lua_bind53FighterStatusModuleImpl__set_fighter_status_data_implEPNS_26BattleObjectModuleAccessorEbibbbmjjj") LINKABLE; 7 | u64 reset_log_action_info(app::BattleObjectModuleAccessor *, unsigned long) asm("_ZN3app8lua_bind51FighterStatusModuleImpl__reset_log_action_info_implEPNS_26BattleObjectModuleAccessorEm") LINKABLE; 8 | u64 off_disable_intrrupt_warp(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind55FighterStatusModuleImpl__off_disable_intrrupt_warp_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterStopModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterStopModuleImpl { 6 | bool is_damage_stop(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind42FighterStopModuleImpl__is_damage_stop_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | float get_damage_stop_frame(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind49FighterStopModuleImpl__get_damage_stop_frame_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/FighterWorkModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace FighterWorkModuleImpl { 6 | u64 calc_param(app::BattleObjectModuleAccessor *, bool,bool) asm("_ZN3app8lua_bind38FighterWorkModuleImpl__calc_param_implEPNS_26BattleObjectModuleAccessorEbb") LINKABLE; 7 | u64 calc_escape_air_slide_param(app::BattleObjectModuleAccessor *, float) asm("_ZN3app8lua_bind55FighterWorkModuleImpl__calc_escape_air_slide_param_implEPNS_26BattleObjectModuleAccessorEf") LINKABLE; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEvent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEvent { 6 | u64 load_from_l2c_table(app::GimmickEvent *,lib::L2CValue const&) asm("_ZN3app8lua_bind38GimmickEvent__load_from_l2c_table_implEPNS_12GimmickEventERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEvent const*) asm("_ZN3app8lua_bind34GimmickEvent__store_l2c_table_implEPKNS_12GimmickEventE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEvent const*,lib::L2CValue const&) asm("_ZN3app8lua_bind34GimmickEvent__store_l2c_table_implEPKNS_12GimmickEventERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventBarrel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventBarrel { 6 | u64 load_from_l2c_table(app::GimmickEventBarrel *,lib::L2CValue const&) asm("_ZN3app8lua_bind44GimmickEventBarrel__load_from_l2c_table_implEPNS_18GimmickEventBarrelERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventBarrel const*) asm("_ZN3app8lua_bind40GimmickEventBarrel__store_l2c_table_implEPKNS_18GimmickEventBarrelE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventBarrel const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40GimmickEventBarrel__store_l2c_table_implEPKNS_18GimmickEventBarrelERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventCatch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventCatch { 6 | u64 load_from_l2c_table(app::GimmickEventCatch *,lib::L2CValue const&) asm("_ZN3app8lua_bind43GimmickEventCatch__load_from_l2c_table_implEPNS_17GimmickEventCatchERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventCatch const*) asm("_ZN3app8lua_bind39GimmickEventCatch__store_l2c_table_implEPKNS_17GimmickEventCatchE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventCatch const*,lib::L2CValue const&) asm("_ZN3app8lua_bind39GimmickEventCatch__store_l2c_table_implEPKNS_17GimmickEventCatchERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumCheckNeedHide.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumCheckNeedHide { 6 | u64 load_from_l2c_table(app::GimmickEventDrumCheckNeedHide *,lib::L2CValue const&) asm("_ZN3app8lua_bind55GimmickEventDrumCheckNeedHide__load_from_l2c_table_implEPNS_29GimmickEventDrumCheckNeedHideERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumCheckNeedHide const*) asm("_ZN3app8lua_bind51GimmickEventDrumCheckNeedHide__store_l2c_table_implEPKNS_29GimmickEventDrumCheckNeedHideE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumCheckNeedHide const*,lib::L2CValue const&) asm("_ZN3app8lua_bind51GimmickEventDrumCheckNeedHide__store_l2c_table_implEPKNS_29GimmickEventDrumCheckNeedHideERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumCheckNeedLock.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumCheckNeedLock { 6 | u64 load_from_l2c_table(app::GimmickEventDrumCheckNeedLock *,lib::L2CValue const&) asm("_ZN3app8lua_bind55GimmickEventDrumCheckNeedLock__load_from_l2c_table_implEPNS_29GimmickEventDrumCheckNeedLockERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumCheckNeedLock const*) asm("_ZN3app8lua_bind51GimmickEventDrumCheckNeedLock__store_l2c_table_implEPKNS_29GimmickEventDrumCheckNeedLockE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumCheckNeedLock const*,lib::L2CValue const&) asm("_ZN3app8lua_bind51GimmickEventDrumCheckNeedLock__store_l2c_table_implEPKNS_29GimmickEventDrumCheckNeedLockERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumEscape.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumEscape { 6 | u64 load_from_l2c_table(app::GimmickEventDrumEscape *,lib::L2CValue const&) asm("_ZN3app8lua_bind48GimmickEventDrumEscape__load_from_l2c_table_implEPNS_22GimmickEventDrumEscapeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumEscape const*) asm("_ZN3app8lua_bind44GimmickEventDrumEscape__store_l2c_table_implEPKNS_22GimmickEventDrumEscapeE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumEscape const*,lib::L2CValue const&) asm("_ZN3app8lua_bind44GimmickEventDrumEscape__store_l2c_table_implEPKNS_22GimmickEventDrumEscapeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumPos.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumPos { 6 | u64 load_from_l2c_table(app::GimmickEventDrumPos *,lib::L2CValue const&) asm("_ZN3app8lua_bind45GimmickEventDrumPos__load_from_l2c_table_implEPNS_19GimmickEventDrumPosERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumPos const*) asm("_ZN3app8lua_bind41GimmickEventDrumPos__store_l2c_table_implEPKNS_19GimmickEventDrumPosE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumPos const*,lib::L2CValue const&) asm("_ZN3app8lua_bind41GimmickEventDrumPos__store_l2c_table_implEPKNS_19GimmickEventDrumPosERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumRelease.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumRelease { 6 | u64 load_from_l2c_table(app::GimmickEventDrumRelease *,lib::L2CValue const&) asm("_ZN3app8lua_bind49GimmickEventDrumRelease__load_from_l2c_table_implEPNS_23GimmickEventDrumReleaseERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumRelease const*) asm("_ZN3app8lua_bind45GimmickEventDrumRelease__store_l2c_table_implEPKNS_23GimmickEventDrumReleaseE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumRelease const*,lib::L2CValue const&) asm("_ZN3app8lua_bind45GimmickEventDrumRelease__store_l2c_table_implEPKNS_23GimmickEventDrumReleaseERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventDrumShake.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventDrumShake { 6 | u64 load_from_l2c_table(app::GimmickEventDrumShake *,lib::L2CValue const&) asm("_ZN3app8lua_bind47GimmickEventDrumShake__load_from_l2c_table_implEPNS_21GimmickEventDrumShakeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventDrumShake const*) asm("_ZN3app8lua_bind43GimmickEventDrumShake__store_l2c_table_implEPKNS_21GimmickEventDrumShakeE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventDrumShake const*,lib::L2CValue const&) asm("_ZN3app8lua_bind43GimmickEventDrumShake__store_l2c_table_implEPKNS_21GimmickEventDrumShakeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventLadder.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventLadder { 6 | u64 load_from_l2c_table(app::GimmickEventLadder *,lib::L2CValue const&) asm("_ZN3app8lua_bind44GimmickEventLadder__load_from_l2c_table_implEPNS_18GimmickEventLadderERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventLadder const*) asm("_ZN3app8lua_bind40GimmickEventLadder__store_l2c_table_implEPKNS_18GimmickEventLadderE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventLadder const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40GimmickEventLadder__store_l2c_table_implEPKNS_18GimmickEventLadderERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventNotify.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventNotify { 6 | u64 load_from_l2c_table(app::GimmickEventNotify *,lib::L2CValue const&) asm("_ZN3app8lua_bind44GimmickEventNotify__load_from_l2c_table_implEPNS_18GimmickEventNotifyERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventNotify const*) asm("_ZN3app8lua_bind40GimmickEventNotify__store_l2c_table_implEPKNS_18GimmickEventNotifyE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventNotify const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40GimmickEventNotify__store_l2c_table_implEPKNS_18GimmickEventNotifyERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventPipe.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventPipe { 6 | u64 load_from_l2c_table(app::GimmickEventPipe *,lib::L2CValue const&) asm("_ZN3app8lua_bind42GimmickEventPipe__load_from_l2c_table_implEPNS_16GimmickEventPipeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventPipe const*) asm("_ZN3app8lua_bind38GimmickEventPipe__store_l2c_table_implEPKNS_16GimmickEventPipeE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventPipe const*,lib::L2CValue const&) asm("_ZN3app8lua_bind38GimmickEventPipe__store_l2c_table_implEPKNS_16GimmickEventPipeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventPos.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventPos { 6 | u64 load_from_l2c_table(app::GimmickEventPos *,lib::L2CValue const&) asm("_ZN3app8lua_bind41GimmickEventPos__load_from_l2c_table_implEPNS_15GimmickEventPosERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventPos const*) asm("_ZN3app8lua_bind37GimmickEventPos__store_l2c_table_implEPKNS_15GimmickEventPosE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventPos const*,lib::L2CValue const&) asm("_ZN3app8lua_bind37GimmickEventPos__store_l2c_table_implEPKNS_15GimmickEventPosERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventPresenter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventPresenter { 6 | u64 dispatch_event_from_fighter(app::GimmickEventPresenter *,app::GimmickEvent &) asm("_ZN3app8lua_bind55GimmickEventPresenter__dispatch_event_from_fighter_implEPNS_21GimmickEventPresenterERNS_12GimmickEventE") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventSlashEscape.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventSlashEscape { 6 | u64 load_from_l2c_table(app::GimmickEventSlashEscape *,lib::L2CValue const&) asm("_ZN3app8lua_bind49GimmickEventSlashEscape__load_from_l2c_table_implEPNS_23GimmickEventSlashEscapeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventSlashEscape const*) asm("_ZN3app8lua_bind45GimmickEventSlashEscape__store_l2c_table_implEPKNS_23GimmickEventSlashEscapeE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventSlashEscape const*,lib::L2CValue const&) asm("_ZN3app8lua_bind45GimmickEventSlashEscape__store_l2c_table_implEPKNS_23GimmickEventSlashEscapeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventSlashLockInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventSlashLockInfo { 6 | u64 load_from_l2c_table(app::GimmickEventSlashLockInfo *,lib::L2CValue const&) asm("_ZN3app8lua_bind51GimmickEventSlashLockInfo__load_from_l2c_table_implEPNS_25GimmickEventSlashLockInfoERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventSlashLockInfo const*) asm("_ZN3app8lua_bind47GimmickEventSlashLockInfo__store_l2c_table_implEPKNS_25GimmickEventSlashLockInfoE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventSlashLockInfo const*,lib::L2CValue const&) asm("_ZN3app8lua_bind47GimmickEventSlashLockInfo__store_l2c_table_implEPKNS_25GimmickEventSlashLockInfoERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventSpring.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventSpring { 6 | u64 load_from_l2c_table(app::GimmickEventSpring *,lib::L2CValue const&) asm("_ZN3app8lua_bind44GimmickEventSpring__load_from_l2c_table_implEPNS_18GimmickEventSpringERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventSpring const*) asm("_ZN3app8lua_bind40GimmickEventSpring__store_l2c_table_implEPKNS_18GimmickEventSpringE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventSpring const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40GimmickEventSpring__store_l2c_table_implEPKNS_18GimmickEventSpringERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventTornadoEscape.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventTornadoEscape { 6 | u64 load_from_l2c_table(app::GimmickEventTornadoEscape *,lib::L2CValue const&) asm("_ZN3app8lua_bind51GimmickEventTornadoEscape__load_from_l2c_table_implEPNS_25GimmickEventTornadoEscapeERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventTornadoEscape const*) asm("_ZN3app8lua_bind47GimmickEventTornadoEscape__store_l2c_table_implEPKNS_25GimmickEventTornadoEscapeE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventTornadoEscape const*,lib::L2CValue const&) asm("_ZN3app8lua_bind47GimmickEventTornadoEscape__store_l2c_table_implEPKNS_25GimmickEventTornadoEscapeERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventTornadoMoveInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventTornadoMoveInfo { 6 | u64 load_from_l2c_table(app::GimmickEventTornadoMoveInfo *,lib::L2CValue const&) asm("_ZN3app8lua_bind53GimmickEventTornadoMoveInfo__load_from_l2c_table_implEPNS_27GimmickEventTornadoMoveInfoERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventTornadoMoveInfo const*) asm("_ZN3app8lua_bind49GimmickEventTornadoMoveInfo__store_l2c_table_implEPKNS_27GimmickEventTornadoMoveInfoE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventTornadoMoveInfo const*,lib::L2CValue const&) asm("_ZN3app8lua_bind49GimmickEventTornadoMoveInfo__store_l2c_table_implEPKNS_27GimmickEventTornadoMoveInfoERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventTornadoShootInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventTornadoShootInfo { 6 | u64 load_from_l2c_table(app::GimmickEventTornadoShootInfo *,lib::L2CValue const&) asm("_ZN3app8lua_bind54GimmickEventTornadoShootInfo__load_from_l2c_table_implEPNS_28GimmickEventTornadoShootInfoERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventTornadoShootInfo const*) asm("_ZN3app8lua_bind50GimmickEventTornadoShootInfo__store_l2c_table_implEPKNS_28GimmickEventTornadoShootInfoE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventTornadoShootInfo const*,lib::L2CValue const&) asm("_ZN3app8lua_bind50GimmickEventTornadoShootInfo__store_l2c_table_implEPKNS_28GimmickEventTornadoShootInfoERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/GimmickEventWarp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace GimmickEventWarp { 6 | u64 load_from_l2c_table(app::GimmickEventWarp *,lib::L2CValue const&) asm("_ZN3app8lua_bind42GimmickEventWarp__load_from_l2c_table_implEPNS_16GimmickEventWarpERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::GimmickEventWarp const*) asm("_ZN3app8lua_bind38GimmickEventWarp__store_l2c_table_implEPKNS_16GimmickEventWarpE") LINKABLE; 8 | u64 store_l2c_table(app::GimmickEventWarp const*,lib::L2CValue const&) asm("_ZN3app8lua_bind38GimmickEventWarp__store_l2c_table_implEPKNS_16GimmickEventWarpERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/InkPaintModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace InkPaintModule { 6 | u64 ink(app::BattleObjectModuleAccessor *, unsigned int) asm("_ZN3app8lua_bind24InkPaintModule__ink_implEPNS_26BattleObjectModuleAccessorEj") LINKABLE; 7 | u64 ink_max(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind28InkPaintModule__ink_max_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 add_ink(app::BattleObjectModuleAccessor *, float,unsigned int) asm("_ZN3app8lua_bind28InkPaintModule__add_ink_implEPNS_26BattleObjectModuleAccessorEfj") LINKABLE; 9 | u64 set_ink(app::BattleObjectModuleAccessor *, float,unsigned int) asm("_ZN3app8lua_bind28InkPaintModule__set_ink_implEPNS_26BattleObjectModuleAccessorEfj") LINKABLE; 10 | u64 reset_ink(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind30InkPaintModule__reset_ink_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 11 | u64 get_ink_color(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind34InkPaintModule__get_ink_color_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | u64 set_special_paint(app::BattleObjectModuleAccessor *, app::SpecialPaintKind) asm("_ZN3app8lua_bind38InkPaintModule__set_special_paint_implEPNS_26BattleObjectModuleAccessorENS_16SpecialPaintKindE") LINKABLE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/Item.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace Item { 6 | u64 start_inhaled(app::Item *) asm("_ZN3app8lua_bind24Item__start_inhaled_implEPNS_4ItemE") LINKABLE; 7 | u64 end_hooked(app::Item *) asm("_ZN3app8lua_bind21Item__end_hooked_implEPNS_4ItemE") LINKABLE; 8 | u64 get_battle_object_id(app::Item *) asm("_ZN3app8lua_bind31Item__get_battle_object_id_implEPNS_4ItemE") LINKABLE; 9 | u64 action(app::Item *,int,float) asm("_ZN3app8lua_bind17Item__action_implEPNS_4ItemEif") LINKABLE; 10 | u64 item_module_accessor(app::Item *) asm("_ZN3app8lua_bind31Item__item_module_accessor_implEPNS_4ItemE") LINKABLE; 11 | u64 send_touch_message(app::Item *,unsigned int,const Vector3f*,float) asm("_ZN3app8lua_bind29Item__send_touch_message_implEPNS_4ItemEjRKN3phx8Vector3fEf") LINKABLE; 12 | u64 common_param_float(app::Item *,app::ItemCommonParamFloat) asm("_ZN3app8lua_bind29Item__common_param_float_implEPNS_4ItemENS_20ItemCommonParamFloatE") LINKABLE; 13 | u64 common_param_int(app::Item *,app::ItemCommonParamInt) asm("_ZN3app8lua_bind27Item__common_param_int_implEPNS_4ItemENS_18ItemCommonParamIntE") LINKABLE; 14 | u64 specialized_param_float(app::Item *,app::ItemSpecializedParamFloat) asm("_ZN3app8lua_bind34Item__specialized_param_float_implEPNS_4ItemENS_25ItemSpecializedParamFloatE") LINKABLE; 15 | u64 specialized_param_int(app::Item *,app::ItemSpecializedParamInt) asm("_ZN3app8lua_bind32Item__specialized_param_int_implEPNS_4ItemENS_23ItemSpecializedParamIntE") LINKABLE; 16 | u64 owner_id(app::Item *) asm("_ZN3app8lua_bind19Item__owner_id_implEPNS_4ItemE") LINKABLE; 17 | bool is_had(app::Item *,bool) asm("_ZN3app8lua_bind17Item__is_had_implEPNS_4ItemEb") LINKABLE; 18 | bool is_eatable(app::Item *,unsigned int) asm("_ZN3app8lua_bind21Item__is_eatable_implEPNS_4ItemEj") LINKABLE; 19 | u64 throw_attack(app::Item *,float,const Vector3f*,float) asm("_ZN3app8lua_bind23Item__throw_attack_implEPNS_4ItemEfRKN3phx8Vector3fEf") LINKABLE; 20 | u64 fall(app::Item *,float,const Vector3f*) asm("_ZN3app8lua_bind15Item__fall_implEPNS_4ItemEfRKN3phx8Vector3fE") LINKABLE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemCameraModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemCameraModuleImpl { 6 | u64 start_camera_subject(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind47ItemCameraModuleImpl__start_camera_subject_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | u64 end_camera_subject(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind45ItemCameraModuleImpl__end_camera_subject_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 set_camera_subject_pos_4_points(app::BattleObjectModuleAccessor *, const Vector4f*) asm("_ZN3app8lua_bind58ItemCameraModuleImpl__set_camera_subject_pos_4_points_implEPNS_26BattleObjectModuleAccessorERKN3phx8Vector4fE") LINKABLE; 9 | u64 clamp_camera_subject_pos(app::BattleObjectModuleAccessor *, const Vector4f*) asm("_ZN3app8lua_bind51ItemCameraModuleImpl__clamp_camera_subject_pos_implEPNS_26BattleObjectModuleAccessorERKN3phx8Vector4fE") LINKABLE; 10 | u64 set_camera_subject_enable(app::BattleObjectModuleAccessor *, int,bool) asm("_ZN3app8lua_bind52ItemCameraModuleImpl__set_camera_subject_enable_implEPNS_26BattleObjectModuleAccessorEib") LINKABLE; 11 | u64 set_camera_subject_pos(app::BattleObjectModuleAccessor *, int,const Vector3f*) asm("_ZN3app8lua_bind49ItemCameraModuleImpl__set_camera_subject_pos_implEPNS_26BattleObjectModuleAccessorEiRKN3phx8Vector3fE") LINKABLE; 12 | u64 get_camera_subject_pos(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind49ItemCameraModuleImpl__get_camera_subject_pos_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 13 | u64 set_camera_subject_range(app::BattleObjectModuleAccessor *, int,const Vector4f*) asm("_ZN3app8lua_bind51ItemCameraModuleImpl__set_camera_subject_range_implEPNS_26BattleObjectModuleAccessorEiRKN3phx8Vector4fE") LINKABLE; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemDamageModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemDamageModuleImpl { 6 | bool is_smash_damage(app::BattleObjectModuleAccessor *, float,float) asm("_ZN3app8lua_bind42ItemDamageModuleImpl__is_smash_damage_implEPNS_26BattleObjectModuleAccessorEff") LINKABLE; 7 | u64 damage_log_value_float(app::BattleObjectModuleAccessor *, u64) asm("_ZN3app8lua_bind49ItemDamageModuleImpl__damage_log_value_float_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40E") LINKABLE; 8 | u64 damage_log_value_int(app::BattleObjectModuleAccessor *, u64) asm("_ZN3app8lua_bind47ItemDamageModuleImpl__damage_log_value_int_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40E") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemInkPaintModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemInkPaintModuleImpl { 6 | u64 apply_link_ink_paint(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind49ItemInkPaintModuleImpl__apply_link_ink_paint_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemManager { 6 | u64 get_num_of_ownered_item(app::ItemManager *,unsigned int,app::ItemKind) asm("_ZN3app8lua_bind41ItemManager__get_num_of_ownered_item_implEPNS_11ItemManagerEjNS_8ItemKindE") LINKABLE; 7 | u64 get_num_of_active_item_all(app::ItemManager *) asm("_ZN3app8lua_bind44ItemManager__get_num_of_active_item_all_implEPNS_11ItemManagerE") LINKABLE; 8 | u64 get_active_item(app::ItemManager *,unsigned long) asm("_ZN3app8lua_bind33ItemManager__get_active_item_implEPNS_11ItemManagerEm") LINKABLE; 9 | u64 find_active_item_from_id(app::ItemManager *,unsigned int) asm("_ZN3app8lua_bind42ItemManager__find_active_item_from_id_implEPNS_11ItemManagerEj") LINKABLE; 10 | u64 find_active_item_from_area_id(app::ItemManager *,unsigned int) asm("_ZN3app8lua_bind47ItemManager__find_active_item_from_area_id_implEPNS_11ItemManagerEj") LINKABLE; 11 | u64 remove_item_from_id(app::ItemManager *,unsigned int) asm("_ZN3app8lua_bind37ItemManager__remove_item_from_id_implEPNS_11ItemManagerEj") LINKABLE; 12 | bool is_change_fighter_restart_position(app::ItemManager *) asm("_ZN3app8lua_bind52ItemManager__is_change_fighter_restart_position_implEPNS_11ItemManagerE") LINKABLE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemMotionAnimcmdModuleImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemMotionAnimcmdModuleImpl { 6 | u64 set_fix_rate(app::BattleObjectModuleAccessor *, float) asm("_ZN3app8lua_bind46ItemMotionAnimcmdModuleImpl__set_fix_rate_implEPNS_26BattleObjectModuleAccessorEf") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ItemParamAccessor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ItemParamAccessor { 6 | u64 boss_common_param_int(app::ItemParamAccessor *,app::ItemKind,app::BossCommonParamInt) asm("_ZN3app8lua_bind45ItemParamAccessor__boss_common_param_int_implEPNS_17ItemParamAccessorENS_8ItemKindENS_18BossCommonParamIntE") LINKABLE; 7 | bool is_valid_self_param(app::ItemParamAccessor *,app::ItemKind,u64) asm("_ZN3app8lua_bind43ItemParamAccessor__is_valid_self_param_implEPNS_17ItemParamAccessorENS_8ItemKindEN3phx6Hash40E") LINKABLE; 8 | u64 get_self_param_float(app::ItemParamAccessor *,app::ItemKind,u64) asm("_ZN3app8lua_bind44ItemParamAccessor__get_self_param_float_implEPNS_17ItemParamAccessorENS_8ItemKindEN3phx6Hash40E") LINKABLE; 9 | u64 get_self_param_int(app::ItemParamAccessor *,app::ItemKind,u64) asm("_ZN3app8lua_bind42ItemParamAccessor__get_self_param_int_implEPNS_17ItemParamAccessorENS_8ItemKindEN3phx6Hash40E") LINKABLE; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/KineticEnergy.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace KineticEnergy { 6 | u64 get_speed(app::KineticEnergy *) asm("_ZN3app8lua_bind29KineticEnergy__get_speed_implEPNS_13KineticEnergyE") LINKABLE; 7 | u64 get_speed_x(app::KineticEnergy *) asm("_ZN3app8lua_bind31KineticEnergy__get_speed_x_implEPNS_13KineticEnergyE") LINKABLE; 8 | u64 get_speed_y(app::KineticEnergy *) asm("_ZN3app8lua_bind31KineticEnergy__get_speed_y_implEPNS_13KineticEnergyE") LINKABLE; 9 | u64 get_speed3f(app::KineticEnergy *) asm("_ZN3app8lua_bind31KineticEnergy__get_speed3f_implEPNS_13KineticEnergyE") LINKABLE; 10 | u64 get_rotation(app::KineticEnergy *) asm("_ZN3app8lua_bind32KineticEnergy__get_rotation_implEPNS_13KineticEnergyE") LINKABLE; 11 | u64 reset_energy(app::KineticEnergy *,int,const Vector2f*,const Vector3f*,u64 *) asm("_ZN3app8lua_bind32KineticEnergy__reset_energy_implEPNS_13KineticEnergyEiRKN3phx8Vector2fERKNS3_8Vector3fERNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | void clear_speed(app::KineticEnergy *) asm("_ZN3app8lua_bind31KineticEnergy__clear_speed_implEPNS_13KineticEnergyE") LINKABLE; 13 | void clear_rot_speed(app::KineticEnergy *) asm("_ZN3app8lua_bind35KineticEnergy__clear_rot_speed_implEPNS_13KineticEnergyE") LINKABLE; 14 | u64 mul_speed(app::KineticEnergy *,const Vector3f*) asm("_ZN3app8lua_bind29KineticEnergy__mul_speed_implEPNS_13KineticEnergyERKN3phx8Vector3fE") LINKABLE; 15 | u64 mul_accel(app::KineticEnergy *,const Vector3f*) asm("_ZN3app8lua_bind29KineticEnergy__mul_accel_implEPNS_13KineticEnergyERKN3phx8Vector3fE") LINKABLE; 16 | u64 reflect_speed(app::KineticEnergy *,const Vector3f*) asm("_ZN3app8lua_bind33KineticEnergy__reflect_speed_implEPNS_13KineticEnergyERKN3phx8Vector3fE") LINKABLE; 17 | u64 reflect_accel(app::KineticEnergy *,const Vector3f*) asm("_ZN3app8lua_bind33KineticEnergy__reflect_accel_implEPNS_13KineticEnergyERKN3phx8Vector3fE") LINKABLE; 18 | u64 on_consider_ground_friction(app::KineticEnergy *) asm("_ZN3app8lua_bind47KineticEnergy__on_consider_ground_friction_implEPNS_13KineticEnergyE") LINKABLE; 19 | u64 off_consider_ground_friction(app::KineticEnergy *) asm("_ZN3app8lua_bind48KineticEnergy__off_consider_ground_friction_implEPNS_13KineticEnergyE") LINKABLE; 20 | u64 enable(app::KineticEnergy *) asm("_ZN3app8lua_bind26KineticEnergy__enable_implEPNS_13KineticEnergyE") LINKABLE; 21 | u64 unable(app::KineticEnergy *) asm("_ZN3app8lua_bind26KineticEnergy__unable_implEPNS_13KineticEnergyE") LINKABLE; 22 | bool is_enable(app::KineticEnergy *) asm("_ZN3app8lua_bind29KineticEnergy__is_enable_implEPNS_13KineticEnergyE") LINKABLE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/KineticEnergyNormal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace KineticEnergyNormal { 6 | u64 get_accel(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind35KineticEnergyNormal__get_accel_implEPNS_19KineticEnergyNormalE") LINKABLE; 7 | u64 get_stable_speed(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind42KineticEnergyNormal__get_stable_speed_implEPNS_19KineticEnergyNormalE") LINKABLE; 8 | u64 get_brake(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind35KineticEnergyNormal__get_brake_implEPNS_19KineticEnergyNormalE") LINKABLE; 9 | u64 get_limit_speed(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind41KineticEnergyNormal__get_limit_speed_implEPNS_19KineticEnergyNormalE") LINKABLE; 10 | u64 set_speed(app::KineticEnergyNormal *,const Vector2f*) asm("_ZN3app8lua_bind35KineticEnergyNormal__set_speed_implEPNS_19KineticEnergyNormalERKN3phx8Vector2fE") LINKABLE; 11 | u64 set_speed_3d(app::KineticEnergyNormal *,const Vector3f*) asm("_ZN3app8lua_bind38KineticEnergyNormal__set_speed_3d_implEPNS_19KineticEnergyNormalERKN3phx8Vector3fE") LINKABLE; 12 | u64 set_accel(app::KineticEnergyNormal *,const Vector2f*) asm("_ZN3app8lua_bind35KineticEnergyNormal__set_accel_implEPNS_19KineticEnergyNormalERKN3phx8Vector2fE") LINKABLE; 13 | u64 set_stable_speed(app::KineticEnergyNormal *,const Vector2f*) asm("_ZN3app8lua_bind42KineticEnergyNormal__set_stable_speed_implEPNS_19KineticEnergyNormalERKN3phx8Vector2fE") LINKABLE; 14 | u64 set_brake(app::KineticEnergyNormal *,const Vector2f*) asm("_ZN3app8lua_bind35KineticEnergyNormal__set_brake_implEPNS_19KineticEnergyNormalERKN3phx8Vector2fE") LINKABLE; 15 | u64 set_limit_speed(app::KineticEnergyNormal *,const Vector2f*) asm("_ZN3app8lua_bind41KineticEnergyNormal__set_limit_speed_implEPNS_19KineticEnergyNormalERKN3phx8Vector2fE") LINKABLE; 16 | u64 on_consider_ground_normal(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind51KineticEnergyNormal__on_consider_ground_normal_implEPNS_19KineticEnergyNormalE") LINKABLE; 17 | u64 off_consider_ground_normal(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind52KineticEnergyNormal__off_consider_ground_normal_implEPNS_19KineticEnergyNormalE") LINKABLE; 18 | bool is_consider_ground_normal(app::KineticEnergyNormal *) asm("_ZN3app8lua_bind51KineticEnergyNormal__is_consider_ground_normal_implEPNS_19KineticEnergyNormalE") LINKABLE; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/KineticEnergyRotNormal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace KineticEnergyRotNormal { 6 | u64 get_accel(app::KineticEnergyRotNormal *) asm("_ZN3app8lua_bind38KineticEnergyRotNormal__get_accel_implEPNS_22KineticEnergyRotNormalE") LINKABLE; 7 | u64 get_stable_speed(app::KineticEnergyRotNormal *) asm("_ZN3app8lua_bind45KineticEnergyRotNormal__get_stable_speed_implEPNS_22KineticEnergyRotNormalE") LINKABLE; 8 | u64 get_brake(app::KineticEnergyRotNormal *) asm("_ZN3app8lua_bind38KineticEnergyRotNormal__get_brake_implEPNS_22KineticEnergyRotNormalE") LINKABLE; 9 | u64 get_limit_speed(app::KineticEnergyRotNormal *) asm("_ZN3app8lua_bind44KineticEnergyRotNormal__get_limit_speed_implEPNS_22KineticEnergyRotNormalE") LINKABLE; 10 | u64 get_rot_speed(app::KineticEnergyRotNormal *) asm("_ZN3app8lua_bind42KineticEnergyRotNormal__get_rot_speed_implEPNS_22KineticEnergyRotNormalE") LINKABLE; 11 | u64 set_speed(app::KineticEnergyRotNormal *,const Vector3f*) asm("_ZN3app8lua_bind38KineticEnergyRotNormal__set_speed_implEPNS_22KineticEnergyRotNormalERKN3phx8Vector3fE") LINKABLE; 12 | u64 set_accel(app::KineticEnergyRotNormal *,const Vector3f*) asm("_ZN3app8lua_bind38KineticEnergyRotNormal__set_accel_implEPNS_22KineticEnergyRotNormalERKN3phx8Vector3fE") LINKABLE; 13 | u64 set_stable_speed(app::KineticEnergyRotNormal *,const Vector3f*) asm("_ZN3app8lua_bind45KineticEnergyRotNormal__set_stable_speed_implEPNS_22KineticEnergyRotNormalERKN3phx8Vector3fE") LINKABLE; 14 | u64 set_brake(app::KineticEnergyRotNormal *,const Vector3f*) asm("_ZN3app8lua_bind38KineticEnergyRotNormal__set_brake_implEPNS_22KineticEnergyRotNormalERKN3phx8Vector3fE") LINKABLE; 15 | u64 set_limit_speed(app::KineticEnergyRotNormal *,const Vector3f*) asm("_ZN3app8lua_bind44KineticEnergyRotNormal__set_limit_speed_implEPNS_22KineticEnergyRotNormalERKN3phx8Vector3fE") LINKABLE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEvent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEvent { 6 | u64 load_from_l2c_table(app::LinkEvent *,lib::L2CValue const&) asm("_ZN3app8lua_bind35LinkEvent__load_from_l2c_table_implEPNS_9LinkEventERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEvent const*) asm("_ZN3app8lua_bind31LinkEvent__store_l2c_table_implEPKNS_9LinkEventE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEvent const*,lib::L2CValue const&) asm("_ZN3app8lua_bind31LinkEvent__store_l2c_table_implEPKNS_9LinkEventERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCapture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCapture { 6 | u64 load_from_l2c_table(app::LinkEventCapture *,lib::L2CValue const&) asm("_ZN3app8lua_bind42LinkEventCapture__load_from_l2c_table_implEPNS_16LinkEventCaptureERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCapture const*) asm("_ZN3app8lua_bind38LinkEventCapture__store_l2c_table_implEPKNS_16LinkEventCaptureE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCapture const*,lib::L2CValue const&) asm("_ZN3app8lua_bind38LinkEventCapture__store_l2c_table_implEPKNS_16LinkEventCaptureERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCaptureDriver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCaptureDriver { 6 | u64 load_from_l2c_table(app::LinkEventCaptureDriver *,lib::L2CValue const&) asm("_ZN3app8lua_bind48LinkEventCaptureDriver__load_from_l2c_table_implEPNS_22LinkEventCaptureDriverERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCaptureDriver const*) asm("_ZN3app8lua_bind44LinkEventCaptureDriver__store_l2c_table_implEPKNS_22LinkEventCaptureDriverE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCaptureDriver const*,lib::L2CValue const&) asm("_ZN3app8lua_bind44LinkEventCaptureDriver__store_l2c_table_implEPKNS_22LinkEventCaptureDriverERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCaptureFishingrodDamage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCaptureFishingrodDamage { 6 | u64 load_from_l2c_table(app::LinkEventCaptureFishingrodDamage *,lib::L2CValue const&) asm("_ZN3app8lua_bind58LinkEventCaptureFishingrodDamage__load_from_l2c_table_implEPNS_32LinkEventCaptureFishingrodDamageERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCaptureFishingrodDamage const*) asm("_ZN3app8lua_bind54LinkEventCaptureFishingrodDamage__store_l2c_table_implEPKNS_32LinkEventCaptureFishingrodDamageE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCaptureFishingrodDamage const*,lib::L2CValue const&) asm("_ZN3app8lua_bind54LinkEventCaptureFishingrodDamage__store_l2c_table_implEPKNS_32LinkEventCaptureFishingrodDamageERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCaptureItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCaptureItem { 6 | u64 load_from_l2c_table(app::LinkEventCaptureItem *,lib::L2CValue const&) asm("_ZN3app8lua_bind46LinkEventCaptureItem__load_from_l2c_table_implEPNS_20LinkEventCaptureItemERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCaptureItem const*) asm("_ZN3app8lua_bind42LinkEventCaptureItem__store_l2c_table_implEPKNS_20LinkEventCaptureItemE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCaptureItem const*,lib::L2CValue const&) asm("_ZN3app8lua_bind42LinkEventCaptureItem__store_l2c_table_implEPKNS_20LinkEventCaptureItemERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCaptureMimikkyu.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCaptureMimikkyu { 6 | u64 load_from_l2c_table(app::LinkEventCaptureMimikkyu *,lib::L2CValue const&) asm("_ZN3app8lua_bind50LinkEventCaptureMimikkyu__load_from_l2c_table_implEPNS_24LinkEventCaptureMimikkyuERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCaptureMimikkyu const*) asm("_ZN3app8lua_bind46LinkEventCaptureMimikkyu__store_l2c_table_implEPKNS_24LinkEventCaptureMimikkyuE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCaptureMimikkyu const*,lib::L2CValue const&) asm("_ZN3app8lua_bind46LinkEventCaptureMimikkyu__store_l2c_table_implEPKNS_24LinkEventCaptureMimikkyuERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventCapturePulled.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventCapturePulled { 6 | u64 load_from_l2c_table(app::LinkEventCapturePulled *,lib::L2CValue const&) asm("_ZN3app8lua_bind48LinkEventCapturePulled__load_from_l2c_table_implEPNS_22LinkEventCapturePulledERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventCapturePulled const*) asm("_ZN3app8lua_bind44LinkEventCapturePulled__store_l2c_table_implEPKNS_22LinkEventCapturePulledE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventCapturePulled const*,lib::L2CValue const&) asm("_ZN3app8lua_bind44LinkEventCapturePulled__store_l2c_table_implEPKNS_22LinkEventCapturePulledERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventFinal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventFinal { 6 | u64 load_from_l2c_table(app::LinkEventFinal *,lib::L2CValue const&) asm("_ZN3app8lua_bind40LinkEventFinal__load_from_l2c_table_implEPNS_14LinkEventFinalERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventFinal const*) asm("_ZN3app8lua_bind36LinkEventFinal__store_l2c_table_implEPKNS_14LinkEventFinalE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventFinal const*,lib::L2CValue const&) asm("_ZN3app8lua_bind36LinkEventFinal__store_l2c_table_implEPKNS_14LinkEventFinalERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventLassoHang.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventLassoHang { 6 | u64 load_from_l2c_table(app::LinkEventLassoHang *,lib::L2CValue const&) asm("_ZN3app8lua_bind44LinkEventLassoHang__load_from_l2c_table_implEPNS_18LinkEventLassoHangERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventLassoHang const*) asm("_ZN3app8lua_bind40LinkEventLassoHang__store_l2c_table_implEPKNS_18LinkEventLassoHangE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventLassoHang const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40LinkEventLassoHang__store_l2c_table_implEPKNS_18LinkEventLassoHangERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventMask.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventMask { 6 | u64 load_from_l2c_table(app::LinkEventMask *,lib::L2CValue const&) asm("_ZN3app8lua_bind39LinkEventMask__load_from_l2c_table_implEPNS_13LinkEventMaskERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventMask const*) asm("_ZN3app8lua_bind35LinkEventMask__store_l2c_table_implEPKNS_13LinkEventMaskE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventMask const*,lib::L2CValue const&) asm("_ZN3app8lua_bind35LinkEventMask__store_l2c_table_implEPKNS_13LinkEventMaskERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventPos.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventPos { 6 | u64 load_from_l2c_table(app::LinkEventPos *,lib::L2CValue const&) asm("_ZN3app8lua_bind38LinkEventPos__load_from_l2c_table_implEPNS_12LinkEventPosERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventPos const*) asm("_ZN3app8lua_bind34LinkEventPos__store_l2c_table_implEPKNS_12LinkEventPosE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventPos const*,lib::L2CValue const&) asm("_ZN3app8lua_bind34LinkEventPos__store_l2c_table_implEPKNS_12LinkEventPosERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventStarShot.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventStarShot { 6 | u64 load_from_l2c_table(app::LinkEventStarShot *,lib::L2CValue const&) asm("_ZN3app8lua_bind43LinkEventStarShot__load_from_l2c_table_implEPNS_17LinkEventStarShotERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventStarShot const*) asm("_ZN3app8lua_bind39LinkEventStarShot__store_l2c_table_implEPKNS_17LinkEventStarShotE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventStarShot const*,lib::L2CValue const&) asm("_ZN3app8lua_bind39LinkEventStarShot__store_l2c_table_implEPKNS_17LinkEventStarShotERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventThrow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventThrow { 6 | u64 load_from_l2c_table(app::LinkEventThrow *,lib::L2CValue const&) asm("_ZN3app8lua_bind40LinkEventThrow__load_from_l2c_table_implEPNS_14LinkEventThrowERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventThrow const*) asm("_ZN3app8lua_bind36LinkEventThrow__store_l2c_table_implEPKNS_14LinkEventThrowE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventThrow const*,lib::L2CValue const&) asm("_ZN3app8lua_bind36LinkEventThrow__store_l2c_table_implEPKNS_14LinkEventThrowERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventTouchItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventTouchItem { 6 | u64 load_from_l2c_table(app::LinkEventTouchItem *,lib::L2CValue const&) asm("_ZN3app8lua_bind44LinkEventTouchItem__load_from_l2c_table_implEPNS_18LinkEventTouchItemERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventTouchItem const*) asm("_ZN3app8lua_bind40LinkEventTouchItem__store_l2c_table_implEPKNS_18LinkEventTouchItemE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventTouchItem const*,lib::L2CValue const&) asm("_ZN3app8lua_bind40LinkEventTouchItem__store_l2c_table_implEPKNS_18LinkEventTouchItemERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LinkEventYoshiTamagoDamageEffect.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LinkEventYoshiTamagoDamageEffect { 6 | u64 load_from_l2c_table(app::LinkEventYoshiTamagoDamageEffect *,lib::L2CValue const&) asm("_ZN3app8lua_bind58LinkEventYoshiTamagoDamageEffect__load_from_l2c_table_implEPNS_32LinkEventYoshiTamagoDamageEffectERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::LinkEventYoshiTamagoDamageEffect const*) asm("_ZN3app8lua_bind54LinkEventYoshiTamagoDamageEffect__store_l2c_table_implEPKNS_32LinkEventYoshiTamagoDamageEffectE") LINKABLE; 8 | u64 store_l2c_table(app::LinkEventYoshiTamagoDamageEffect const*,lib::L2CValue const&) asm("_ZN3app8lua_bind54LinkEventYoshiTamagoDamageEffect__store_l2c_table_implEPKNS_32LinkEventYoshiTamagoDamageEffectERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/LuaModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace LuaModule { 6 | u64 enable_line(app::BattleObjectModuleAccessor *, app::LuaScriptLineID) asm("_ZN3app8lua_bind27LuaModule__enable_line_implEPNS_26BattleObjectModuleAccessorENS_15LuaScriptLineIDE") LINKABLE; 7 | u64 disable_line(app::BattleObjectModuleAccessor *, app::LuaScriptLineID) asm("_ZN3app8lua_bind28LuaModule__disable_line_implEPNS_26BattleObjectModuleAccessorENS_15LuaScriptLineIDE") LINKABLE; 8 | bool is_valid_line(app::BattleObjectModuleAccessor *, app::LuaScriptLineID) asm("_ZN3app8lua_bind29LuaModule__is_valid_line_implEPNS_26BattleObjectModuleAccessorENS_15LuaScriptLineIDE") LINKABLE; 9 | u64 get_execute_line(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind32LuaModule__get_execute_line_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 10 | u64 reserve_status_data_array(app::BattleObjectModuleAccessor *, unsigned int) asm("_ZN3app8lua_bind41LuaModule__reserve_status_data_array_implEPNS_26BattleObjectModuleAccessorEj") LINKABLE; 11 | u64 enable_func(app::BattleObjectModuleAccessor *, app::LuaScriptStatusFuncID) asm("_ZN3app8lua_bind27LuaModule__enable_func_implEPNS_26BattleObjectModuleAccessorENS_21LuaScriptStatusFuncIDE") LINKABLE; 12 | u64 disable_func(app::BattleObjectModuleAccessor *, app::LuaScriptStatusFuncID) asm("_ZN3app8lua_bind28LuaModule__disable_func_implEPNS_26BattleObjectModuleAccessorENS_21LuaScriptStatusFuncIDE") LINKABLE; 13 | bool is_valid_func(app::BattleObjectModuleAccessor *, app::LuaScriptStatusFuncID) asm("_ZN3app8lua_bind29LuaModule__is_valid_func_implEPNS_26BattleObjectModuleAccessorENS_21LuaScriptStatusFuncIDE") LINKABLE; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/OnCalcParamEvent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace OnCalcParamEvent { 6 | u64 load_from_l2c_table(app::OnCalcParamEvent *,lib::L2CValue const&) asm("_ZN3app8lua_bind42OnCalcParamEvent__load_from_l2c_table_implEPNS_16OnCalcParamEventERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::OnCalcParamEvent const*) asm("_ZN3app8lua_bind38OnCalcParamEvent__store_l2c_table_implEPKNS_16OnCalcParamEventE") LINKABLE; 8 | u64 store_l2c_table(app::OnCalcParamEvent const*,lib::L2CValue const&) asm("_ZN3app8lua_bind38OnCalcParamEvent__store_l2c_table_implEPKNS_16OnCalcParamEventERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/Rhombus2.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace Rhombus2 { 6 | u64 load_from_l2c_table(app::Rhombus2 *,lib::L2CValue const&) asm("_ZN3app8lua_bind34Rhombus2__load_from_l2c_table_implEPNS_8Rhombus2ERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::Rhombus2 const*) asm("_ZN3app8lua_bind30Rhombus2__store_l2c_table_implEPKNS_8Rhombus2E") LINKABLE; 8 | u64 store_l2c_table(app::Rhombus2 const*,lib::L2CValue const&) asm("_ZN3app8lua_bind30Rhombus2__store_l2c_table_implEPKNS_8Rhombus2ERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ShadowModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ShadowModule { 6 | u64 set_draw(app::BattleObjectModuleAccessor *, app::ShadowDrawFlag,bool) asm("_ZN3app8lua_bind27ShadowModule__set_draw_implEPNS_26BattleObjectModuleAccessorENS_14ShadowDrawFlagEb") LINKABLE; 7 | u64 set_draw_status(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind34ShadowModule__set_draw_status_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 8 | u64 set_size(app::BattleObjectModuleAccessor *, float) asm("_ZN3app8lua_bind27ShadowModule__set_size_implEPNS_26BattleObjectModuleAccessorEf") LINKABLE; 9 | u64 set_offset_y(app::BattleObjectModuleAccessor *, float) asm("_ZN3app8lua_bind31ShadowModule__set_offset_y_implEPNS_26BattleObjectModuleAccessorEf") LINKABLE; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/ShakeModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace ShakeModule { 6 | u64 req(app::BattleObjectModuleAccessor *, u64,int,bool,const Vector2f*,float,float,bool,bool) asm("_ZN3app8lua_bind21ShakeModule__req_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40EibRKNS3_8Vector2fEffbb") LINKABLE; 7 | u64 req_time_scale(app::BattleObjectModuleAccessor *, u64,int,bool,const Vector2f*,float,float,bool,bool,int,float) asm("_ZN3app8lua_bind32ShakeModule__req_time_scale_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40EibRKNS3_8Vector2fEffbbif") LINKABLE; 8 | u64 extend(app::BattleObjectModuleAccessor *, u64,int) asm("_ZN3app8lua_bind24ShakeModule__extend_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40Ei") LINKABLE; 9 | u64 stop(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind22ShakeModule__stop_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 10 | u64 stop_kind(app::BattleObjectModuleAccessor *, u64) asm("_ZN3app8lua_bind27ShakeModule__stop_kind_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40E") LINKABLE; 11 | bool is_shake(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind26ShakeModule__is_shake_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | u64 offset(app::BattleObjectModuleAccessor *, Vector3f &) asm("_ZN3app8lua_bind24ShakeModule__offset_implEPNS_26BattleObjectModuleAccessorERN3phx8Vector3fE") LINKABLE; 13 | u64 enable_offset(app::BattleObjectModuleAccessor *, Vector3f &) asm("_ZN3app8lua_bind31ShakeModule__enable_offset_implEPNS_26BattleObjectModuleAccessorERN3phx8Vector3fE") LINKABLE; 14 | u64 disable_offset(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind32ShakeModule__disable_offset_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 15 | u64 set_scale_kind(app::BattleObjectModuleAccessor *, u64,float) asm("_ZN3app8lua_bind32ShakeModule__set_scale_kind_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40Ef") LINKABLE; 16 | u64 set_axis_xy_kind(app::BattleObjectModuleAccessor *, u64,bool) asm("_ZN3app8lua_bind34ShakeModule__set_axis_xy_kind_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40Eb") LINKABLE; 17 | u64 set_ignore_slow(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind33ShakeModule__set_ignore_slow_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/SlopeModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace SlopeModule { 6 | u64 update_model_top_angle(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind40SlopeModule__update_model_top_angle_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | u64 floor_diff_l(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind30SlopeModule__floor_diff_l_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 floor_diff_r(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind30SlopeModule__floor_diff_r_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/SlowModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace SlowModule { 6 | bool is_slow(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind24SlowModule__is_slow_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | u64 set(app::BattleObjectModuleAccessor *, int,int,int,bool,unsigned int) asm("_ZN3app8lua_bind20SlowModule__set_implEPNS_26BattleObjectModuleAccessorEiiibj") LINKABLE; 8 | u64 mag(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind20SlowModule__mag_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 9 | u64 rate_ignore_effect(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind35SlowModule__rate_ignore_effect_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 10 | u64 frame(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind22SlowModule__frame_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 11 | void clear(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind22SlowModule__clear_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | void clear_2(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind24SlowModule__clear_2_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 13 | u64 rate(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind21SlowModule__rate_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 14 | bool is_skip(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind24SlowModule__is_skip_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 15 | bool is_prev_skip(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind29SlowModule__is_prev_skip_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 16 | u64 set_whole(app::BattleObjectModuleAccessor *, unsigned char,int) asm("_ZN3app8lua_bind26SlowModule__set_whole_implEPNS_26BattleObjectModuleAccessorEhi") LINKABLE; 17 | void clear_whole(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind28SlowModule__clear_whole_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 18 | u64 whole_mag(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind26SlowModule__whole_mag_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 19 | u64 set_whole_frame(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind32SlowModule__set_whole_frame_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 20 | u64 whole_frame(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind28SlowModule__whole_frame_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/StageManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace StageManager { 6 | u64 stage_all_stop(app::StageManager *,bool) asm("_ZN3app8lua_bind33StageManager__stage_all_stop_implEPNS_12StageManagerEb") LINKABLE; 7 | bool is_discretion_final_enabled(app::StageManager *) asm("_ZN3app8lua_bind46StageManager__is_discretion_final_enabled_implEPNS_12StageManagerE") LINKABLE; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/TeamModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace TeamModule { 6 | u64 team_no(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind24TeamModule__team_no_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 7 | u64 team_second_no(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind31TeamModule__team_second_no_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | u64 set_team(app::BattleObjectModuleAccessor *, int,bool) asm("_ZN3app8lua_bind25TeamModule__set_team_implEPNS_26BattleObjectModuleAccessorEib") LINKABLE; 9 | u64 set_team_second(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind32TeamModule__set_team_second_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 10 | u64 hit_team_no(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind28TeamModule__hit_team_no_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 11 | u64 hit_team_second_no(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind35TeamModule__hit_team_second_no_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 12 | u64 set_hit_team(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind29TeamModule__set_hit_team_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 13 | u64 set_hit_team_second(app::BattleObjectModuleAccessor *, int) asm("_ZN3app8lua_bind36TeamModule__set_hit_team_second_implEPNS_26BattleObjectModuleAccessorEi") LINKABLE; 14 | u64 set_team_owner_id(app::BattleObjectModuleAccessor *, unsigned int) asm("_ZN3app8lua_bind34TeamModule__set_team_owner_id_implEPNS_26BattleObjectModuleAccessorEj") LINKABLE; 15 | u64 team_owner_id(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind30TeamModule__team_owner_id_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 16 | u64 metamon_owner_fighter_entry_id(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind47TeamModule__metamon_owner_fighter_entry_id_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/TurnModule.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace TurnModule { 6 | u64 set_turn(app::BattleObjectModuleAccessor *, u64,float,bool,bool,bool) asm("_ZN3app8lua_bind25TurnModule__set_turn_implEPNS_26BattleObjectModuleAccessorEN3phx6Hash40Efbbb") LINKABLE; 7 | u64 end_turn(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind25TurnModule__end_turn_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 8 | bool is_turn(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind24TurnModule__is_turn_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 9 | bool is_turn_after90(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind32TurnModule__is_turn_after90_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 10 | bool is_extern(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind26TurnModule__is_extern_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 11 | u64 set_omit_intermediate(app::BattleObjectModuleAccessor *, bool) asm("_ZN3app8lua_bind38TurnModule__set_omit_intermediate_implEPNS_26BattleObjectModuleAccessorEb") LINKABLE; 12 | u64 ry_reverse(app::BattleObjectModuleAccessor *) asm("_ZN3app8lua_bind27TurnModule__ry_reverse_implEPNS_26BattleObjectModuleAccessorE") LINKABLE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/Weapon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace Weapon { 6 | u64 get_founder_id(app::Weapon *) asm("_ZN3app8lua_bind27Weapon__get_founder_id_implEPNS_6WeaponE") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponKineticEnergyGravity.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponKineticEnergyGravity { 6 | u64 set_accel(app::WeaponKineticEnergyGravity *,float) asm("_ZN3app8lua_bind42WeaponKineticEnergyGravity__set_accel_implEPNS_26WeaponKineticEnergyGravityEf") LINKABLE; 7 | u64 set_speed(app::WeaponKineticEnergyGravity *,float) asm("_ZN3app8lua_bind42WeaponKineticEnergyGravity__set_speed_implEPNS_26WeaponKineticEnergyGravityEf") LINKABLE; 8 | u64 get_limit_speed(app::WeaponKineticEnergyGravity *) asm("_ZN3app8lua_bind48WeaponKineticEnergyGravity__get_limit_speed_implEPNS_26WeaponKineticEnergyGravityE") LINKABLE; 9 | u64 set_limit_speed(app::WeaponKineticEnergyGravity *,float) asm("_ZN3app8lua_bind48WeaponKineticEnergyGravity__set_limit_speed_implEPNS_26WeaponKineticEnergyGravityEf") LINKABLE; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponRobotHominglaserLinkEventBurst.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponRobotHominglaserLinkEventBurst { 6 | u64 load_from_l2c_table(app::WeaponRobotHominglaserLinkEventBurst *,lib::L2CValue const&) asm("_ZN3app8lua_bind62WeaponRobotHominglaserLinkEventBurst__load_from_l2c_table_implEPNS_36WeaponRobotHominglaserLinkEventBurstERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponRobotHominglaserLinkEventBurst const*) asm("_ZN3app8lua_bind58WeaponRobotHominglaserLinkEventBurst__store_l2c_table_implEPKNS_36WeaponRobotHominglaserLinkEventBurstE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponRobotHominglaserLinkEventBurst const*,lib::L2CValue const&) asm("_ZN3app8lua_bind58WeaponRobotHominglaserLinkEventBurst__store_l2c_table_implEPKNS_36WeaponRobotHominglaserLinkEventBurstERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponRobotHominglaserLinkEventSearch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponRobotHominglaserLinkEventSearch { 6 | u64 load_from_l2c_table(app::WeaponRobotHominglaserLinkEventSearch *,lib::L2CValue const&) asm("_ZN3app8lua_bind63WeaponRobotHominglaserLinkEventSearch__load_from_l2c_table_implEPNS_37WeaponRobotHominglaserLinkEventSearchERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponRobotHominglaserLinkEventSearch const*) asm("_ZN3app8lua_bind59WeaponRobotHominglaserLinkEventSearch__store_l2c_table_implEPKNS_37WeaponRobotHominglaserLinkEventSearchE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponRobotHominglaserLinkEventSearch const*,lib::L2CValue const&) asm("_ZN3app8lua_bind59WeaponRobotHominglaserLinkEventSearch__store_l2c_table_implEPKNS_37WeaponRobotHominglaserLinkEventSearchERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponShizueFishingrodLinkEventCliff.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponShizueFishingrodLinkEventCliff { 6 | u64 load_from_l2c_table(app::WeaponShizueFishingrodLinkEventCliff *,lib::L2CValue const&) asm("_ZN3app8lua_bind62WeaponShizueFishingrodLinkEventCliff__load_from_l2c_table_implEPNS_36WeaponShizueFishingrodLinkEventCliffERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventCliff const*) asm("_ZN3app8lua_bind58WeaponShizueFishingrodLinkEventCliff__store_l2c_table_implEPKNS_36WeaponShizueFishingrodLinkEventCliffE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventCliff const*,lib::L2CValue const&) asm("_ZN3app8lua_bind58WeaponShizueFishingrodLinkEventCliff__store_l2c_table_implEPKNS_36WeaponShizueFishingrodLinkEventCliffERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponShizueFishingrodLinkEventCut.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponShizueFishingrodLinkEventCut { 6 | u64 load_from_l2c_table(app::WeaponShizueFishingrodLinkEventCut *,lib::L2CValue const&) asm("_ZN3app8lua_bind60WeaponShizueFishingrodLinkEventCut__load_from_l2c_table_implEPNS_34WeaponShizueFishingrodLinkEventCutERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventCut const*) asm("_ZN3app8lua_bind56WeaponShizueFishingrodLinkEventCut__store_l2c_table_implEPKNS_34WeaponShizueFishingrodLinkEventCutE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventCut const*,lib::L2CValue const&) asm("_ZN3app8lua_bind56WeaponShizueFishingrodLinkEventCut__store_l2c_table_implEPKNS_34WeaponShizueFishingrodLinkEventCutERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponShizueFishingrodLinkEventReel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponShizueFishingrodLinkEventReel { 6 | u64 load_from_l2c_table(app::WeaponShizueFishingrodLinkEventReel *,lib::L2CValue const&) asm("_ZN3app8lua_bind61WeaponShizueFishingrodLinkEventReel__load_from_l2c_table_implEPNS_35WeaponShizueFishingrodLinkEventReelERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventReel const*) asm("_ZN3app8lua_bind57WeaponShizueFishingrodLinkEventReel__store_l2c_table_implEPKNS_35WeaponShizueFishingrodLinkEventReelE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventReel const*,lib::L2CValue const&) asm("_ZN3app8lua_bind57WeaponShizueFishingrodLinkEventReel__store_l2c_table_implEPKNS_35WeaponShizueFishingrodLinkEventReelERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponShizueFishingrodLinkEventShoot.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponShizueFishingrodLinkEventShoot { 6 | u64 load_from_l2c_table(app::WeaponShizueFishingrodLinkEventShoot *,lib::L2CValue const&) asm("_ZN3app8lua_bind62WeaponShizueFishingrodLinkEventShoot__load_from_l2c_table_implEPNS_36WeaponShizueFishingrodLinkEventShootERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventShoot const*) asm("_ZN3app8lua_bind58WeaponShizueFishingrodLinkEventShoot__store_l2c_table_implEPKNS_36WeaponShizueFishingrodLinkEventShootE") LINKABLE; 8 | u64 store_l2c_table(app::WeaponShizueFishingrodLinkEventShoot const*,lib::L2CValue const&) asm("_ZN3app8lua_bind58WeaponShizueFishingrodLinkEventShoot__store_l2c_table_implEPKNS_36WeaponShizueFishingrodLinkEventShootERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponSnakeMissileKineticEnergyNormal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponSnakeMissileKineticEnergyNormal { 6 | u64 set_direction(app::WeaponSnakeMissileKineticEnergyNormal *,const Vector3f*) asm("_ZN3app8lua_bind57WeaponSnakeMissileKineticEnergyNormal__set_direction_implEPNS_37WeaponSnakeMissileKineticEnergyNormalERKN3phx8Vector3fE") LINKABLE; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/WeaponSnakeNikitaMissileKineticEnergyNormal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace WeaponSnakeNikitaMissileKineticEnergyNormal { 6 | u64 set_rot_z(app::WeaponSnakeNikitaMissileKineticEnergyNormal *,float) asm("_ZN3app8lua_bind59WeaponSnakeNikitaMissileKineticEnergyNormal__set_rot_z_implEPNS_43WeaponSnakeNikitaMissileKineticEnergyNormalEf") LINKABLE; 7 | u64 rot_z(app::WeaponSnakeNikitaMissileKineticEnergyNormal *) asm("_ZN3app8lua_bind55WeaponSnakeNikitaMissileKineticEnergyNormal__rot_z_implEPNS_43WeaponSnakeNikitaMissileKineticEnergyNormalE") LINKABLE; 8 | u64 set_enable_rot(app::WeaponSnakeNikitaMissileKineticEnergyNormal *,bool) asm("_ZN3app8lua_bind64WeaponSnakeNikitaMissileKineticEnergyNormal__set_enable_rot_implEPNS_43WeaponSnakeNikitaMissileKineticEnergyNormalEb") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/lib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /*#include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace lib { 6 | struct Rect { 7 | 8 | }; 9 | 10 | u64 BasicEvent__load_from_l2c_table(lib::BasicEvent *,lib::L2CValue const&) asm("_ZN3app8lua_bind41lib__BasicEvent__load_from_l2c_table_implEPN3lib10BasicEventERKNS1_8L2CValueE") LINKABLE; 11 | u64 BasicEvent__store_l2c_table(lib::BasicEvent const*) asm("_ZN3app8lua_bind37lib__BasicEvent__store_l2c_table_implEPKN3lib10BasicEventE") LINKABLE; 12 | u64 BasicEvent__store_l2c_table(lib::BasicEvent const*,lib::L2CValue const&) asm("_ZN3app8lua_bind37lib__BasicEvent__store_l2c_table_implEPKN3lib10BasicEventERKNS1_8L2CValueE") LINKABLE; 13 | u64 Rect__load_from_l2c_table(lib::Rect *,lib::L2CValue const&) asm("_ZN3app8lua_bind35lib__Rect__load_from_l2c_table_implEPN3lib4RectERKNS1_8L2CValueE") LINKABLE; 14 | u64 Rect__store_l2c_table(lib::Rect const*) asm("_ZN3app8lua_bind31lib__Rect__store_l2c_table_implEPKN3lib4RectE") LINKABLE; 15 | u64 Rect__store_l2c_table(lib::Rect const*,lib::L2CValue const&) asm("_ZN3app8lua_bind31lib__Rect__store_l2c_table_implEPKN3lib4RectERKNS1_8L2CValueE") LINKABLE; 16 | } 17 | }*/ 18 | -------------------------------------------------------------------------------- /framework/include/app/lua_bind/stWaterAreaInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../../useful/useful.h" 4 | namespace app::lua_bind { 5 | namespace stWaterAreaInfo { 6 | u64 load_from_l2c_table(app::stWaterAreaInfo *,lib::L2CValue const&) asm("_ZN3app8lua_bind41stWaterAreaInfo__load_from_l2c_table_implEPNS_15stWaterAreaInfoERKN3lib8L2CValueE") LINKABLE; 7 | u64 store_l2c_table(app::stWaterAreaInfo const*) asm("_ZN3app8lua_bind37stWaterAreaInfo__store_l2c_table_implEPKNS_15stWaterAreaInfoE") LINKABLE; 8 | u64 store_l2c_table(app::stWaterAreaInfo const*,lib::L2CValue const&) asm("_ZN3app8lua_bind37stWaterAreaInfo__store_l2c_table_implEPKNS_15stWaterAreaInfoERKN3lib8L2CValueE") LINKABLE; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /framework/include/app/sv_battle_object.h: -------------------------------------------------------------------------------- 1 | #ifndef APP_SV_BATTLE_OBJECT_H 2 | #define APP_SV_BATTLE_OBJECT_H 3 | 4 | #include 5 | #include "useful/useful.h" 6 | 7 | namespace app::sv_battle_object { 8 | extern u64 add_speed_outside() asm("_ZN3app16sv_battle_object17add_speed_outsideEjiRKN3phx8Vector3fE") LINKABLE; 9 | extern bool is_null(uint) asm("_ZN3app16sv_battle_object7is_nullEj") LINKABLE; 10 | extern u64 notify_event_msc_cmd(u64) asm("_ZN3app16sv_battle_object20notify_event_msc_cmdEP9lua_State") LINKABLE; 11 | extern bool is_active(uint) asm("_ZN3app16sv_battle_object9is_activeEj") LINKABLE; 12 | extern int category() asm("_ZN3app16sv_battle_object8categoryEj") LINKABLE; 13 | extern u64 fixed_scaling(uint,bool,int,int,float,int) asm("_ZN3app16sv_battle_object13fixed_scalingEjbiifi") LINKABLE; 14 | extern u64 log_attack_kind(uint) asm("_ZN3app16sv_battle_object15log_attack_kindEj") LINKABLE; 15 | extern u64 pos(uint) asm("_ZN3app16sv_battle_object3posEj") LINKABLE; 16 | extern int get_item_hold_kind(uint) asm("_ZN3app16sv_battle_object18get_item_hold_kindEj") LINKABLE; 17 | extern int get_founder_id(uint) asm("_ZN3app16sv_battle_object14get_founder_idEj") LINKABLE; 18 | extern u64 set_float(uint,float,int) asm("_ZN3app16sv_battle_object9set_floatEjfi") LINKABLE; 19 | extern u64 joint_global_position_with_offset(uint,u64,Vector3f*,Vector3f*) asm("_ZN3app16sv_battle_object33joint_global_position_with_offsetEjN3phx6Hash40ERKNS1_8Vector3fERS3_") LINKABLE; 20 | extern u64 end_inhaled(uint,bool) asm("_ZN3app16sv_battle_object11end_inhaledEjb") LINKABLE; 21 | extern u64 set_power_mul_region_attr_info(u64) asm("_ZN3app16sv_battle_object30set_power_mul_region_attr_infoERNS_26BattleObjectModuleAccessorES2_") LINKABLE; 22 | extern u64 module_accessor(uint) asm("_ZN3app16sv_battle_object15module_accessorEj") LINKABLE; 23 | extern int kind(uint) asm("_ZN3app16sv_battle_object4kindEj") LINKABLE; 24 | extern u64 joint_global_position(uint,u64,Vector3f*) asm("_ZN3app16sv_battle_object21joint_global_positionEjN3phx6Hash40ERNS1_8Vector3fE") LINKABLE; 25 | extern int entry_id(uint) asm("_ZN3app16sv_battle_object8entry_idEj") LINKABLE; 26 | } 27 | 28 | #endif -------------------------------------------------------------------------------- /framework/include/app/sv_math.h: -------------------------------------------------------------------------------- 1 | #ifndef APP_SV_MATH 2 | #define APP_SV_MATH 3 | 4 | #include 5 | 6 | namespace app::sv_math { 7 | extern float vec2_angle(float, float, float, float) asm("_ZN3app7sv_math10vec2_angleEffff") LINKABLE; 8 | extern Vector3f* vec3_cross(float, float, float, float, float, float) asm("_ZN3app7sv_math10vec3_crossEffffff") LINKABLE; 9 | extern float vec2_length(float, float) asm("_ZN3app7sv_math11vec2_lengthEff") LINKABLE; 10 | extern float vec3_length(float, float, float) asm("_ZN3app7sv_math11vec3_lengthEfff") LINKABLE; 11 | extern float bezier_curve(float, float, float, float, float) asm("_ZN3app7sv_math12bezier_curveEfffff") LINKABLE; 12 | extern bool vec2_is_zero(float, float) asm("_ZN3app7sv_math12vec2_is_zeroEff") LINKABLE; 13 | extern bool vec3_is_zero(float, float, float) asm("_ZN3app7sv_math12vec3_is_zeroEfff") LINKABLE; 14 | extern float vec2_distance(float, float, float, float) asm("_ZN3app7sv_math13vec2_distanceEffff") LINKABLE; 15 | extern float vec3_distance(float, float, float, float, float, float) asm("_ZN3app7sv_math13vec3_distanceEffffff") LINKABLE; 16 | extern float vec2_normalize(float, float) asm("_ZN3app7sv_math14vec2_normalizeEff") LINKABLE; 17 | extern float vec3_normalize(float, float, float) asm("_ZN3app7sv_math14vec3_normalizeEfff") LINKABLE; 18 | extern float vec2_reflection(float, float, float, float) asm("_ZN3app7sv_math15vec2_reflectionEffff") LINKABLE; 19 | extern float vec2_length_square(float, float) asm("_ZN3app7sv_math18vec2_length_squareEff") LINKABLE; 20 | extern float vec3_between_angle(float, float, float, float, float, float, float, float, float) asm("_ZN3app7sv_math18vec3_between_angleEfffffffff") LINKABLE; 21 | extern float vec3_length_square(float, float, float) asm("_ZN3app7sv_math18vec3_length_squareEfff") LINKABLE; 22 | extern float powf(float, float) asm("_ZN3app7sv_math4powfEff") LINKABLE; 23 | extern int rand(u64,int) asm("_ZN3app7sv_math4randEN3phx6Hash40Ei") LINKABLE; 24 | extern float randf(u64,float) asm("_ZN3app7sv_math5randfEN3phx6Hash40Ef") LINKABLE; 25 | extern bool is_zero(float) asm("_ZN3app7sv_math7is_zeroEf") LINKABLE; 26 | extern float vec2_dot(float, float, float, float) asm("_ZN3app7sv_math8vec2_dotEffff") LINKABLE; 27 | extern float vec2_rot(float, float, float) asm("_ZN3app7sv_math8vec2_rotEfff") LINKABLE; 28 | extern float vec3_dot(float, float, float, float, float, float) asm("_ZN3app7sv_math8vec3_dotEffffff") LINKABLE; 29 | extern float vec3_rot(float, float, float, float, float, float) asm("_ZN3app7sv_math8vec3_rotEffffff") LINKABLE; 30 | extern float vec3_lerp(float, float, float, float, float, float, float) asm("_ZN3app7sv_math9vec3_lerpEfffffff") LINKABLE; 31 | } 32 | 33 | #endif // APP_SV_MATH -------------------------------------------------------------------------------- /framework/include/app/sv_module_access.h: -------------------------------------------------------------------------------- 1 | #ifndef APP_SV_MODULE_ACCESS_H 2 | #define APP_SV_MODULE_ACCESS_H 3 | 4 | #include 5 | #include "useful/useful.h" 6 | 7 | namespace app::sv_module_access { 8 | extern void color_blend(u64) asm("_ZN3app16sv_module_access11color_blendEP9lua_State") LINKABLE; 9 | extern void search(u64) asm("_ZN3app16sv_module_access6searchEP9lua_State") LINKABLE; 10 | extern void article(u64) asm("_ZN3app16sv_module_access7articleEP9lua_State") LINKABLE; 11 | extern void _catch(u64) asm("_ZN3app16sv_module_access6_catchEP9lua_State") LINKABLE; 12 | extern void link(u64) asm("_ZN3app16sv_module_access4linkEP9lua_State") LINKABLE; 13 | extern void shield(u64) asm("_ZN3app16sv_module_access6shieldEP9lua_State") LINKABLE; 14 | extern void camera(u64) asm("_ZN3app16sv_module_access6cameraEP9lua_State") LINKABLE; 15 | extern void attack(u64) asm("_ZN3app16sv_module_access6attackEP9lua_State") LINKABLE; 16 | extern void sound(u64) asm("_ZN3app16sv_module_access5soundEP9lua_State") LINKABLE; 17 | extern void physics(u64) asm("_ZN3app16sv_module_access7physicsEP9lua_State") LINKABLE; 18 | extern void capture(u64) asm("_ZN3app16sv_module_access7captureEP9lua_State") LINKABLE; 19 | extern void effect(u64) asm("_ZN3app16sv_module_access6effectEP9lua_State") LINKABLE; 20 | extern void slope(u64) asm("_ZN3app16sv_module_access5slopeEP9lua_State") LINKABLE; 21 | extern void grab(u64) asm("_ZN3app16sv_module_access4grabEP9lua_State") LINKABLE; 22 | extern void cancel(u64) asm("_ZN3app16sv_module_access6cancelEP9lua_State") LINKABLE; 23 | extern void item(u64) asm("_ZN3app16sv_module_access4itemEP9lua_State") LINKABLE; 24 | extern void damage(u64) asm("_ZN3app16sv_module_access6damageEP9lua_State") LINKABLE; 25 | } 26 | 27 | #endif -------------------------------------------------------------------------------- /framework/include/app/sv_system.h: -------------------------------------------------------------------------------- 1 | #ifndef APP_SV_SYSTEM_H 2 | #define APP_SV_SYSTEM_H 3 | 4 | #include 5 | #include "useful/useful.h" 6 | 7 | namespace app::sv_system { 8 | u64 battle_object(u64) asm("_ZN3app9sv_system13battle_objectEP9lua_State") LINKABLE; 9 | u64 battle_object_module_accessor(u64) asm("_ZN3app9sv_system29battle_object_module_accessorEP9lua_State") LINKABLE; 10 | u8 battle_object_category(u64) asm("_ZN3app9sv_system22battle_object_categoryEP9lua_State") LINKABLE; 11 | int battle_object_kind(u64) asm("_ZN3app9sv_system18battle_object_kindEP9lua_State") LINKABLE; 12 | int owner_id(u64) asm("_ZN3app9sv_system8owner_idEP9lua_State") LINKABLE; 13 | } 14 | 15 | #endif // APP_SV_SYSTEM_H -------------------------------------------------------------------------------- /framework/include/lib/lua_bind_hash.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | uint64_t lua_bind_hash(const void* data_, size_t len); 5 | uint64_t lua_bind_hash_str(const char* str); -------------------------------------------------------------------------------- /framework/include/phx/phx.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PHX 2 | #define PHX 3 | 4 | #include 5 | 6 | namespace phx { 7 | struct Vector2f { 8 | float x; 9 | float y; 10 | }; 11 | 12 | struct Vector3f { 13 | float x; 14 | float y; 15 | float z; 16 | }; 17 | 18 | struct Vector4f { 19 | float x; 20 | float y; 21 | float z; 22 | float w; 23 | }; 24 | 25 | struct Hash40 { 26 | uint64_t hash; 27 | }; 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /framework/include/saltysd/nn_ro.h: -------------------------------------------------------------------------------- 1 | #ifndef NN_RO_H 2 | #define NN_RO_H 3 | 4 | #include 5 | #include "useful/useful.h" 6 | 7 | #define nn_ro_LoadModule _ZN2nn2ro10LoadModuleEPNS0_6ModuleEPKvPvmi 8 | extern uint64_t _ZN2nn2ro10LoadModuleEPNS0_6ModuleEPKvPvmi(void* module, void const* unk_1, void* unk_2, unsigned long unk_3, int unk_4) LINKABLE; 9 | 10 | typedef unsigned char undefined; 11 | typedef unsigned char byte; 12 | typedef unsigned char dwfenc; 13 | typedef unsigned int dword; 14 | typedef long long longlong; 15 | typedef unsigned long long qword; 16 | typedef unsigned char uchar; 17 | typedef unsigned int uint; 18 | typedef unsigned long ulong; 19 | typedef unsigned long long ulonglong; 20 | typedef unsigned char undefined1; 21 | typedef unsigned short undefined2; 22 | typedef unsigned int undefined3; 23 | typedef unsigned int undefined4; 24 | typedef unsigned long long undefined5; 25 | typedef unsigned long long undefined6; 26 | typedef unsigned long long undefined7; 27 | typedef unsigned long long undefined8; 28 | typedef unsigned short ushort; 29 | typedef unsigned short word; 30 | 31 | enum module_state {module_unloaded, module_loaded}; 32 | 33 | typedef struct RoModule_t { 34 | struct RoModule_t *next; 35 | struct RoModule_t *prev; 36 | union { 37 | void *rel; 38 | void *rela; 39 | void *raw; 40 | } rela_or_rel_plt; 41 | union { 42 | void *rel; 43 | void *rela; 44 | } rela_or_rel; 45 | uint64_t module_base; 46 | void *dyanmic; 47 | bool is_rela; 48 | uint64_t rela_or_rel_plt_size; 49 | void (*dt_init)(void); 50 | void (*dt_fini)(void); 51 | uint32_t *hash_bucket; 52 | uint32_t *hash_chain; 53 | char *dynstr; 54 | void *dynsym; 55 | uint64_t dynstr_size; 56 | void **got; 57 | uint64_t rela_dyn_size; 58 | uint64_t rel_dyn_size; 59 | uint64_t rel_count; 60 | uint64_t rela_count; 61 | uint64_t hash_nchain_value; 62 | uint64_t hash_nbucket_value; 63 | uint64_t got_stub_ptr; 64 | } RoModule; 65 | 66 | typedef struct Module_t { 67 | RoModule *module; 68 | enum module_state state; 69 | uintptr_t module_address; 70 | uintptr_t bss_address; 71 | } Module_t; 72 | 73 | namespace nn::ro { 74 | typedef struct Module { /* PlaceHolder Structure */ 75 | Module_t module; 76 | void *field_0x20; 77 | void *src_buffer; 78 | char name[256]; /* Created by retype action */ 79 | undefined field_0x130; 80 | undefined field_0x131; 81 | undefined4 is_loaded; // bool 82 | } Module; 83 | 84 | extern int LoadModule(nn::ro::Module *, void const*, void *, unsigned long, int) LINKABLE; 85 | } 86 | 87 | # endif // NN_RO_H 88 | -------------------------------------------------------------------------------- /framework/include/saltysd/saltysd_core.h: -------------------------------------------------------------------------------- 1 | #ifndef SALTYSD_CORE_H 2 | #define SALTYSD_CORE_H 3 | 4 | #include 5 | #include 6 | 7 | #include "useful/useful.h" 8 | 9 | extern "C" { 10 | u64 SaltySDCore_getCodeStart() LINKABLE; 11 | u64 SaltySDCore_getCodeSize() LINKABLE; 12 | u64 SaltySDCore_findCode(u8* code, size_t size) LINKABLE; 13 | extern FILE* SaltySDCore_fopen(const char* filename, const char* mode) LINKABLE; 14 | extern size_t SaltySDCore_fread(void* ptr, size_t size, size_t count, FILE* stream) LINKABLE; 15 | extern int SaltySDCore_fclose(FILE* stream) LINKABLE; 16 | extern int SaltySDCore_fseek(FILE* stream, int64_t offset, int origin) LINKABLE; 17 | extern int64_t SaltySDCore_ftell(FILE* stream) LINKABLE; 18 | extern int SaltySDCore_remove(const char* filename) LINKABLE; 19 | extern size_t SaltySDCore_fwrite(const void* ptr, size_t size, size_t count, FILE* stream) LINKABLE; 20 | extern DIR* SaltySDCore_opendir(const char* dirname) LINKABLE; 21 | extern struct dirent* SaltySDCore_readdir(DIR* dirp) LINKABLE; 22 | extern int SaltySDCore_closedir(DIR *dirp) LINKABLE; 23 | } 24 | 25 | #endif // SALTYSD_CORE_H 26 | -------------------------------------------------------------------------------- /framework/include/saltysd/saltysd_dynamic.h: -------------------------------------------------------------------------------- 1 | #ifndef SALTYSD_DYNAMIC_H 2 | #define SALTYSD_DYNAMIC_H 3 | 4 | #include 5 | 6 | #include "useful/useful.h" 7 | 8 | extern "C" { 9 | uint64_t SaltySDCore_GetSymbolAddr(void* base, char* name) LINKABLE; 10 | uint64_t SaltySDCore_FindSymbol(char* name) LINKABLE; 11 | uint64_t SaltySDCore_FindSymbolBuiltin(char* name) LINKABLE; 12 | void SaltySDCore_RegisterModule(void* base) LINKABLE; 13 | void SaltySDCore_RegisterBuiltinModule(void* base) LINKABLE; 14 | void SaltySDCore_DynamicLinkModule(void* base) LINKABLE; 15 | void SaltySDCore_ReplaceModuleImport(void* base, char* name, void* new_replace) LINKABLE; 16 | void SaltySDCore_ReplaceImport(char* name, void* new_replace) LINKABLE; 17 | } 18 | 19 | #endif // SALTYSD_DYNAMIC_H 20 | -------------------------------------------------------------------------------- /framework/include/saltysd/saltysd_helper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #define ANCHOR_REL 0x70ffffc000 6 | extern u64 ANCHOR_ABS; 7 | #define IMPORT(x) (x - ANCHOR_REL + ANCHOR_ABS) 8 | 9 | int SaltySD_function_replace(u64 addr, u64 new_func); 10 | int SaltySD_function_replace_sym(char* function_sym, u64 new_func); 11 | int SaltySD_function_replace_sym_check_prev(char* function_sym, u64 new_func, u64& prev_func); -------------------------------------------------------------------------------- /framework/include/saltysd/saltysd_ipc.h: -------------------------------------------------------------------------------- 1 | #ifndef SALTYSD_IPC_H 2 | #define SALTYSD_IPC_H 3 | 4 | #include 5 | 6 | #include "useful/useful.h" 7 | 8 | extern "C" { 9 | void SaltySD_Init() LINKABLE; 10 | Result SaltySD_Deinit() LINKABLE; 11 | Result SaltySD_Term() LINKABLE; 12 | Result SaltySD_Restore() LINKABLE; 13 | Result SaltySD_LoadELF(u64 heap, u64* elf_addr, u64* elf_size, char* name) LINKABLE; 14 | Result SaltySD_Memcpy(u64 to, u64 from, u64 size) LINKABLE; 15 | Result SaltySD_GetSDCard(Handle *retrieve) LINKABLE; 16 | Result SaltySD_printf(const char* format, ...) LINKABLE; 17 | } 18 | 19 | #endif //SALTYSD_IPC_H 20 | -------------------------------------------------------------------------------- /framework/include/useful/raygun_printer.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void print_string(u64 module_accessor, const char* format, ...); -------------------------------------------------------------------------------- /framework/include/useful/useful.h: -------------------------------------------------------------------------------- 1 | #ifndef USEFUL_H 2 | #define USEFUL_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define LOAD64 *(u64 *) 9 | 10 | #define LINKABLE __attribute__ ((weak)) 11 | 12 | #define debug_log(...) \ 13 | {char log_buf[0x200]; snprintf(log_buf, 0x200, __VA_ARGS__); \ 14 | svcOutputDebugString(log_buf, strlen(log_buf));} 15 | 16 | typedef struct Vector2f { 17 | float x; 18 | float y; 19 | } Vector2f; 20 | 21 | typedef struct Vector3f { 22 | float x; 23 | float y; 24 | float z; 25 | } Vector3f; 26 | 27 | typedef struct Vector4f { 28 | float x; 29 | float y; 30 | float z; 31 | float w; 32 | }Vector4f; 33 | 34 | #endif // USEFUL_H 35 | -------------------------------------------------------------------------------- /framework/include/wrapper.hpp: -------------------------------------------------------------------------------- 1 | #include "missing_types.h" 2 | #include "lib/l2c_imports.h" 3 | #include "phx/phx.hpp" 4 | #include "app/FL_sv_module_access.h" 5 | #include "app/lua_bind.h" 6 | #include "app/sv_animcmd.h" 7 | #include "app/sv_battle_object.h" 8 | #include "app/sv_kinetic_energy.h" 9 | #include "app/sv_math.h" 10 | #include "app/sv_module_access.h" 11 | #include "app/sv_system.h" 12 | -------------------------------------------------------------------------------- /framework/source/imports/lib/l2c_imports.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "lib/l2c_imports.h" 4 | #include "lib/lua_bind_hash.h" 5 | #include "useful/useful.h" 6 | 7 | //==================================// 8 | //============== lib ===============// 9 | //==================================// 10 | int lib::lua_const(const char* str) { 11 | int val; 12 | if (lib::lua_bind_get_value(lua_bind_hash_str(str), &val)) 13 | return val; 14 | else 15 | return -1; 16 | } 17 | 18 | //==================================// 19 | //========= lib::L2CValue ==========// 20 | //==================================// 21 | lib::L2CValue::L2CValue() {} 22 | lib::L2CValue::L2CValue(bool val) { 23 | type = L2C_bool; 24 | raw = val; 25 | } 26 | lib::L2CValue::L2CValue(int val) { 27 | type = L2C_integer; 28 | raw = val; 29 | } 30 | lib::L2CValue::L2CValue(u64 val) { 31 | type = L2C_integer; 32 | raw = val; 33 | } 34 | lib::L2CValue::L2CValue(float val) { 35 | type = L2C_number; 36 | raw_float = val; 37 | } 38 | lib::L2CValue::L2CValue(double val) { 39 | type = L2C_number; 40 | raw_float = val; 41 | } 42 | lib::L2CValue::L2CValue(const char* str) { 43 | type = L2C_void; 44 | } 45 | 46 | //==================================// 47 | //========= lib::L2CAgent ==========// 48 | //==================================// 49 | void lib::L2CAgent::get_lua_stack(int index, lib::L2CValue* l2c_val) { 50 | asm("mov x8, %x0" : : "r"(l2c_val) : "x8" ); 51 | lib::L2CAgent::pop_lua_stack(index); 52 | } 53 | u64 lib::L2CAgent::_clear_lua_stack() { 54 | u64 lua_state, v2, i; 55 | lua_state = this->lua_state_agent; 56 | 57 | v2 = LOAD64(lua_state + 16); 58 | for (i = LOAD64(LOAD64((lua_state + 32))) + 16LL; v2 < i; v2 = LOAD64(lua_state + 16)) { 59 | LOAD64(lua_state + 16) = v2 + 16; 60 | *(__int32_t *)(v2 + 8) = 0; 61 | } 62 | LOAD64(lua_state + 16) = i; 63 | return (u64)this; 64 | } -------------------------------------------------------------------------------- /framework/source/saltysd/saltysd_helper.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "saltysd/saltysd_core.h" 4 | #include "saltysd/saltysd_ipc.h" 5 | #include "saltysd/saltysd_dynamic.h" 6 | 7 | u64 ANCHOR_ABS; 8 | int SaltySD_function_replace(u64 addr, u64 new_func) { 9 | if (addr) { 10 | SaltySD_Memcpy(addr, (u64) "\x49\x00\x00\x58", 4); // LDR X9, .+8 11 | SaltySD_Memcpy(addr+4, (u64) "\x20\x01\x1F\xD6", 4); // BR X9 12 | SaltySD_Memcpy(addr+8, (u64) &new_func, 8); // .dword newaddr 13 | 14 | return 0; 15 | } 16 | return -1; 17 | } 18 | 19 | int SaltySD_function_replace_sym(char* function_sym, u64 new_func) { 20 | u64 addr = SaltySDCore_FindSymbol(function_sym); 21 | return SaltySD_function_replace(addr, new_func); 22 | } 23 | 24 | int SaltySD_function_replace_sym_check_prev(char* function_sym, u64 new_func, u64& prev_func) { 25 | u64 addr = SaltySDCore_FindSymbol(function_sym); 26 | if (addr) { 27 | if (strncmp((char*) addr, "\x49\x00\x00\x58", 4) == 0 && 28 | strncmp((char*) addr+4, "\x20\x01\x1F\xD6", 4) == 0) 29 | prev_func = *(u64*)(addr+8); 30 | } 31 | return SaltySD_function_replace(addr, new_func); 32 | } -------------------------------------------------------------------------------- /lib/libnx_min/CODESTYLE.md: -------------------------------------------------------------------------------- 1 | # Code Style 2 | 3 | ## Types 4 | `TypesAreCapitalizedLikeThis` 5 | 6 | ## Enums 7 | `EnumType_EnumName` 8 | 9 | ## Struct members 10 | `like_this` 11 | 12 | `notlikethis` 13 | 14 | ## Local variables 15 | `like_this` 16 | 17 | `notlikethis` 18 | 19 | ## Global variables (or global statics) 20 | `g_variableName` 21 | 22 | ## Functions 23 | `modulenameFunctionName` 24 | 25 | ### Submodule function naming 26 | Singletons use names like smInitialize/smExit 27 | 28 | Objects use names like tmemCreate/tmemClose 29 | 30 | ## Macros 31 | `LIKE_THIS` 32 | -------------------------------------------------------------------------------- /lib/libnx_min/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2017-2018 libnx Authors 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 4 | 5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /lib/libnx_min/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | $(MAKE) -C nx/ 3 | 4 | install: 5 | $(MAKE) -C nx/ install 6 | 7 | clean: 8 | $(MAKE) -C nx/ clean 9 | -------------------------------------------------------------------------------- /lib/libnx_min/README.md: -------------------------------------------------------------------------------- 1 | # Nintendo Switch AArch64-only userland library. 2 | Based on libctru. 3 | 4 | [![Build status](https://doozer.io/badge/switchbrew/libnx/buildstatus/master)](https://doozer.io/switchbrew/libnx) 5 | 6 | # Install instructions 7 | See [Switchbrew](https://switchbrew.org/wiki/Setting_up_Development_Environment). 8 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/default_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimate-research/code-mod-framework/5bf10c5444613cdbe7f0cc58fd9cb1c940f9b1ab/lib/libnx_min/nx/default_icon.jpg -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/applets/pctlauth.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file pctlauth.h 3 | * @brief Wrapper for using the Parental Controls authentication LibraryApplet. This applet is used by qlaunch. 4 | * @author yellows8 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// Type values for PctlAuthArg::type. 11 | typedef enum { 12 | PctlAuthType_Show = 0, ///< ShowParentalAuthentication 13 | PctlAuthType_RegisterPasscode = 1, ///< RegisterParentalPasscode 14 | PctlAuthType_ChangePasscode = 2, ///< ChangeParentalPasscode 15 | } PctlAuthType; 16 | 17 | /// Input arg storage for the applet. 18 | typedef struct { 19 | u32 unk_x0; ///< Always set to 0 by the user-process. 20 | PctlAuthType type; ///< \ref PctlAuthType 21 | u8 arg0; ///< Arg0 22 | u8 arg1; ///< Arg1 23 | u8 arg2; ///< Arg2 24 | u8 pad; ///< Padding 25 | } PctlAuthArg; 26 | 27 | /** 28 | * @brief Launches the applet. 29 | * @note Should not be used if a PIN is not already registered. See \ref pctlIsRestrictionEnabled. 30 | * @param flag Input flag. false = temporarily disable Parental Controls. true = validate the input PIN. 31 | */ 32 | Result pctlauthShow(bool flag); 33 | 34 | /** 35 | * @brief Launches the applet. Only available with [4.0.0+]. 36 | * @param arg0 Value for PctlAuthArg.arg0. 37 | * @param arg1 Value for PctlAuthArg.arg1. 38 | * @param arg2 Value for PctlAuthArg.arg2. 39 | */ 40 | Result pctlauthShowEx(u8 arg0, u8 arg1, u8 arg2); 41 | 42 | /** 43 | * @brief Just calls: pctlauthShowEx(1, 0, 1). Launches the applet for checking the PIN, used when changing system-settings. 44 | * @note Should not be used if a PIN is not already registered. See \ref pctlIsRestrictionEnabled. 45 | */ 46 | Result pctlauthShowForConfiguration(void); 47 | 48 | /** 49 | * @brief Launches the applet for registering the Parental Controls PIN. 50 | */ 51 | Result pctlauthRegisterPasscode(void); 52 | 53 | /** 54 | * @brief Launches the applet for changing the Parental Controls PIN. 55 | * @note Should not be used if a PIN is not already registered. See \ref pctlIsRestrictionEnabled. 56 | */ 57 | Result pctlauthChangePasscode(void); 58 | 59 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/arm/atomics.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file atomics.h 3 | * @brief AArch64 atomic operations. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// Atomically increments a 32-bit value. 11 | static inline u32 atomicIncrement32(u32* p) { 12 | return __atomic_fetch_add(p, 1, __ATOMIC_SEQ_CST); 13 | } 14 | 15 | /// Atomically decrements a 32-bit value. 16 | static inline u32 atomicDecrement32(u32* p) { 17 | return __atomic_sub_fetch(p, 1, __ATOMIC_SEQ_CST); 18 | } 19 | 20 | /// Atomically increments a 64-bit value. 21 | static inline u64 atomicIncrement64(u64* p) { 22 | return __atomic_fetch_add(p, 1, __ATOMIC_SEQ_CST); 23 | } 24 | 25 | /// Atomically decrements a 64-bit value. 26 | static inline u64 atomicDecrement64(u64* p) { 27 | return __atomic_sub_fetch(p, 1, __ATOMIC_SEQ_CST); 28 | } 29 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/arm/cache.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file cache.h 3 | * @brief AArch64 cache operations. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /** 11 | * @brief Performs a data cache flush on the specified buffer. 12 | * @param addr Address of the buffer. 13 | * @param size Size of the buffer, in bytes. 14 | * @remarks Cache flush is defined as Clean + Invalidate. 15 | * @note The start and end addresses of the buffer are forcibly rounded to cache line boundaries (read from CTR_EL0 system register). 16 | */ 17 | void armDCacheFlush(void* addr, size_t size); 18 | 19 | /** 20 | * @brief Performs a data cache clean on the specified buffer. 21 | * @param addr Address of the buffer. 22 | * @param size Size of the buffer, in bytes. 23 | * @note The start and end addresses of the buffer are forcibly rounded to cache line boundaries (read from CTR_EL0 system register). 24 | */ 25 | void armDCacheClean(void* addr, size_t size); 26 | 27 | /** 28 | * @brief Performs an instruction cache invalidation clean on the specified buffer. 29 | * @param addr Address of the buffer. 30 | * @param size Size of the buffer, in bytes. 31 | * @note The start and end addresses of the buffer are forcibly rounded to cache line boundaries (read from CTR_EL0 system register). 32 | */ 33 | void armICacheInvalidate(void* addr, size_t size); 34 | 35 | /** 36 | * @brief Performs a data cache zeroing operation on the specified buffer. 37 | * @param addr Address of the buffer. 38 | * @param size Size of the buffer, in bytes. 39 | * @note The start and end addresses of the buffer are forcibly rounded to cache line boundaries (read from CTR_EL0 system register). 40 | */ 41 | void armDCacheZero(void* addr, size_t size); 42 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/arm/counter.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file counter.h 3 | * @brief AArch64 system counter-timer. 4 | * @author fincs 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /** 11 | * @brief Gets the current system tick. 12 | * @return The current system tick. 13 | */ 14 | static inline u64 armGetSystemTick(void) { 15 | u64 ret; 16 | __asm__ __volatile__ ("mrs %x[data], cntpct_el0" : [data] "=r" (ret)); 17 | return ret; 18 | } 19 | 20 | /** 21 | * @brief Gets the system counter-timer frequency 22 | * @return The system counter-timer frequency, in Hz. 23 | */ 24 | static inline u64 armGetSystemTickFreq(void) { 25 | u64 ret; 26 | __asm__ ("mrs %x[data], cntfrq_el0" : [data] "=r" (ret)); 27 | return ret; 28 | } 29 | 30 | /** 31 | * @brief Converts from nanoseconds to CPU ticks unit. 32 | * @param ns Time in nanoseconds. 33 | * @return Time in CPU ticks. 34 | */ 35 | static inline u64 armNsToTicks(u64 ns) { 36 | return (ns * 12) / 625; 37 | } 38 | 39 | /** 40 | * @brief Converts from CPU ticks unit to nanoseconds. 41 | * @param tick Time in ticks. 42 | * @return Time in nanoseconds. 43 | */ 44 | static inline u64 armTicksToNs(u64 tick) { 45 | return (tick * 625) / 12; 46 | } 47 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/arm/tls.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file tls.h 3 | * @brief AArch64 thread local storage. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /** 11 | * @brief Gets the thread local storage buffer. 12 | * @return The thread local storage buffer. 13 | */ 14 | static inline void* armGetTls(void) { 15 | void* ret; 16 | __asm__ ("mrs %x[data], tpidrro_el0" : [data] "=r" (ret)); 17 | return ret; 18 | } 19 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/audio/audio.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file audio.h 3 | * @brief Global audio service. 4 | * @author hexkyz 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | 9 | #include "../types.h" 10 | 11 | typedef enum { 12 | PcmFormat_Invalid = 0, 13 | PcmFormat_Int8 = 1, 14 | PcmFormat_Int16 = 2, 15 | PcmFormat_Int24 = 3, 16 | PcmFormat_Int32 = 4, 17 | PcmFormat_Float = 5, 18 | PcmFormat_Adpcm = 6, 19 | } PcmFormat; 20 | 21 | typedef struct { 22 | char name[0x100]; 23 | } AudioDeviceName; 24 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/aes_cbc.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file aes_cbc.h 3 | * @brief Hardware accelerated AES-CBC implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "aes.h" 8 | 9 | /// Context for AES-128 CBC. 10 | typedef struct { 11 | Aes128Context aes_ctx; 12 | u8 iv[AES_BLOCK_SIZE]; 13 | u8 buffer[AES_BLOCK_SIZE]; 14 | size_t num_buffered; 15 | } Aes128CbcContext; 16 | 17 | /// Context for AES-192 CBC. 18 | typedef struct { 19 | Aes192Context aes_ctx; 20 | u8 iv[AES_BLOCK_SIZE]; 21 | u8 buffer[AES_BLOCK_SIZE]; 22 | size_t num_buffered; 23 | } Aes192CbcContext; 24 | 25 | /// Context for AES-256 CBC. 26 | typedef struct { 27 | Aes256Context aes_ctx; 28 | u8 iv[AES_BLOCK_SIZE]; 29 | u8 buffer[AES_BLOCK_SIZE]; 30 | size_t num_buffered; 31 | } Aes256CbcContext; 32 | 33 | /// 128-bit CBC API. 34 | void aes128CbcContextCreate(Aes128CbcContext *out, const void *key, const void *iv, bool is_encryptor); 35 | void aes128CbcContextResetIv(Aes128CbcContext *ctx, const void *iv); 36 | size_t aes128CbcEncrypt(Aes128CbcContext *ctx, void *dst, const void *src, size_t size); 37 | size_t aes128CbcDecrypt(Aes128CbcContext *ctx, void *dst, const void *src, size_t size); 38 | 39 | /// 192-bit CBC API. 40 | void aes192CbcContextCreate(Aes192CbcContext *out, const void *key, const void *iv, bool is_encryptor); 41 | void aes192CbcContextResetIv(Aes192CbcContext *ctx, const void *iv); 42 | size_t aes192CbcEncrypt(Aes192CbcContext *ctx, void *dst, const void *src, size_t size); 43 | size_t aes192CbcDecrypt(Aes192CbcContext *ctx, void *dst, const void *src, size_t size); 44 | 45 | /// 256-bit CBC API. 46 | void aes256CbcContextCreate(Aes256CbcContext *out, const void *key, const void *iv, bool is_encryptor); 47 | void aes256CbcContextResetIv(Aes256CbcContext *ctx, const void *iv); 48 | size_t aes256CbcEncrypt(Aes256CbcContext *ctx, void *dst, const void *src, size_t size); 49 | size_t aes256CbcDecrypt(Aes256CbcContext *ctx, void *dst, const void *src, size_t size); 50 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/aes_ctr.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file aes_ctr.h 3 | * @brief Hardware accelerated AES-CTR implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "aes.h" 8 | 9 | /// Context for AES-128 CTR. 10 | typedef struct { 11 | Aes128Context aes_ctx; 12 | u8 ctr[AES_BLOCK_SIZE]; 13 | u8 enc_ctr_buffer[AES_BLOCK_SIZE]; 14 | size_t buffer_offset; 15 | } Aes128CtrContext; 16 | 17 | /// Context for AES-192 CTR. 18 | typedef struct { 19 | Aes192Context aes_ctx; 20 | u8 ctr[AES_BLOCK_SIZE]; 21 | u8 enc_ctr_buffer[AES_BLOCK_SIZE]; 22 | size_t buffer_offset; 23 | } Aes192CtrContext; 24 | 25 | /// Context for AES-256 CTR. 26 | typedef struct { 27 | Aes256Context aes_ctx; 28 | u8 ctr[AES_BLOCK_SIZE]; 29 | u8 enc_ctr_buffer[AES_BLOCK_SIZE]; 30 | size_t buffer_offset; 31 | } Aes256CtrContext; 32 | 33 | /// 128-bit CTR API. 34 | void aes128CtrContextCreate(Aes128CtrContext *out, const void *key, const void *ctr); 35 | void aes128CtrContextResetCtr(Aes128CtrContext *ctx, const void *ctr); 36 | void aes128CtrCrypt(Aes128CtrContext *ctx, void *dst, const void *src, size_t size); 37 | 38 | /// 192-bit CTR API. 39 | void aes192CtrContextCreate(Aes192CtrContext *out, const void *key, const void *ctr); 40 | void aes192CtrContextResetCtr(Aes192CtrContext *ctx, const void *ctr); 41 | void aes192CtrCrypt(Aes192CtrContext *ctx, void *dst, const void *src, size_t size); 42 | 43 | /// 256-bit CTR API. 44 | void aes256CtrContextCreate(Aes256CtrContext *out, const void *key, const void *ctr); 45 | void aes256CtrContextResetCtr(Aes256CtrContext *ctx, const void *ctr); 46 | void aes256CtrCrypt(Aes256CtrContext *ctx, void *dst, const void *src, size_t size); 47 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/aes_xts.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file aes_xts.h 3 | * @brief Hardware accelerated AES-XTS implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "aes.h" 8 | 9 | /// Context for AES-128 XTS. 10 | typedef struct { 11 | Aes128Context aes_ctx; 12 | Aes128Context tweak_ctx; 13 | u8 tweak[AES_BLOCK_SIZE]; 14 | u8 buffer[AES_BLOCK_SIZE]; 15 | size_t num_buffered; 16 | } Aes128XtsContext; 17 | 18 | /// Context for AES-192 XTS. 19 | typedef struct { 20 | Aes192Context aes_ctx; 21 | Aes192Context tweak_ctx; 22 | u8 tweak[AES_BLOCK_SIZE]; 23 | u8 buffer[AES_BLOCK_SIZE]; 24 | size_t num_buffered; 25 | } Aes192XtsContext; 26 | 27 | /// Context for AES-256 XTS. 28 | typedef struct { 29 | Aes256Context aes_ctx; 30 | Aes256Context tweak_ctx; 31 | u8 tweak[AES_BLOCK_SIZE]; 32 | u8 buffer[AES_BLOCK_SIZE]; 33 | size_t num_buffered; 34 | } Aes256XtsContext; 35 | 36 | /// 128-bit XTS API. 37 | void aes128XtsContextCreate(Aes128XtsContext *out, const void *key0, const void *key1, bool is_encryptor); 38 | void aes128XtsContextResetTweak(Aes128XtsContext *ctx, const void *tweak); 39 | void aes128XtsContextResetSector(Aes128XtsContext *ctx, uint64_t sector, bool is_nintendo); 40 | size_t aes128XtsEncrypt(Aes128XtsContext *ctx, void *dst, const void *src, size_t size); 41 | size_t aes128XtsDecrypt(Aes128XtsContext *ctx, void *dst, const void *src, size_t size); 42 | 43 | /// 192-bit XTS API. 44 | void aes192XtsContextCreate(Aes192XtsContext *out, const void *key0, const void *key1, bool is_encryptor); 45 | void aes192XtsContextResetTweak(Aes192XtsContext *ctx, const void *tweak); 46 | void aes192XtsContextResetSector(Aes192XtsContext *ctx, uint64_t sector, bool is_nintendo); 47 | size_t aes192XtsEncrypt(Aes192XtsContext *ctx, void *dst, const void *src, size_t size); 48 | size_t aes192XtsDecrypt(Aes192XtsContext *ctx, void *dst, const void *src, size_t size); 49 | 50 | /// 256-bit XTS API. 51 | void aes256XtsContextCreate(Aes256XtsContext *out, const void *key0, const void *key1, bool is_encryptor); 52 | void aes256XtsContextResetTweak(Aes256XtsContext *ctx, const void *tweak); 53 | void aes256XtsContextResetSector(Aes256XtsContext *ctx, uint64_t sector, bool is_nintendo); 54 | size_t aes256XtsEncrypt(Aes256XtsContext *ctx, void *dst, const void *src, size_t size); 55 | size_t aes256XtsDecrypt(Aes256XtsContext *ctx, void *dst, const void *src, size_t size); 56 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/cmac.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file cmac.h 3 | * @brief Hardware accelerated AES-CMAC implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "aes.h" 8 | 9 | /// Context for AES-128 CMAC. 10 | typedef struct { 11 | Aes128Context ctx; 12 | u8 subkey[AES_BLOCK_SIZE]; 13 | u8 mac[AES_BLOCK_SIZE]; 14 | u8 buffer[AES_BLOCK_SIZE]; 15 | size_t num_buffered; 16 | bool finalized; 17 | } Aes128CmacContext; 18 | 19 | /// Context for AES-192 CMAC. 20 | typedef struct { 21 | Aes192Context ctx; 22 | u8 subkey[AES_BLOCK_SIZE]; 23 | u8 mac[AES_BLOCK_SIZE]; 24 | u8 buffer[AES_BLOCK_SIZE]; 25 | size_t num_buffered; 26 | bool finalized; 27 | } Aes192CmacContext; 28 | 29 | /// Context for AES-256 CMAC. 30 | typedef struct { 31 | Aes256Context ctx; 32 | u8 subkey[AES_BLOCK_SIZE]; 33 | u8 mac[AES_BLOCK_SIZE]; 34 | u8 buffer[AES_BLOCK_SIZE]; 35 | size_t num_buffered; 36 | bool finalized; 37 | } Aes256CmacContext; 38 | 39 | /// Initialize an AES-128-CMAC context. 40 | void cmacAes128ContextCreate(Aes128CmacContext *out, const void *key); 41 | /// Updates AES-128-CMAC context with data to hash 42 | void cmacAes128ContextUpdate(Aes128CmacContext *ctx, const void *src, size_t size); 43 | /// Gets the context's output mac, finalizes the context. 44 | void cmacAes128ContextGetMac(Aes128CmacContext *ctx, void *dst); 45 | 46 | /// Simple all-in-one AES-128-CMAC calculator. 47 | void cmacAes128CalculateMac(void *dst, const void *key, const void *src, size_t size); 48 | 49 | /// Initialize an AES-192-CMAC context. 50 | void cmacAes192ContextCreate(Aes192CmacContext *out, const void *key); 51 | /// Updates AES-192-CMAC context with data to hash 52 | void cmacAes192ContextUpdate(Aes192CmacContext *ctx, const void *src, size_t size); 53 | /// Gets the context's output mac, finalizes the context. 54 | void cmacAes192ContextGetMac(Aes192CmacContext *ctx, void *dst); 55 | 56 | /// Simple all-in-one AES-192-CMAC calculator. 57 | void cmacAes192CalculateMac(void *dst, const void *key, const void *src, size_t size); 58 | 59 | /// Initialize an AES-256-CMAC context. 60 | void cmacAes256ContextCreate(Aes256CmacContext *out, const void *key); 61 | /// Updates AES-256-CMAC context with data to hash 62 | void cmacAes256ContextUpdate(Aes256CmacContext *ctx, const void *src, size_t size); 63 | /// Gets the context's output mac, finalizes the context. 64 | void cmacAes256ContextGetMac(Aes256CmacContext *ctx, void *dst); 65 | 66 | /// Simple all-in-one AES-256-CMAC calculator. 67 | void cmacAes256CalculateMac(void *dst, const void *key, const void *src, size_t size); 68 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/crc.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file crc.h 3 | * @brief Hardware accelerated CRC32 implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include 8 | #include "../types.h" 9 | 10 | #define _CRC_ALIGN(sz, insn) \ 11 | do { \ 12 | if (((uintptr_t)src_u8 & sizeof(sz)) && (u64)len >= sizeof(sz)) { \ 13 | crc = __crc32##insn(crc, *((const sz *)src_u8)); \ 14 | src_u8 += sizeof(sz); \ 15 | len -= sizeof(sz); \ 16 | } \ 17 | } while (0) 18 | 19 | #define _CRC_REMAINDER(sz, insn) \ 20 | do { \ 21 | if (len & sizeof(sz)) { \ 22 | crc = __crc32##insn(crc, *((const sz *)src_u8)); \ 23 | src_u8 += sizeof(sz); \ 24 | } \ 25 | } while (0) 26 | 27 | /// Calculate a CRC32 over data. 28 | static inline u32 crc32Calculate(const void *src, size_t size) { 29 | const u8 *src_u8 = (const u8 *)src; 30 | 31 | u32 crc = 0xFFFFFFFF; 32 | s64 len = size; 33 | 34 | _CRC_ALIGN(u8, b); 35 | _CRC_ALIGN(u16, h); 36 | _CRC_ALIGN(u32, w); 37 | 38 | while ((len -= sizeof(u64)) >= 0) { 39 | crc = __crc32d(crc, *((const u64 *)src_u8)); 40 | src_u8 += sizeof(u64); 41 | } 42 | 43 | _CRC_REMAINDER(u32, w); 44 | _CRC_REMAINDER(u16, h); 45 | _CRC_REMAINDER(u8, b); 46 | 47 | return crc ^ 0xFFFFFFFF; 48 | } 49 | 50 | /// Calculate a CRC32C over data. 51 | static inline u32 crc32cCalculate(const void *src, size_t size) { 52 | const u8 *src_u8 = (const u8 *)src; 53 | 54 | u32 crc = 0xFFFFFFFF; 55 | s64 len = size; 56 | 57 | _CRC_ALIGN(u8, cb); 58 | _CRC_ALIGN(u16, ch); 59 | _CRC_ALIGN(u32, cw); 60 | 61 | while ((len -= sizeof(u64)) >= 0) { 62 | crc = __crc32cd(crc, *((const u64 *)src_u8)); 63 | src_u8 += sizeof(u64); 64 | } 65 | 66 | _CRC_REMAINDER(u32, cw); 67 | _CRC_REMAINDER(u16, ch); 68 | _CRC_REMAINDER(u8, cb); 69 | 70 | return crc ^ 0xFFFFFFFF; 71 | } 72 | 73 | #undef _CRC_REMAINDER 74 | #undef _CRC_ALIGN 75 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/hmac.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file hmac.h 3 | * @brief Hardware accelerated HMAC-SHA(1, 256) implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "sha1.h" 8 | #include "sha256.h" 9 | 10 | /// Context for HMAC-SHA1 operations. 11 | typedef struct { 12 | Sha1Context sha_ctx; 13 | u32 key[SHA1_BLOCK_SIZE / sizeof(u32)]; 14 | u32 mac[SHA1_HASH_SIZE / sizeof(u32)]; 15 | bool finalized; 16 | } HmacSha1Context; 17 | 18 | /// Context for HMAC-SHA256 operations. 19 | typedef struct { 20 | Sha256Context sha_ctx; 21 | u32 key[SHA256_BLOCK_SIZE / sizeof(u32)]; 22 | u32 mac[SHA256_HASH_SIZE / sizeof(u32)]; 23 | bool finalized; 24 | } HmacSha256Context; 25 | 26 | #ifndef HMAC_SHA1_KEY_MAX 27 | #define HMAC_SHA1_KEY_MAX (sizeof(((HmacSha1Context *)NULL)->key)) 28 | #endif 29 | #ifndef HMAC_SHA256_KEY_MAX 30 | #define HMAC_SHA256_KEY_MAX (sizeof(((HmacSha256Context *)NULL)->key)) 31 | #endif 32 | 33 | /// Initialize a HMAC-SHA256 context. 34 | void hmacSha256ContextCreate(HmacSha256Context *out, const void *key, size_t key_size); 35 | /// Updates HMAC-SHA256 context with data to hash 36 | void hmacSha256ContextUpdate(HmacSha256Context *ctx, const void *src, size_t size); 37 | /// Gets the context's output mac, finalizes the context. 38 | void hmacSha256ContextGetMac(HmacSha256Context *ctx, void *dst); 39 | 40 | /// Simple all-in-one HMAC-SHA256 calculator. 41 | void hmacSha256CalculateMac(void *dst, const void *key, size_t key_size, const void *src, size_t size); 42 | 43 | /// Initialize a HMAC-SHA1 context. 44 | void hmacSha1ContextCreate(HmacSha1Context *out, const void *key, size_t key_size); 45 | /// Updates HMAC-SHA1 context with data to hash 46 | void hmacSha1ContextUpdate(HmacSha1Context *ctx, const void *src, size_t size); 47 | /// Gets the context's output mac, finalizes the context. 48 | void hmacSha1ContextGetMac(HmacSha1Context *ctx, void *dst); 49 | 50 | /// Simple all-in-one HMAC-SHA1 calculator. 51 | void hmacSha1CalculateMac(void *dst, const void *key, size_t key_size, const void *src, size_t size); 52 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/sha1.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sha1.h 3 | * @brief Hardware accelerated SHA1 implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "../types.h" 8 | 9 | #ifndef SHA1_HASH_SIZE 10 | #define SHA1_HASH_SIZE 0x14 11 | #endif 12 | 13 | #ifndef SHA1_BLOCK_SIZE 14 | #define SHA1_BLOCK_SIZE 0x40 15 | #endif 16 | 17 | /// Context for SHA1 operations. 18 | typedef struct { 19 | u32 intermediate_hash[SHA1_HASH_SIZE / sizeof(u32)]; 20 | u8 buffer[SHA1_BLOCK_SIZE]; 21 | u64 bits_consumed; 22 | size_t num_buffered; 23 | bool finalized; 24 | } Sha1Context; 25 | 26 | /// Initialize a SHA1 context. 27 | void sha1ContextCreate(Sha1Context *out); 28 | /// Updates SHA1 context with data to hash 29 | void sha1ContextUpdate(Sha1Context *ctx, const void *src, size_t size); 30 | /// Gets the context's output hash, finalizes the context. 31 | void sha1ContextGetHash(Sha1Context *ctx, void *dst); 32 | 33 | /// Simple all-in-one SHA1 calculator. 34 | void sha1CalculateHash(void *dst, const void *src, size_t size); 35 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/crypto/sha256.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sha256.h 3 | * @brief Hardware accelerated SHA256 implementation. 4 | * @copyright libnx Authors 5 | */ 6 | #pragma once 7 | #include "../types.h" 8 | 9 | 10 | #ifndef SHA256_HASH_SIZE 11 | #define SHA256_HASH_SIZE 0x20 12 | #endif 13 | 14 | #ifndef SHA256_BLOCK_SIZE 15 | #define SHA256_BLOCK_SIZE 0x40 16 | #endif 17 | 18 | /// Context for SHA256 operations. 19 | typedef struct { 20 | u32 intermediate_hash[SHA256_HASH_SIZE / sizeof(u32)]; 21 | u8 buffer[SHA256_BLOCK_SIZE]; 22 | u64 bits_consumed; 23 | size_t num_buffered; 24 | bool finalized; 25 | } Sha256Context; 26 | 27 | /// Initialize a SHA256 context. 28 | void sha256ContextCreate(Sha256Context *out); 29 | /// Updates SHA256 context with data to hash 30 | void sha256ContextUpdate(Sha256Context *ctx, const void *src, size_t size); 31 | /// Gets the context's output hash, finalizes the context. 32 | void sha256ContextGetHash(Sha256Context *ctx, void *dst); 33 | 34 | /// Simple all-in-one SHA256 calculator. 35 | void sha256CalculateHash(void *dst, const void *src, size_t size); 36 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/barrier.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file barrier.h 3 | * @brief Multi-threading Barrier 4 | * @author tatehaga 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "mutex.h" 9 | #include "condvar.h" 10 | 11 | /// Barrier structure. 12 | typedef struct Barrier { 13 | u64 count; ///< Number of threads to reach the barrier. 14 | u64 total; ///< Number of threads to wait on. 15 | Mutex mutex; 16 | CondVar condvar; 17 | } Barrier; 18 | 19 | /** 20 | * @brief Initializes a barrier and the number of threads to wait on. 21 | * @param b Barrier object. 22 | * @param thread_count Initial value for the number of threads the barrier must wait for. 23 | */ 24 | void barrierInit(Barrier *b, u64 thread_count); 25 | 26 | /** 27 | * @brief Forces threads to wait until all threads have called barrierWait. 28 | * @param b Barrier object. 29 | */ 30 | void barrierWait(Barrier *b); 31 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/condvar.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file condvar.h 3 | * @brief Condition variable synchronization primitive. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../kernel/svc.h" 10 | #include "../kernel/mutex.h" 11 | 12 | /// Condition variable. 13 | typedef u32 CondVar; 14 | 15 | /** 16 | * @brief Initializes a condition variable. 17 | * @param[in] c Condition variable object. 18 | */ 19 | static inline void condvarInit(CondVar* c) 20 | { 21 | *c = 0; 22 | } 23 | 24 | /** 25 | * @brief Waits on a condition variable with a timeout. 26 | * @param[in] c Condition variable object. 27 | * @param[in] m Mutex object to use inside the condition variable. 28 | * @param[in] timeout Timeout in nanoseconds. 29 | * @return Result code (0xEA01 on timeout). 30 | * @remark On function return, the underlying mutex is acquired. 31 | */ 32 | Result condvarWaitTimeout(CondVar* c, Mutex* m, u64 timeout); 33 | 34 | /** 35 | * @brief Waits on a condition variable. 36 | * @param[in] c Condition variable object. 37 | * @param[in] m Mutex object to use inside the condition variable. 38 | * @return Result code. 39 | * @remark On function return, the underlying mutex is acquired. 40 | */ 41 | static inline Result condvarWait(CondVar* c, Mutex* m) 42 | { 43 | return condvarWaitTimeout(c, m, U64_MAX); 44 | } 45 | 46 | /** 47 | * @brief Wakes up up to the specified number of threads waiting on a condition variable. 48 | * @param[in] c Condition variable object. 49 | * @param[in] num Maximum number of threads to wake up (or -1 to wake them all up). 50 | * @return Result code. 51 | */ 52 | static inline Result condvarWake(CondVar* c, int num) 53 | { 54 | return svcSignalProcessWideKey(c, num); 55 | } 56 | 57 | /** 58 | * @brief Wakes up a single thread waiting on a condition variable. 59 | * @param[in] c Condition variable object. 60 | * @return Result code. 61 | */ 62 | static inline Result condvarWakeOne(CondVar* c) 63 | { 64 | return condvarWake(c, 1); 65 | } 66 | 67 | /** 68 | * @brief Wakes up all thread waiting on a condition variable. 69 | * @param[in] c Condition variable object. 70 | * @return Result code. 71 | */ 72 | static inline Result condvarWakeAll(CondVar* c) 73 | { 74 | return condvarWake(c, -1); 75 | } 76 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/detect.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file detect.h 3 | * @brief Kernel capability detection 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// Returns the kernel version that can be detected by checking kernel capabilities. This only goes from 1 (representing 1.0.0) up to 6 (representing 6.0.0 and above). Generally, \ref hosversionGet should be used instead of this function. 11 | int detectKernelVersion(void); 12 | /// Returns true if the process has a debugger attached. 13 | bool detectDebugger(void); 14 | /// Returns true if the kernel is patched to allow self-process-jit. 15 | bool detectJitKernelPatch(void); 16 | /// After this has been called, libnx will ignore the self-process-jit kernel patch. For testing purposes only. 17 | void detectIgnoreJitKernelPatch(void); 18 | 19 | /// Returns true if the kernel version is equal to or above 2.0.0. Generally, \ref hosversionAtLeast should be used instead of this function. 20 | static inline bool kernelAbove200(void) { 21 | return detectKernelVersion() >= 2; 22 | } 23 | 24 | /// Returns true if the kernel version is equal to or above 3.0.0. Generally, \ref hosversionAtLeast should be used instead of this function. 25 | static inline bool kernelAbove300(void) { 26 | return detectKernelVersion() >= 3; 27 | } 28 | 29 | /// Returns true if the kernel version is equal to or above 4.0.0. Generally, \ref hosversionAtLeast should be used instead of this function. 30 | static inline bool kernelAbove400(void) { 31 | return detectKernelVersion() >= 4; 32 | } 33 | 34 | /// Returns true if the kernel version is equal to or above 5.0.0. Generally, \ref hosversionAtLeast should be used instead of this function. 35 | static inline bool kernelAbove500(void) { 36 | return detectKernelVersion() >= 5; 37 | } 38 | 39 | /// Returns true if the kernel version is equal to or above 6.0.0. Generally, \ref hosversionAtLeast should be used instead of this function. 40 | static inline bool kernelAbove600(void) { 41 | return detectKernelVersion() >= 6; 42 | } 43 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/jit.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file jit.h 3 | * @brief Just-in-time compilation support. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// JIT implementation type. 11 | typedef enum { 12 | JitType_CodeMemory, ///< JIT supported using svcSetProcessMemoryPermission 13 | JitType_JitMemory, ///< JIT supported using 4.0.0+ code-memory syscalls (this isn't usable on 5.0.0+ so JitType_CodeMemory is used instead). 14 | } JitType; 15 | 16 | /// JIT buffer object. 17 | typedef struct { 18 | JitType type; 19 | size_t size; 20 | void* src_addr; 21 | void* rx_addr; 22 | void* rw_addr; 23 | bool is_executable; 24 | Handle handle; 25 | } Jit; 26 | 27 | /** 28 | * @brief Creates a JIT buffer. 29 | * @param j JIT buffer. 30 | * @param size Size of the JIT buffer. 31 | * @return Result code. 32 | */ 33 | Result jitCreate(Jit* j, size_t size); 34 | 35 | /** 36 | * @brief Transition a JIT buffer to have writable permission. 37 | * @param j JIT buffer. 38 | * @return Result code. 39 | */ 40 | Result jitTransitionToWritable(Jit* j); 41 | 42 | /** 43 | * @brief Transition a JIT buffer to have executable permission. 44 | * @param j JIT buffer. 45 | * @return Result code. 46 | */ 47 | Result jitTransitionToExecutable(Jit* j); 48 | 49 | /** 50 | * @brief Destroys a JIT buffer. 51 | * @param j JIT buffer. 52 | * @return Result code. 53 | */ 54 | Result jitClose(Jit* j); 55 | 56 | /** 57 | * @brief Gets the address of the writable memory alias of a JIT buffer. 58 | * @param j JIT buffer. 59 | * @return Pointer to alias of the JIT buffer that can be written to. 60 | */ 61 | void* jitGetRwAddr(Jit* j); 62 | 63 | /** 64 | * @brief Gets the address of the executable memory alias of a JIT buffer. 65 | * @param j JIT buffer. 66 | * @return Pointer to alias of the JIT buffer that can be executed. 67 | */ 68 | void* jitGetRxAddr(Jit* j); 69 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/mutex.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mutex.h 3 | * @brief Mutex synchronization primitive. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include 9 | #include "../types.h" 10 | 11 | /// Mutex datatype, defined in newlib. 12 | typedef _LOCK_T Mutex; 13 | /// Recursive mutex datatype, defined in newlib. 14 | typedef _LOCK_RECURSIVE_T RMutex; 15 | 16 | /** 17 | * @brief Initializes a mutex. 18 | * @param m Mutex object. 19 | * @note A mutex can also be statically initialized by assigning 0 to it. 20 | */ 21 | static inline void mutexInit(Mutex* m) 22 | { 23 | *m = 0; 24 | } 25 | 26 | /** 27 | * @brief Locks a mutex. 28 | * @param m Mutex object. 29 | */ 30 | void mutexLock(Mutex* m); 31 | 32 | /** 33 | * @brief Attempts to lock a mutex without waiting. 34 | * @param m Mutex object. 35 | * @return 1 if the mutex has been acquired successfully, and 0 on contention. 36 | */ 37 | bool mutexTryLock(Mutex* m); 38 | 39 | /** 40 | * @brief Unlocks a mutex. 41 | * @param m Mutex object. 42 | */ 43 | void mutexUnlock(Mutex* m); 44 | 45 | /** 46 | * @brief Initializes a recursive mutex. 47 | * @param m Recursive mutex object. 48 | * @note A recursive mutex can also be statically initialized by assigning {0,0,0} to it. 49 | */ 50 | static inline void rmutexInit(RMutex* m) 51 | { 52 | m->lock = 0; 53 | m->thread_tag = 0; 54 | m->counter = 0; 55 | } 56 | 57 | /** 58 | * @brief Locks a recursive mutex. 59 | * @param m Recursive mutex object. 60 | */ 61 | void rmutexLock(RMutex* m); 62 | 63 | /** 64 | * @brief Attempts to lock a recursive mutex without waiting. 65 | * @param m Recursive mutex object. 66 | * @return 1 if the mutex has been acquired successfully, and 0 on contention. 67 | */ 68 | bool rmutexTryLock(RMutex* m); 69 | 70 | /** 71 | * @brief Unlocks a recursive mutex. 72 | * @param m Recursive mutex object. 73 | */ 74 | void rmutexUnlock(RMutex* m); 75 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/random.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file random.h 3 | * @brief OS-seeded pseudo-random number generation support (ChaCha algorithm). 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /** 11 | * @brief Fills a buffer with random data. 12 | * @param buf Pointer to the buffer. 13 | * @param len Size of the buffer in bytes. 14 | */ 15 | void randomGet(void* buf, size_t len); 16 | 17 | /** 18 | * @brief Returns a random 64-bit value. 19 | * @return Random value. 20 | */ 21 | u64 randomGet64(void); 22 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/rwlock.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file rwlock.h 3 | * @brief Read/write lock synchronization primitive. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../kernel/mutex.h" 9 | #include "../kernel/condvar.h" 10 | 11 | /// Read/write lock structure. 12 | typedef struct { 13 | Mutex mutex; 14 | CondVar condvar_readers; 15 | CondVar condvar_writer; 16 | u32 readers : 31; 17 | bool writer : 1; 18 | } RwLock; 19 | 20 | /** 21 | * @brief Initializes the read/write lock. 22 | * @param r Read/write lock object. 23 | */ 24 | void rwlockInit(RwLock* r); 25 | 26 | /** 27 | * @brief Locks the read/write lock for reading. 28 | * @param r Read/write lock object. 29 | */ 30 | void rwlockReadLock(RwLock* r); 31 | 32 | /** 33 | * @brief Unlocks the read/write lock for reading. 34 | * @param r Read/write lock object. 35 | */ 36 | void rwlockReadUnlock(RwLock* r); 37 | 38 | /** 39 | * @brief Locks the read/write lock for writing. 40 | * @param r Read/write lock object. 41 | */ 42 | void rwlockWriteLock(RwLock* r); 43 | 44 | /** 45 | * @brief Unlocks the read/write lock for writing. 46 | * @param r Read/write lock object. 47 | */ 48 | void rwlockWriteUnlock(RwLock* r); 49 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/semaphore.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file semaphore.h 3 | * @brief Thread synchronization based on Mutex. 4 | * @author SciresM & Kevoot 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | 9 | #include "mutex.h" 10 | #include "condvar.h" 11 | 12 | /// Semaphore structure. 13 | typedef struct Semaphore 14 | { 15 | CondVar condvar; ///< Condition variable object. 16 | Mutex mutex; ///< Mutex object. 17 | u64 count; ///< Internal counter. 18 | } Semaphore; 19 | 20 | /** 21 | * @brief Initializes a semaphore and its internal counter. 22 | * @param s Semaphore object. 23 | * @param initial_count initial value for internal counter (typically the # of free resources). 24 | */ 25 | void semaphoreInit(Semaphore *s, u64 initial_count); 26 | 27 | /** 28 | * @brief Increments the Semaphore to allow other threads to continue. 29 | * @param s Semaphore object. 30 | */ 31 | void semaphoreSignal(Semaphore *s); 32 | 33 | /** 34 | * @brief Decrements Semaphore and waits if 0. 35 | * @param s Semaphore object. 36 | */ 37 | void semaphoreWait(Semaphore *s); 38 | 39 | /** 40 | * @brief Attempts to get lock without waiting. 41 | * @param s Semaphore object. 42 | * @return true if no wait and successful lock, false otherwise. 43 | */ 44 | bool semaphoreTryWait(Semaphore *s); 45 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/shmem.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file shmem.h 3 | * @brief Shared memory object handling 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | * @remark Shared memory differs from transfer memory in the fact that the kernel (as opposed to the user process) allocates and owns its backing memory. 7 | */ 8 | #pragma once 9 | #include "../types.h" 10 | 11 | /// Shared memory information structure. 12 | typedef struct { 13 | Handle handle; ///< Kernel object handle. 14 | size_t size; ///< Size of the shared memory object. 15 | Permission perm; ///< Permissions. 16 | void* map_addr; ///< Address to which the shared memory object is mapped. 17 | } SharedMemory; 18 | 19 | /** 20 | * @brief Creates a shared memory object. 21 | * @param s Shared memory information structure which will be filled in. 22 | * @param size Size of the shared memory object to create. 23 | * @param local_perm Permissions with which the shared memory object will be mapped in the local process. 24 | * @param remote_perm Permissions with which the shared memory object will be mapped in the remote process (can be Perm_DontCare). 25 | * @return Result code. 26 | * @warning This is a privileged operation; in normal circumstances applications cannot use this function. 27 | */ 28 | Result shmemCreate(SharedMemory* s, size_t size, Permission local_perm, Permission remote_perm); 29 | 30 | /** 31 | * @brief Loads a shared memory object coming from a remote process. 32 | * @param s Shared memory information structure which will be filled in. 33 | * @param handle Handle of the shared memory object. 34 | * @param size Size of the shared memory object that is being loaded. 35 | * @param perm Permissions with which the shared memory object will be mapped in the local process. 36 | */ 37 | void shmemLoadRemote(SharedMemory* s, Handle handle, size_t size, Permission perm); 38 | 39 | /** 40 | * @brief Maps a shared memory object. 41 | * @param s Shared memory information structure. 42 | * @return Result code. 43 | */ 44 | Result shmemMap(SharedMemory* s); 45 | 46 | /** 47 | * @brief Unmaps a shared memory object. 48 | * @param s Shared memory information structure. 49 | * @return Result code. 50 | */ 51 | Result shmemUnmap(SharedMemory* s); 52 | 53 | /** 54 | * @brief Retrieves the mapped address of a shared memory object. 55 | * @param s Shared memory information structure. 56 | * @return Mapped address of the shared memory object. 57 | */ 58 | static inline void* shmemGetAddr(SharedMemory* s) { 59 | return s->map_addr; 60 | } 61 | 62 | /** 63 | * @brief Frees up resources used by a shared memory object, unmapping and closing handles, etc. 64 | * @param s Shared memory information structure. 65 | * @return Result code. 66 | */ 67 | Result shmemClose(SharedMemory* s); 68 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/uevent.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file uevent.h 3 | * @brief User-mode event synchronization primitive. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "wait.h" 9 | 10 | typedef struct UEvent UEvent; 11 | 12 | /// User-mode event object. 13 | struct UEvent { 14 | Waitable waitable; 15 | bool signal; 16 | bool auto_clear; 17 | }; 18 | 19 | /// Creates a waiter for a user-mode event. 20 | static inline Waiter waiterForUEvent(UEvent* e) 21 | { 22 | Waiter wait_obj; 23 | wait_obj.type = WaiterType_Waitable; 24 | wait_obj.waitable = &e->waitable; 25 | return wait_obj; 26 | } 27 | 28 | /** 29 | * @brief Creates a user-mode event. 30 | * @param[out] e UEvent object. 31 | * @param[in] auto_clear Whether to automatically clear the event. 32 | * @note It is safe to wait on this event with several threads simultaneously. 33 | * @note If more than one thread is listening on it, at least one thread will get the signal. No other guarantees. 34 | */ 35 | void ueventCreate(UEvent* e, bool auto_clear); 36 | 37 | /** 38 | * @brief Clears the event signal. 39 | * @param[in] e UEvent object. 40 | */ 41 | void ueventClear(UEvent* e); 42 | 43 | /** 44 | * @brief Signals the event. 45 | * @param[in] e UEvent object. 46 | */ 47 | void ueventSignal(UEvent* e); 48 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/utimer.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file utimer.h 3 | * @brief User-mode timer synchronization primitive. 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "wait.h" 9 | 10 | typedef struct UTimer UTimer; 11 | 12 | /// Valid types for a user-mode timer. 13 | typedef enum { 14 | TimerType_OneShot, ///< Timers of this kind fire once and then stop automatically. 15 | TimerType_Repeating, ///< Timers of this kind fire periodically. 16 | } TimerType; 17 | 18 | /// User-mode timer object. 19 | struct UTimer { 20 | Waitable waitable; 21 | TimerType type : 8; 22 | bool started : 1; 23 | u64 next_tick; 24 | u64 interval; 25 | }; 26 | 27 | /// Creates a waiter for a user-mode timer. 28 | static inline Waiter waiterForUTimer(UTimer* t) 29 | { 30 | Waiter wait_obj; 31 | wait_obj.type = WaiterType_Waitable; 32 | wait_obj.waitable = &t->waitable; 33 | return wait_obj; 34 | } 35 | 36 | /** 37 | * @brief Creates a user-mode timer. 38 | * @param[out] t UTimer object. 39 | * @param[in] interval Interval (in nanoseconds). 40 | * @param[in] type Type of timer to create (see \ref TimerType). 41 | * @note The timer is stopped when it is created. Use \ref utimerStart to start it. 42 | * @note It is safe to wait on this timer with several threads simultaneously. 43 | * @note If more than one thread is listening on it, at least one thread will get the signal. No other guarantees. 44 | * @note For a repeating timer: If the timer triggers twice before you wait on it, you will only get one signal. 45 | */ 46 | void utimerCreate(UTimer* t, u64 interval, TimerType type); 47 | 48 | /** 49 | * @brief Starts the timer. 50 | * @param[in] t UTimer object. 51 | */ 52 | void utimerStart(UTimer* t); 53 | 54 | /** 55 | * @brief Stops the timer. 56 | * @param[in] t UTimer object. 57 | */ 58 | void utimerStop(UTimer* t); 59 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/kernel/virtmem.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file virtmem.h 3 | * @brief Virtual memory mapping utilities 4 | * @author plutoo 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /** 11 | * @brief Reserves a slice of general purpose address space. 12 | * @param size The size of the slice of address space that will be reserved (rounded up to page alignment). 13 | * @return Pointer to the slice of address space, or NULL on failure. 14 | */ 15 | void* virtmemReserve(size_t size); 16 | 17 | /** 18 | * @brief Relinquishes a slice of address space reserved with virtmemReserve (currently no-op). 19 | * @param addr Pointer to the slice. 20 | * @param size Size of the slice. 21 | */ 22 | void virtmemFree(void* addr, size_t size); 23 | 24 | /** 25 | * @brief Reserves a slice of address space inside the stack memory mapping region (for use with svcMapMemory). 26 | * @param size The size of the slice of address space that will be reserved (rounded up to page alignment). 27 | * @return Pointer to the slice of address space, or NULL on failure. 28 | */ 29 | void* virtmemReserveStack(size_t size); 30 | 31 | /** 32 | * @brief Relinquishes a slice of address space reserved with virtmemReserveStack (currently no-op). 33 | * @param addr Pointer to the slice. 34 | * @param size Size of the slice. 35 | */ 36 | void virtmemFreeStack(void* addr, size_t size); 37 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/nacp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file nacp.h 3 | * @brief Control.nacp structure / related code for nacp. 4 | * @copyright libnx Authors 5 | */ 6 | 7 | #pragma once 8 | 9 | /// Language entry. These strings are UTF-8. 10 | typedef struct { 11 | char name[0x200]; 12 | char author[0x100]; 13 | } NacpLanguageEntry; 14 | 15 | typedef struct { 16 | NacpLanguageEntry lang[16]; 17 | 18 | u8 x3000_unk[0x24];////Normally all-zero? 19 | u32 x3024_unk; 20 | u32 x3028_unk; 21 | u32 x302C_unk; 22 | u32 x3030_unk; 23 | u32 x3034_unk; 24 | u64 titleID0; 25 | 26 | u8 x3040_unk[0x20]; 27 | char version[0x10]; 28 | 29 | u64 titleID_DlcBase; 30 | u64 titleID1; 31 | 32 | u32 x3080_unk; 33 | u32 x3084_unk; 34 | u32 x3088_unk; 35 | u8 x308C_unk[0x24];//zeros? 36 | 37 | u64 titleID2; 38 | u64 titleIDs[7];//"Array of application titleIDs, normally the same as the above app-titleIDs. Only set for game-updates?" 39 | 40 | u32 x30F0_unk; 41 | u32 x30F4_unk; 42 | 43 | u64 titleID3;//"Application titleID. Only set for game-updates?" 44 | 45 | char bcatPassphrase[0x40]; 46 | u8 x3140_unk[0xEC0];//Normally all-zero? 47 | } NacpStruct; 48 | 49 | /// Get the NacpLanguageEntry from the input nacp corresponding to the current system language (this may fallback to other languages when needed). Output langentry is NULL if none found / content of entry is empty. 50 | Result nacpGetLanguageEntry(NacpStruct* nacp, NacpLanguageEntry** langentry); 51 | 52 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/nro.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file nro.h 3 | * @brief NRO headers. 4 | * @copyright libnx Authors 5 | */ 6 | 7 | #pragma once 8 | 9 | #define NROHEADER_MAGIC 0x304f524e 10 | 11 | #define NROASSETHEADER_MAGIC 0x54455341 12 | #define NROASSETHEADER_VERSION 0 13 | 14 | /// Entry for each segment in the codebin. 15 | typedef struct { 16 | u32 file_off; 17 | u32 size; 18 | } NroSegment; 19 | 20 | /// Offset 0x0 in the NRO. 21 | typedef struct { 22 | u32 unused; 23 | u32 mod_offset; 24 | u8 padding[8]; 25 | } NroStart; 26 | 27 | /// This follows NroStart, the actual nro-header. 28 | typedef struct { 29 | u32 magic; 30 | u32 unk1; 31 | u32 size; 32 | u32 unk2; 33 | NroSegment segments[3]; 34 | u32 bss_size; 35 | u32 unk3; 36 | u8 build_id[0x20]; 37 | u8 padding[0x20]; 38 | } NroHeader; 39 | 40 | /// Custom asset section. 41 | typedef struct { 42 | u64 offset; 43 | u64 size; 44 | } NroAssetSection; 45 | 46 | /// Custom asset header. 47 | typedef struct { 48 | u32 magic; 49 | u32 version; 50 | NroAssetSection icon; 51 | NroAssetSection nacp; 52 | NroAssetSection romfs; 53 | } NroAssetHeader; 54 | 55 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/runtime/devices/socket.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "../../types.h" 3 | 4 | /// Configuration structure for socketInitalize 5 | typedef struct { 6 | u32 bsdsockets_version; ///< Observed 1 on 2.0 LibAppletWeb, 2 on 3.0. 7 | 8 | u32 tcp_tx_buf_size; ///< Size of the TCP transfer (send) buffer (initial or fixed). 9 | u32 tcp_rx_buf_size; ///< Size of the TCP recieve buffer (initial or fixed). 10 | u32 tcp_tx_buf_max_size; ///< Maximum size of the TCP transfer (send) buffer. If it is 0, the size of the buffer is fixed to its initial value. 11 | u32 tcp_rx_buf_max_size; ///< Maximum size of the TCP receive buffer. If it is 0, the size of the buffer is fixed to its initial value. 12 | 13 | u32 udp_tx_buf_size; ///< Size of the UDP transfer (send) buffer (typically 0x2400 bytes). 14 | u32 udp_rx_buf_size; ///< Size of the UDP receive buffer (typically 0xA500 bytes). 15 | 16 | u32 sb_efficiency; ///< Number of buffers for each socket (standard values range from 1 to 8). 17 | 18 | size_t serialized_out_addrinfos_max_size; ///< For getaddrinfo. 19 | size_t serialized_out_hostent_max_size; ///< For gethostbyname/gethostbyaddr. 20 | bool bypass_nsd; ///< For name gethostbyname/getaddrinfo: bypass the Name Server Daemon. 21 | int dns_timeout; ///< For DNS requests: timeout or 0. 22 | } SocketInitConfig; 23 | 24 | /// Fetch the default configuration for the socket driver. 25 | const SocketInitConfig *socketGetDefaultInitConfig(void); 26 | /// Initalize the socket driver. 27 | Result socketInitialize(const SocketInitConfig *config); 28 | /// Fetch the last bsd:u/s Switch result code (thread-local). 29 | Result socketGetLastBsdResult(void); 30 | /// Fetch the last sfdnsres Switch result code (thread-local). 31 | Result socketGetLastSfdnsresResult(void); 32 | /// Deinitialize the socket driver. 33 | void socketExit(void); 34 | 35 | /// Initalize the socket driver using the default configuration. 36 | static inline Result socketInitializeDefault(void) { 37 | return socketInitialize(socketGetDefaultInitConfig()); 38 | } 39 | 40 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/runtime/hosversion.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file hosversion.h 3 | * @brief Horizon OS (HOS) version detection utilities. 4 | * @author fincs 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// Builds a HOS version value from its constituent components. 11 | #define MAKEHOSVERSION(_major,_minor,_micro) (((u32)(_major) << 16) | ((u32)(_minor) << 8) | (u32)(_micro)) 12 | 13 | /// Extracts the major number from a HOS version value. 14 | #define HOSVER_MAJOR(_version) (((_version) >> 16) & 0xFF) 15 | 16 | /// Extracts the minor number from a HOS version value. 17 | #define HOSVER_MINOR(_version) (((_version) >> 8) & 0xFF) 18 | 19 | /// Extracts the micro number from a HOS version value. 20 | #define HOSVER_MICRO(_version) ( (_version) & 0xFF) 21 | 22 | /// Returns the current HOS version that was previously set with \ref hosversionSet. If version initialization fails during startup (such as in the case set:sys is not available), this function returns zero. 23 | u32 hosversionGet(void); 24 | 25 | /// Sets or overrides the current HOS version. This function is normally called automatically by libnx on startup with the version info obtained with \ref setsysGetFirmwareVersion. 26 | void hosversionSet(u32 version); 27 | 28 | /// Returns true if the current HOS version is equal to or above the specified major/minor/micro version. 29 | static inline bool hosversionAtLeast(u8 major, u8 minor, u8 micro) { 30 | return hosversionGet() >= MAKEHOSVERSION(major,minor,micro); 31 | } 32 | 33 | /// Returns true if the current HOS version is earlier than the specified major/minor/micro version. 34 | static inline bool hosversionBefore(u8 major, u8 minor, u8 micro) { 35 | return !hosversionAtLeast(major, minor, micro); 36 | } 37 | 38 | /// Returns true if the current HOS version is between the two specified major versions, i.e. [major1, major2). 39 | static inline bool hosversionBetween(u8 major1, u8 major2) { 40 | u32 ver = hosversionGet(); 41 | return ver >= MAKEHOSVERSION(major1,0,0) && ver < MAKEHOSVERSION(major2,0,0); 42 | } 43 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/runtime/threadvars.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "switch_min/types.h" 3 | #include "switch_min/arm/tls.h" 4 | #include "switch_min/kernel/thread.h" 5 | 6 | #define THREADVARS_MAGIC 0x21545624 // !TV$ 7 | 8 | // This structure is exactly 0x28 bytes 9 | typedef struct { 10 | // Magic value used to check if the struct is initialized 11 | u32 magic; 12 | 13 | // Thread handle, for mutexes 14 | Handle handle; 15 | 16 | // Pointer to the current thread (if exists) 17 | Thread* thread_ptr; 18 | 19 | // Pointer to this thread's newlib state 20 | struct _reent* reent; 21 | 22 | // Pointer to this thread's thread-local segment 23 | void* tls_tp; // !! Offset needs to be TLS+0x1F0 for __aarch64_read_tp !! 24 | 25 | void* nintendo_context; 26 | } ThreadVars; 27 | 28 | static inline ThreadVars* getThreadVars(void) { 29 | return (ThreadVars*)((u8*)armGetTls() + 0x200 - sizeof(ThreadVars)); 30 | } 31 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/apm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file apm.h 3 | * @brief Performance management (apm) service IPC wrapper. This is used internally by applet with __nx_applet_PerformanceConfiguration, however if you prefer non-init/exit can be used manually. 4 | * @author yellows8 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | /// CpuBoostMode. With \ref appletSetCpuBoostMode, only values 0/1 are available. This allows using higher clock rates. 11 | typedef enum { 12 | ApmCpuBoostMode_Disabled = 0, ///< Default, use normal PerformanceConfiguration. 13 | ApmCpuBoostMode_Type1 = 1, ///< Use performance configurations 0x92220009 (Docked) and 0x9222000A (Handheld), or 0x9222000B and 0x9222000C. All of these use the normal GPU clock rate for Docked-mode. The latter pair uses the normal CPU clock rate, while the former pair uses the maximum TX1 CPU clock rate. Memory clock rate is the same as normal. 14 | ApmCpuBoostMode_Type2 = 2, ///< Use performance configurations 0x9222000B and 0x9222000C. 15 | } ApmCpuBoostMode; 16 | 17 | Result apmInitialize(void); 18 | void apmExit(void); 19 | 20 | Result apmSetPerformanceConfiguration(u32 PerformanceMode, u32 PerformanceConfiguration); 21 | Result apmGetPerformanceConfiguration(u32 PerformanceMode, u32 *PerformanceConfiguration); 22 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/fsldr.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file fsldr.h 3 | * @brief FilesystemProxy-ForLoader (fsp-ldr) service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../services/fs.h" 11 | 12 | Result fsldrInitialize(void); 13 | void fsldrExit(void); 14 | 15 | Result fsldrOpenCodeFileSystem(u64 tid, const char *path, FsFileSystem* out); 16 | Result fsldrIsArchivedProgram(u64 pid, bool *out); 17 | Result fsldrSetCurrentProcess(void); -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/fspr.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file fspr.h 3 | * @brief FilesystemProxy-ProgramRegistry (fsp-pr) service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../services/fs.h" 11 | 12 | Result fsprInitialize(void); 13 | void fsprExit(void); 14 | 15 | Result fsprRegisterProgram(u64 pid, u64 titleID, FsStorageId storageID, const void *fs_access_header, size_t fah_size, const void *fs_access_control, size_t fac_size); 16 | Result fsprUnregisterProgram(u64 pid); 17 | Result fsprSetCurrentProcess(void); 18 | Result fsprSetEnabledProgramVerification(bool enabled); 19 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/lbl.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file lbl.h 3 | * @brief LBL service IPC wrapper. 4 | * @author SciresM, exelix 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | Result lblInitialize(void); 11 | void lblExit(void); 12 | 13 | Result lblSwitchBacklightOn(u64 fade_time); 14 | Result lblSwitchBacklightOff(u64 fade_time); 15 | 16 | /** 17 | * @note The brightness goes from 0 to 1.0. 18 | */ 19 | Result lblSetCurrentBrightnessSetting(float brightness); 20 | Result lblGetCurrentBrightnessSetting(float *out_value); 21 | 22 | Result lblEnableAutoBrightnessControl(void); 23 | Result lblDisableAutoBrightnessControl(void); 24 | Result lblIsAutoBrightnessControlEnabled(bool *out_value); 25 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/ldr.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ldr.h 3 | * @brief Loader (ldr*) service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../services/fs.h" 11 | 12 | typedef struct { 13 | u8 main_thread_priority; 14 | u8 default_cpu_id; 15 | u16 application_type; 16 | u32 main_thread_stack_size; 17 | u64 title_id; 18 | u32 acid_sac_size; 19 | u32 aci0_sac_size; 20 | u32 acid_fac_size; 21 | u32 aci0_fah_size; 22 | u8 ac_buffer[0x3E0]; 23 | } LoaderProgramInfo; 24 | 25 | typedef struct { 26 | u8 build_id[0x20]; 27 | u64 base_address; 28 | u64 size; 29 | } LoaderModuleInfo; 30 | 31 | Result ldrShellInitialize(void); 32 | void ldrShellExit(void); 33 | 34 | Service* ldrShellGetServiceSession(void); 35 | 36 | Result ldrDmntInitialize(void); 37 | void ldrDmntExit(void); 38 | 39 | Service* ldrDmntGetServiceSession(void); 40 | 41 | Result ldrPmInitialize(void); 42 | void ldrPmExit(void); 43 | 44 | Service* ldrPmGetServiceSession(void); 45 | 46 | Result ldrShellAddTitleToLaunchQueue(u64 tid, const void *args, size_t args_size); 47 | Result ldrShellClearLaunchQueue(void); 48 | 49 | Result ldrDmntAddTitleToLaunchQueue(u64 tid, const void *args, size_t args_size); 50 | Result ldrDmntClearLaunchQueue(void); 51 | Result ldrDmntGetModuleInfos(u64 pid, LoaderModuleInfo *out_module_infos, size_t max_out_modules, u32 *num_out); 52 | 53 | Result ldrPmCreateProcess(u64 flags, u64 launch_index, Handle reslimit_h, Handle *out_process_h); 54 | Result ldrPmGetProgramInfo(u64 title_id, FsStorageId storage_id, LoaderProgramInfo *out_program_info); 55 | Result ldrPmRegisterTitle(u64 title_id, FsStorageId storage_id, u64 *out_index); 56 | Result ldrPmUnregisterTitle(u64 launch_index); 57 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/nifm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file nifm.h 3 | * @brief Network interface service IPC wrapper. 4 | * @author shadowninja108, shibboleet, exelix 5 | * @copyright libnx Authors 6 | */ 7 | 8 | #pragma once 9 | #include "../kernel/ipc.h" 10 | #include "../services/sm.h" 11 | 12 | typedef enum { 13 | NifmServiceType_NotInitialized = 0, ///< Initializes nifm:u. 14 | NifmServiceType_User = 1, ///< Initializes nifm:u. 15 | NifmServiceType_System = 2, ///< Initializes nifm:s. 16 | NifmServiceType_Admin = 3, ///< Initializes nifm:a. 17 | } NifmServiceType; 18 | 19 | typedef enum { 20 | NifmInternetConnectionType_WiFi = 1, ///< Wi-Fi connection is used. 21 | NifmInternetConnectionType_Ethernet = 2, ///< Ethernet connection is used. 22 | } NifmInternetConnectionType; 23 | 24 | typedef enum { 25 | NifmInternetConnectionStatus_ConnectingUnknown1 = 0, ///< Unknown internet connection status 1. 26 | NifmInternetConnectionStatus_ConnectingUnknown2 = 1, ///< Unknown internet connection status 2. 27 | NifmInternetConnectionStatus_ConnectingUnknown3 = 2, ///< Unknown internet connection status 3 (conntest?). 28 | NifmInternetConnectionStatus_ConnectingUnknown4 = 3, ///< Unknown internet connection status 4. 29 | NifmInternetConnectionStatus_Connected = 4, ///< Internet is connected. 30 | } NifmInternetConnectionStatus; 31 | 32 | /** 33 | * @brief Sets the \ref NifmServiceType for initialization. Call this function before \ref nifmInitialize. 34 | * @note By default nifm:u will be used. 35 | */ 36 | void nifmSetServiceType(NifmServiceType serviceType); 37 | 38 | Result nifmInitialize(void); 39 | void nifmExit(void); 40 | 41 | Result nifmGetCurrentIpAddress(u32* out); 42 | 43 | Result nifmIsWirelessCommunicationEnabled(bool* out); 44 | 45 | /** 46 | * @note Works only if called from nifm:a or nifm:s. 47 | */ 48 | Result nifmSetWirelessCommunicationEnabled(bool enable); 49 | 50 | /** 51 | * @note Will fail with 0xd46ed if Internet is neither connecting or connected (airplane mode or no known network in reach). 52 | * @param wifiStrength Strength of the Wi-Fi signal in number of bars from 0 to 3. 53 | */ 54 | Result nifmGetInternetConnectionStatus(NifmInternetConnectionType* connectionType, u32* wifiStrength, NifmInternetConnectionStatus* connectionStatus); 55 | 56 | Result nifmIsEthernetCommunicationEnabled(bool* out); 57 | Result nifmIsAnyForegroundRequestAccepted(bool* out); 58 | Result nifmPutToSleep(void); 59 | Result nifmWakeUp(void); 60 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/pctl.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file pctl.h 3 | * @brief Parental Controls service IPC wrapper. 4 | * @author yellows8 5 | * @copyright libnx Authors 6 | */ 7 | 8 | #pragma once 9 | #include "../kernel/ipc.h" 10 | #include "../services/sm.h" 11 | 12 | Result pctlInitialize(void); 13 | void pctlExit(void); 14 | 15 | /// Confirm whether VrMode is allowed. Only available with [4.0.0+]. 16 | Result pctlConfirmStereoVisionPermission(void); 17 | 18 | /// Gets whether Parental Controls are enabled. 19 | Result pctlIsRestrictionEnabled(bool *flag); 20 | 21 | /// Reset the confirmation done by \ref pctlConfirmStereoVisionPermission. Only available with [5.0.0+]. 22 | Result pctlResetConfirmedStereoVisionPermission(void); 23 | 24 | /// Gets whether VrMode is allowed. Only available with [5.0.0+]. 25 | Result pctlIsStereoVisionPermitted(bool *flag); 26 | 27 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/pl.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file pl.h 3 | * @brief pl:u service IPC wrapper. 4 | * @author yellows8 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | typedef enum 11 | { 12 | PlSharedFontType_Standard = 0, ///< Japan, US and Europe 13 | PlSharedFontType_ChineseSimplified = 1, ///< Chinese Simplified 14 | PlSharedFontType_ExtChineseSimplified = 2, ///< Extended Chinese Simplified 15 | PlSharedFontType_ChineseTraditional = 3, ///< Chinese Traditional 16 | PlSharedFontType_KO = 4, ///< Korean (Hangul) 17 | PlSharedFontType_NintendoExt = 5, ///< Nintendo Extended. This font only has the special Nintendo-specific characters, which aren't available with the other fonts. 18 | PlSharedFontType_Total, ///< Total fonts supported by this enum. 19 | } PlSharedFontType; 20 | 21 | typedef struct { 22 | u32 type; 23 | u32 offset; 24 | u32 size; 25 | void* address; 26 | } PlFontData; 27 | 28 | Result plInitialize(void); 29 | void plExit(void); 30 | void* plGetSharedmemAddr(void); 31 | 32 | ///< Gets a specific shared-font via SharedFontType, see \ref PlSharedFontType. 33 | Result plGetSharedFontByType(PlFontData* font, u32 SharedFontType); 34 | 35 | ///< Gets shared font(s). 36 | Result plGetSharedFont(u64 LanguageCode, PlFontData* fonts, size_t max_fonts, size_t* total_fonts); 37 | 38 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/psc.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file psc.h 3 | * @brief PSC service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../kernel/event.h" 10 | #include "../services/sm.h" 11 | 12 | typedef enum { 13 | PscPmState_Awake = 0, ///< Everything is awake. 14 | PscPmState_ReadyAwaken = 1, ///< Preparing to transition to awake. 15 | PscPmState_ReadySleep = 2, ///< Preparing to transition to sleep. 16 | PscPmState_ReadySleepCritical = 3, ///< Critical services are ready to sleep. 17 | PscPmState_ReadyAwakenCritical = 4, ///< Critical services are ready to wake up. 18 | PscPmState_ReadyShutdown = 5, ///< Preparing to transition to shutdown. 19 | } PscPmState; 20 | 21 | typedef struct { 22 | Event event; 23 | Service srv; 24 | u16 module_id; 25 | } PscPmModule; 26 | 27 | Result pscInitialize(void); 28 | void pscExit(void); 29 | 30 | Result pscGetPmModule(PscPmModule *out, u16 module_id, const u16 *dependencies, size_t dependency_count, bool autoclear); 31 | 32 | Result pscPmModuleGetRequest(PscPmModule *module, PscPmState *out_state, u32 *out_flags); 33 | Result pscPmModuleAcknowledge(PscPmModule *module, PscPmState state); 34 | Result pscPmModuleFinalize(PscPmModule *module); 35 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/psm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file psm.h 3 | * @brief PSM service IPC wrapper. 4 | * @author XorTroll, endrift, and yellows8 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../kernel/event.h" 11 | 12 | typedef enum { 13 | ChargerType_None = 0, ///< No charger 14 | ChargerType_Charger = 1, ///< Official charger or dock 15 | ChargerType_Usb = 2 ///< Other USB-C chargers 16 | } ChargerType; 17 | 18 | typedef enum { 19 | PsmBatteryVoltageState_NeedsShutdown = 0, ///< Power state should transition to shutdown 20 | PsmBatteryVoltageState_NeedsSleep = 1, ///< Power state should transition to sleep 21 | PsmBatteryVoltageState_NoPerformanceBoost = 2, ///< Performance boost modes cannot be entered 22 | PsmBatteryVoltageState_Normal = 3, ///< Everything is normal 23 | } PsmBatteryVoltageState; 24 | 25 | /// IPsmSession 26 | typedef struct { 27 | Service s; 28 | Event StateChangeEvent; ///< autoclear=false 29 | } PsmSession; 30 | 31 | Result psmInitialize(void); 32 | void psmExit(void); 33 | 34 | Result psmGetBatteryChargePercentage(u32 *out); 35 | Result psmGetChargerType(ChargerType *out); 36 | Result psmGetBatteryVoltageState(PsmBatteryVoltageState *out); 37 | 38 | /** 39 | * @brief Wrapper func which opens a PsmSession and handles event setup. 40 | * @note Uses the actual BindStateChangeEvent cmd internally. 41 | * @note The event is not signalled on BatteryChargePercentage changes. 42 | * @param[out] s PsmSession object. 43 | * @param[in] ChargerType Passed to SetChargerTypeChangeEventEnabled. 44 | * @param[in] PowerSupply Passed to SetPowerSupplyChangeEventEnabled. 45 | * @param[in] BatteryVoltage Passed to SetBatteryVoltageStateChangeEventEnabled. 46 | */ 47 | Result psmBindStateChangeEvent(PsmSession* s, bool ChargerType, bool PowerSupply, bool BatteryVoltage); 48 | 49 | /// Wait on the Event setup by \ref psmBindStateChangeEvent. 50 | Result psmWaitStateChangeEvent(PsmSession* s, u64 timeout); 51 | 52 | /// Cleanup version of \ref psmBindStateChangeEvent. Must be called by the user once the PsmSession is done being used. 53 | Result psmUnbindStateChangeEvent(PsmSession* s); 54 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/ro.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ro.h 3 | * @brief Relocatable Objects (ro) service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../services/ldr.h" 11 | 12 | Result ldrRoInitialize(void); 13 | void ldrRoExit(void); 14 | 15 | Result ro1Initialize(void); 16 | void ro1Exit(void); 17 | 18 | Result roDmntInitialize(void); 19 | void roDmntExit(void); 20 | 21 | Result ldrRoLoadNro(u64* out_address, u64 nro_address, u64 nro_size, u64 bss_address, u64 bss_size); 22 | Result ldrRoUnloadNro(u64 nro_address); 23 | Result ldrRoLoadNrr(u64 nrr_address, u64 nrr_size); 24 | Result ldrRoUnloadNrr(u64 nrr_address); 25 | Result ldrRoLoadNrrEx(u64 nrr_address, u64 nrr_size); 26 | 27 | Result ro1LoadNro(u64* out_address, u64 nro_address, u64 nro_size, u64 bss_address, u64 bss_size); 28 | Result ro1UnloadNro(u64 nro_address); 29 | Result ro1LoadNrr(u64 nrr_address, u64 nrr_size); 30 | Result ro1UnloadNrr(u64 nrr_address); 31 | Result ro1LoadNrrEx(u64 nrr_address, u64 nrr_size); 32 | 33 | Result roDmntGetModuleInfos(u64 pid, LoaderModuleInfo *out_module_infos, size_t max_out_modules, u32 *num_out); 34 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/sfdnsres.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sfdnsres.h 3 | * @brief Domain name resolution service IPC wrapper. Please use socket.c instead. 4 | * @author TuxSH 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | #include // For socklen_t, etc. 11 | 12 | /// Configuration structure for sfdnsres. 13 | typedef struct { 14 | size_t serialized_out_addrinfos_max_size; ///< For getaddrinfo. 15 | size_t serialized_out_hostent_max_size; ///< For gethostbyname/gethostbyaddr. 16 | bool bypass_nsd; ///< For name gethostbyname/getaddrinfo: bypass the Name Server Daemon. 17 | int timeout; ///< For DNS requests: timeout or 0. 18 | } SfdnsresConfig; 19 | 20 | /// Result values returned by the DNS request commands. 21 | typedef struct { 22 | int ret; ///< Return value (error code). 23 | int errno_; ///< Errno. 24 | ssize_t out_serialized_size; ///< Size of the serialized output buffer or -1 (?). 25 | } SfdnsresRequestResults; 26 | 27 | // SetDnsAddressesPrivate & GetDnsAddressPrivate are stubbed 28 | 29 | Result sfdnsresGetHostByName(SfdnsresRequestResults *ret, const SfdnsresConfig *config, void *out_he_serialized, const char *name); 30 | Result sfdnsresGetHostByAddr(SfdnsresRequestResults *ret, const SfdnsresConfig *config, void *out_he_serialized, const void *addr, socklen_t len, int type); 31 | 32 | Result sfdnsresGetHostStringError(int err, char *str, size_t str_size); 33 | Result sfdnsresGetGaiStringError(int err, char *str, size_t str_size); 34 | 35 | Result sfdnsresGetAddrInfo(SfdnsresRequestResults *ret, const SfdnsresConfig *config, const char *node, const char *service, 36 | const void *hints_serialized, size_t hints_serialized_size, void *res_serialized); 37 | Result sfdnsresGetNameInfo(SfdnsresRequestResults *ret, const SfdnsresConfig *config, 38 | const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, 39 | char *serv, size_t servlen, int flags); 40 | 41 | /// Requests an handle for use with @ref sfdnsresCancelSocketCall. 42 | Result sfdnsresRequestCancelHandle(u32 *out_handle); 43 | /// Cancels a DNS request (how? which requests?). Bug: always sets errno? 44 | Result sfdnsresCancelSocketCall(SfdnsresRequestResults *ret, u32 handle); 45 | /// Cancels all DNS requests made by the current process (how? which requests?). Bug: always sets errno? 46 | Result sfdnsresCancelAllSocketCalls(SfdnsresRequestResults *ret); 47 | /// Clears up to 4 DNS server IPs registered by bsdcfg (DHCP client, etc.). 48 | Result sfdnsresClearDnsIpServerAddressArray(void); 49 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/smm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file smm.h 3 | * @brief ServiceManager-IManager (sm:m) service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | #include "../services/sm.h" 10 | #include "../services/fs.h" 11 | 12 | Result smManagerInitialize(void); 13 | void smManagerExit(void); 14 | 15 | Service* smManagerGetServiceSession(void); 16 | 17 | Result smManagerRegisterProcess(u64 pid, const void *acid_sac, size_t acid_sac_size, const void *aci0_sac, size_t aci0_sac_size); 18 | Result smManagerUnregisterProcess(u64 pid); 19 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/spsm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file spsm.h 3 | * @brief SPSM service IPC wrapper. 4 | * @author SciresM 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | #include "../types.h" 9 | 10 | Result spsmInitialize(void); 11 | void spsmExit(void); 12 | 13 | Result spsmShutdown(bool reboot); 14 | Result spsmPutErrorState(void); 15 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/time.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file time.h 3 | * @brief Time services IPC wrapper. 4 | * @author yellows8 5 | * @copyright libnx Authors 6 | */ 7 | #pragma once 8 | 9 | #include "../types.h" 10 | #include "../services/sm.h" 11 | 12 | /// Time clock type. 13 | typedef enum { 14 | TimeType_UserSystemClock, 15 | TimeType_NetworkSystemClock, 16 | TimeType_LocalSystemClock, 17 | TimeType_Default = TimeType_UserSystemClock, 18 | } TimeType; 19 | 20 | typedef struct { 21 | u16 year; 22 | u8 month; 23 | u8 day; 24 | u8 hour; 25 | u8 minute; 26 | u8 second; 27 | u8 pad; 28 | } TimeCalendarTime; 29 | 30 | typedef struct { 31 | u32 wday; ///< 0-based day-of-week. 32 | u32 yday; ///< 0-based day-of-year. 33 | char timezoneName[8]; ///< Timezone name string. 34 | u32 DST; ///< 0 = no DST, 1 = DST. 35 | s32 offset; ///< Seconds relative to UTC for this timezone. 36 | } TimeCalendarAdditionalInfo; 37 | 38 | Result timeInitialize(void); 39 | void timeExit(void); 40 | 41 | Service* timeGetSessionService(void); 42 | 43 | Result timeGetCurrentTime(TimeType type, u64 *timestamp); 44 | 45 | /** 46 | * @brief Sets the time for the specified clock. 47 | * @param[in] type Clock to use. 48 | * @param[in] timestamp POSIX UTC timestamp. 49 | * @return Result code. 50 | */ 51 | Result timeSetCurrentTime(TimeType type, u64 timestamp); 52 | 53 | Result timeToCalendarTimeWithMyRule(u64 timestamp, TimeCalendarTime *caltime, TimeCalendarAdditionalInfo *info); 54 | 55 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/include/switch_min/services/wlaninf.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file wlaninf.h 3 | * @brief WLAN InfraManager service IPC wrapper. 4 | * @author natinusala 5 | * @copyright libnx Authors 6 | */ 7 | 8 | #pragma once 9 | #include "../kernel/ipc.h" 10 | #include "../services/sm.h" 11 | 12 | /// WLAN State. 13 | typedef enum { 14 | WlanInfState_NotConnected = 1, ///< WLAN is disabled or enabled and not connected. 15 | WlanInfState_Connecting, ///< WLAN is connecting. 16 | WlanInfState_Connected, ///< WLAN is connected. 17 | } WlanInfState; 18 | 19 | Result wlaninfInitialize(void); 20 | void wlaninfExit(void); 21 | 22 | Result wlaninfGetState(WlanInfState* out); 23 | 24 | /// Value goes from -30 (really good signal) to -90 (barely enough to stay connected) 25 | /// on a logarithmic scale 26 | Result wlaninfGetRSSI(s32* out); 27 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/lib/libnx_min.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimate-research/code-mod-framework/5bf10c5444613cdbe7f0cc58fd9cb1c940f9b1ab/lib/libnx_min/nx/lib/libnx_min.a -------------------------------------------------------------------------------- /lib/libnx_min/nx/lib/libnx_mind.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimate-research/code-mod-framework/5bf10c5444613cdbe7f0cc58fd9cb1c940f9b1ab/lib/libnx_min/nx/lib/libnx_mind.a -------------------------------------------------------------------------------- /lib/libnx_min/nx/switch.specs: -------------------------------------------------------------------------------- 1 | %rename link old_link 2 | 3 | *link: 4 | %(old_link) -T %:getenv(DEVKITPRO /libnx/switch.ld) -pie --gc-sections -z text -z nodynamic-undefined-weak --build-id=sha1 --nx-module-name 5 | 6 | *startfile: 7 | crti%O%s crtbegin%O%s 8 | 9 | -------------------------------------------------------------------------------- /lib/libnx_min/nx/switch_rules: -------------------------------------------------------------------------------- 1 | ifeq ($(strip $(DEVKITPRO)),) 2 | $(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro) 3 | endif 4 | 5 | include $(DEVKITPRO)/devkitA64/base_rules 6 | 7 | PORTLIBS := $(PORTLIBS_PATH)/switch 8 | PATH := $(PORTLIBS)/bin:$(PATH) 9 | 10 | LIBNX ?= $(DEVKITPRO)/libnx 11 | 12 | ifeq ($(strip $(APP_TITLE)),) 13 | APP_TITLE := $(notdir $(OUTPUT)) 14 | endif 15 | 16 | ifeq ($(strip $(APP_AUTHOR)),) 17 | APP_AUTHOR := Unspecified Author 18 | endif 19 | 20 | ifeq ($(strip $(APP_VERSION)),) 21 | APP_VERSION := 1.0.0 22 | endif 23 | 24 | ifeq ($(strip $(APP_ICON)),) 25 | APP_ICON := $(LIBNX)/default_icon.jpg 26 | endif 27 | 28 | #--------------------------------------------------------------------------------- 29 | %.nacp: $(MAKEFILE_LIST) 30 | @nacptool --create "$(APP_TITLE)" "$(APP_AUTHOR)" "$(APP_VERSION)" $@ $(NACPFLAGS) 31 | @echo built ... $(notdir $@) 32 | 33 | #--------------------------------------------------------------------------------- 34 | %.npdm: $(APP_JSON) 35 | @npdmtool $< $@ 36 | @echo built ... $(notdir $@) 37 | 38 | #--------------------------------------------------------------------------------- 39 | define make_pfs0 40 | @mkdir -p exefs 41 | @[ $(BUILD_EXEFS_SRC) ] && [ -d $(BUILD_EXEFS_SRC) ] && cp -R $(BUILD_EXEFS_SRC)/* exefs || echo > /dev/null 42 | @cp $*.nso exefs/main 43 | @[ $(APP_JSON) ] && cp $*.npdm exefs/main.npdm || echo > /dev/null 44 | @build_pfs0 exefs $@ 45 | @echo built ... $(notdir $@) 46 | endef 47 | 48 | ifeq ($(strip $(APP_JSON)),) 49 | %.pfs0: %.nso 50 | else 51 | %.pfs0: %.nso %.npdm 52 | endif 53 | $(make_pfs0) 54 | 55 | ifeq ($(strip $(APP_JSON)),) 56 | %.nsp: %.nso 57 | else 58 | %.nsp: %.nso %.npdm 59 | endif 60 | $(make_pfs0) 61 | 62 | #--------------------------------------------------------------------------------- 63 | %.nso: %.elf 64 | @elf2nso $< $@ 65 | @echo built ... $(notdir $@) 66 | 67 | #--------------------------------------------------------------------------------- 68 | %.nro: %.elf 69 | @elf2nro $< $@ $(NROFLAGS) 70 | @echo built ... $(notdir $@) 71 | 72 | #--------------------------------------------------------------------------------- 73 | %.kip: %.elf 74 | @elf2kip $< $(APP_JSON) $@ 75 | @echo built ... $(notdir $@) 76 | 77 | #--------------------------------------------------------------------------------- 78 | %.elf: 79 | @echo linking $(notdir $@) 80 | @$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ 81 | @$(NM) -CSn $@ > $(notdir $*.lst) 82 | --------------------------------------------------------------------------------