Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
biometrix76 committed Aug 15, 2024
0 parents commit b395780
Show file tree
Hide file tree
Showing 135 changed files with 20,057 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/.vscode
/Build
*.3gx
3gxtool
*.txt
*.DS_Store
/luma
/luma.zip
195 changes: 195 additions & 0 deletions 3gx.ld
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@

OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

PHDRS
{
code PT_LOAD FLAGS(5) /* Read | Execute */;
rodata PT_LOAD FLAGS(4) /* Read */;
data PT_LOAD FLAGS(6) /* Read | Write */;
}

SECTIONS
{
/* =========== CODE section =========== */

PROVIDE(__start__ = 0x07000100);
. = __start__;

.text ALIGN(4) :
{
/* .init */
KEEP( *(.crt0) )
KEEP( *(.init) )
. = ALIGN(4);

/* .text */
*(.text)
*(.text.*)
*(.glue_7)
*(.glue_7t)
*(.stub)
*(.gnu.warning)
*(.gnu.linkonce.t*)
. = ALIGN(4);

/* .fini */
KEEP( *(.fini) )
. = ALIGN(4);
} : code

/* =========== RODATA section =========== */

.rodata ALIGN(0x4) :
{
*(.rodata)
*(.roda)
*(.rodata.*)
*all.rodata*(*)
*(.gnu.linkonce.r*)
SORT(CONSTRUCTORS)
. = ALIGN(4);
__tdata_align = .;
LONG (ALIGNOF(.tdata));
. = ALIGN(4);
} : rodata

.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } : rodata
__exidx_start = .;
ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } : rodata
__exidx_end = .;

/* =========== DATA section =========== */

.data ALIGN(4):
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
CONSTRUCTORS
. = ALIGN(4);
} : data

.tdata ALIGN(4) :
{
__tdata_lma = .;
*(.tdata)
*(.tdata.*)
*(.gnu.linkonce.td.*)
. = ALIGN(4);
__tdata_lma_end = .;
} : data

.tbss ALIGN(4) :
{
*(.tbss)
*(.tbss.*)
*(.gnu.linkonce.tb.*)
*(.tcommon)
. = ALIGN(4);
} : data

.preinit_array ALIGN(4) :
{
PROVIDE (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE (__preinit_array_end = .);
} : data

.init_array ALIGN(4) :
{
PROVIDE (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE (__init_array_end = .);
} : data

.fini_array ALIGN(4) :
{
PROVIDE (__fini_array_start = .);
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
PROVIDE (__fini_array_end = .);
} : data

.ctors ALIGN(4) :
{
KEEP (*crtbegin.o(.ctors)) /* MUST be first -- GCC requires it */
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
} : data

.dtors ALIGN(4) :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
} : data

__bss_start__ = .;
.bss ALIGN(4) :
{
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b*)
*(COMMON)

/* Reserve space for the TLS segment of the main thread.
We need (__tls_start - 8) to be aligned the same as .tdata, to account for
the 8-byte ARM TLS header. Since the header is not actually used for
ARM_TLS_LE32 relocation, we just fake it by subtracting 8 from the data
offset.
*/
. = 8 + ABSOLUTE(ALIGN(ABSOLUTE(. - 8), MAX(4, ALIGNOF(.tdata))));
__tls_start = .;
. += SIZEOF(.tdata) + SIZEOF(.tbss);
__tls_end = .;
} : data
__bss_end__ = .;

__end__ = ABSOLUTE(.) ;

/* ==================
==== Metadata ====
================== */

/* Discard sections that difficult post-processing */
/DISCARD/ : { *(.group .comment .note) }

/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }

/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */

/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }

/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }

/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }

/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
}
Binary file added 3gxtool.exe
Binary file not shown.
11 changes: 11 additions & 0 deletions AlolanCTRPluginFramework.plgInfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Author: biometrix76

Version: # Plugin version
Major: 0
Minor: 0
Revision: 1

Title: Alolan CTRPluginFramework
Summary: 3gx plugin
Compatibility: Any
MemorySize: 5MiB
Binary file added Bottom.bmp
Binary file not shown.
58 changes: 58 additions & 0 deletions Includes/Codes.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#ifndef CHEATS_HPP
#define CHEATS_HPP

#include <CTRPluginFramework.hpp>
#include "Helpers.hpp"

namespace CTRPluginFramework {
void CurrentRank(MenuEntry *entry);
void FCCollected(MenuEntry *entry);
void CurrentFC(MenuEntry *entry);
void GuestsInteracted(MenuEntry *entry);
void FacilsHosted(MenuEntry *entry);
void MissionsJoined(MenuEntry *entry);

vector<string> GetBattleParty(vector<string> party);
void PartyPosition(MenuEntry *entry);
void StatusCondition(MenuEntry *entry);
void Stats(MenuEntry *entry);
void UpdateStats(MenuEntry *entry);
void HealthAndMana(MenuEntry *entry);
void UpdateHealthAndMana(MenuEntry *entry);
void HeldItem(MenuEntry *entry);
void Moves(MenuEntry *entry);
void ExpMultiplier(MenuEntry *entry);
void UpdateExpMultiplier(MenuEntry *entry);
bool IsValid(u32 pointer, PK7 *pkmn);
bool ViewInfoCallback(const Screen &screen);
void TogglePokemonInfo(MenuEntry *entry);
void ViewPokemonInfo(MenuEntry *entry);
void AlwaysCritHit(MenuEntry *entry);
void AllowMultipleMega(MenuEntry *entry);
void ReuseZCrystal(MenuEntry *entry);
void IgnoreZCrystalReq(MenuEntry *entry);
void NoWildPokemon(MenuEntry *entry);
void UpdateWildSpawner(MenuEntry *entry);
void WildSpawner(MenuEntry *entry);
void AlwaysShiny(MenuEntry *entry);
void TrainerRematch(MenuEntry *entry);
void NoTrainerBattle(MenuEntry *entry);
void CaptureRate(MenuEntry *entry);
void TrialIsCatchable(MenuEntry *entry);
void CatchTrainerPokemon(MenuEntry *entry);

void UnlockEveryMount(MenuEntry *entry);
void ZoomedOutView(MenuEntry *entry);
void FastWalkRun(MenuEntry *entry);
void WalkThroughWalls(MenuEntry *entry);
void SetSunMoon(MenuEntry *entry);
void RenameAnyPokemon(MenuEntry *entry);
void LearnAnyTeachable(MenuEntry *entry);
void InstantEgg(MenuEntry *entry);
void InstantEggHatch(MenuEntry *entry);
void ViewValuesInSummary(MenuEntry *entry);
void NoOutlines(MenuEntry *entry);
void FastDialogs(MenuEntry *entry);
}

#endif
Loading

0 comments on commit b395780

Please sign in to comment.