Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
35e1dcd
remove binja bindings
wolfcomp May 1, 2026
c513d21
rename top folder from ida to scripts
wolfcomp May 2, 2026
f3b0e34
add new template_types but only as empty array for now
wolfcomp May 2, 2026
d50ba92
shift how some types are exported
wolfcomp May 2, 2026
7d45320
fix wrong wrapper version detection for old scripts
wolfcomp May 2, 2026
1bcb95e
fix ordering due to dataclass
wolfcomp May 2, 2026
b4cd6ef
improve linter type discovery
wolfcomp May 3, 2026
1ab1e1c
move wrapper to new location
wolfcomp May 3, 2026
c2804d6
create new wrapper files
wolfcomp May 3, 2026
64497cc
add test file for now
wolfcomp May 3, 2026
67a6794
update ignore file
wolfcomp May 3, 2026
f0da0a1
move src writer out from ida to general file
wolfcomp May 6, 2026
d4f4767
update some schema definitions and functions
wolfcomp May 6, 2026
0f14d03
move and update exdgetters to use new methods
wolfcomp May 6, 2026
b7df684
fix fastcall defines
wolfcomp May 16, 2026
eaeecf3
allow for overriding the loader type of yaml
wolfcomp May 16, 2026
cc36e96
update importer to support std import definitions
wolfcomp May 16, 2026
b4a214f
change exporter to use template types and types from cpp std library
wolfcomp May 17, 2026
25419bd
cleanup test script
wolfcomp May 17, 2026
34e1cbe
some cleanup and actually get proper template export
wolfcomp Oct 6, 2026
4dda0e0
get template header generation working
wolfcomp Oct 6, 2026
17a581f
fix vtable not being generated correctly
wolfcomp Oct 7, 2026
078beb6
fix exd declspec align
wolfcomp Oct 7, 2026
70e7515
try to free dotnet from python runtime
wolfcomp Oct 7, 2026
59252cf
fix namespace decl
wolfcomp Oct 7, 2026
05a028c
get correct struct size
wolfcomp Oct 7, 2026
4aa94e7
unfuck wrapper
wolfcomp Oct 7, 2026
70bb0f0
cleanup and prepare importer
wolfcomp Oct 7, 2026
6f98421
save test write
wolfcomp Oct 7, 2026
85a18c5
fix python data not being correctly set
wolfcomp Oct 7, 2026
d2dd5e2
correct check for what is in yml
wolfcomp Oct 7, 2026
0ba3bc9
actually clean up and use struct_schema get_yaml function
wolfcomp Oct 7, 2026
1618e54
fix improper function definition
wolfcomp Oct 8, 2026
4acfc79
change this to self for first arg of member and vtable functions
wolfcomp Oct 8, 2026
63142e0
try to isolate dotnet runtime in python
wolfcomp Oct 8, 2026
e20dca0
remove a bunch of unneded stuff
wolfcomp Oct 8, 2026
fdf07d8
correct CExporter for inline structs and enums
wolfcomp Oct 11, 2026
4ae8c8f
do not export the enumerator
wolfcomp Oct 11, 2026
0ce498f
get inline struct and enums working with the importer
wolfcomp Oct 11, 2026
6422130
get proper inline struct and enum dependency chain resolver working
wolfcomp Oct 11, 2026
f2f6a3d
fix cyclic error reported by CExporter
wolfcomp Oct 11, 2026
82a877e
get some type collisions fixed
wolfcomp Oct 11, 2026
773f83e
prepare for the large importer
wolfcomp Oct 11, 2026
99f4471
fix another declaration issue
wolfcomp Oct 11, 2026
ee3ce27
fix some definitions
wolfcomp Oct 11, 2026
8cb8719
some changes to cleanup code
wolfcomp Oct 12, 2026
d29f966
send up error log for cross referencing
wolfcomp Oct 12, 2026
91a7ef1
correct defined size
wolfcomp Oct 12, 2026
8566722
add back removed lines due to rebase
wolfcomp Oct 12, 2026
b4900c1
hopefully fix the last remaining bugs from parsing
wolfcomp Oct 12, 2026
848e106
clean up some comment lines
wolfcomp Oct 13, 2026
0cc4713
try to fix file lock when loading into IDA
wolfcomp Oct 13, 2026
04dcab6
speedup import a bit
wolfcomp Oct 13, 2026
487c926
remove testing script
wolfcomp Oct 13, 2026
5378f19
remove scripts no longer being maintained
wolfcomp Oct 13, 2026
c94dbc5
add some more wrapper functions used in the rewrite
wolfcomp Oct 13, 2026
4af837a
split ida parts from rename to seperate folder
wolfcomp Oct 13, 2026
5badfa3
cleanup struct import to use more of the wrapper
wolfcomp Oct 13, 2026
4adf4ec
add new full run file
wolfcomp Oct 13, 2026
3429c0c
update the readme with new info
wolfcomp Oct 13, 2026
23d1170
remove some files not used
wolfcomp Oct 13, 2026
54f294f
move matcher into ida folder
wolfcomp Oct 13, 2026
bc47920
move wrapper files into a shared folder for later
wolfcomp Oct 13, 2026
9ed5efb
update workflows to work with new folder structure
wolfcomp Oct 14, 2026
dab64f3
move the last shared script files into the shared folder
wolfcomp Oct 14, 2026
bcf2f20
get a testing version of ghidra scripts to work
wolfcomp Oct 14, 2026
6e50705
move some scripts im unsure about to an old folder for later revision
wolfcomp Oct 14, 2026
fdc39b9
add some readme updates
wolfcomp Oct 14, 2026
f91b8a2
add more generic solution to find the game path
wolfcomp Oct 14, 2026
a2a30f8
check if CSafeLoader works if not fall back to SafeLoader
wolfcomp Oct 14, 2026
788a3d5
use strict import from structs_schema in wrappers
wolfcomp Oct 14, 2026
f01798d
make CExporter log namespaces in cpp format for enums
wolfcomp Oct 14, 2026
fc5516d
change from ffxiv_structs.yml to structs.yml for better clarity of re…
wolfcomp Oct 14, 2026
fee0b28
still retain the old gitattribute until file is removed
wolfcomp Oct 14, 2026
987a3a1
delete old excel logic
wolfcomp Oct 14, 2026
c1feb63
fix some stuff for clang compile that could break
wolfcomp Oct 14, 2026
fffa4df
make vtable generation be a nested structure
wolfcomp Oct 14, 2026
7a66444
make temp dir only live while the script is executing
wolfcomp Oct 14, 2026
63fcc16
update some readme stuffs
wolfcomp Oct 14, 2026
6145a2f
update string for msvc-wine selection
wolfcomp Oct 14, 2026
e63ade2
have a version cache for excel headers
wolfcomp Oct 14, 2026
3e7fb97
trim function comments to be more on point
wolfcomp Oct 14, 2026
6543e50
fix some struct pack issues
wolfcomp Oct 15, 2026
040cb4a
fix path.join not working due to python execute
wolfcomp Oct 15, 2026
62ae4ec
fix path.join in ghidra for full run
wolfcomp Oct 15, 2026
9be0bf8
Ghidra inheritance needs a bit of a different flow than IDA
wolfcomp Oct 15, 2026
dbc4f81
clean up some comments
wolfcomp Oct 15, 2026
0b6e8cf
change exd naming for ghidra to use correct naming for function call
wolfcomp Oct 18, 2026
f5dac72
fix union field types being discarded
wolfcomp Oct 18, 2026
bb4955f
fix some calls being wrong due to union field type fix
wolfcomp Oct 18, 2026
7a14a1c
fix some dependency ordering requirements
wolfcomp Oct 18, 2026
4f34634
fix vtables with ida not using its proper inherited one
wolfcomp Oct 19, 2026
222c494
don't flatten structs in Ghidra.
wolfcomp Oct 20, 2026
5bf15b9
add some ghidra logging
wolfcomp Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
*.png binary

ida/ffxiv_client_structs*.h linguist-generated=true
ida/ffxiv_structs.yml linguist-generated=true
scripts/ffxiv_structs.yml linguist-generated=true
scripts/structs.yml linguist-generated=true
6 changes: 3 additions & 3 deletions .github/workflows/pr-change-check-patch-day.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Check error txt file for content
id: check_error
run: |
if [ -s ./ida/errors.txt ]; then
if [ -s ./scripts/errors.txt ]; then
echo "error=true" >> $GITHUB_OUTPUT
else
echo "error=false" >> $GITHUB_OUTPUT
Expand All @@ -40,7 +40,7 @@ jobs:
with:
script: |
const fs = require('fs');
const content = fs.readFileSync('./ida/errors.txt', 'utf8');
const content = fs.readFileSync('./scripts/errors.txt', 'utf8');
const comments = (await github.rest.issues.listComments({
issue_number: context.payload.pull_request.number,
owner: context.repo.owner,
Expand Down Expand Up @@ -108,5 +108,5 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: structs.yml
path: ./ida/ffxiv_structs.yml
path: ./scripts/structs.yml
retention-days: 7
10 changes: 5 additions & 5 deletions .github/workflows/pr-change-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Check error txt file for content
id: check_error
run: |
if [ -s ./ida/errors.txt ]; then
if [ -s ./scripts/errors.txt ]; then
echo "error=true" >> $GITHUB_OUTPUT
else
echo "error=false" >> $GITHUB_OUTPUT
Expand All @@ -41,7 +41,7 @@ jobs:
with:
script: |
const fs = require('fs');
const content = fs.readFileSync('./ida/errors.txt', 'utf8');
const content = fs.readFileSync('./scripts/errors.txt', 'utf8');
const comments = (await github.rest.issues.listComments({
issue_number: context.payload.pull_request.number,
owner: context.repo.owner,
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: structs.yml
path: ./ida/ffxiv_structs.yml
path: ./scripts/structs.yml
retention-days: 7

build-pr:
Expand Down Expand Up @@ -179,7 +179,7 @@ jobs:
run: |
dotnet tool install -g Microsoft.DotNet.ApiCompat.Tool
dotnet run --project CompatChecker/CompatChecker.csproj -c Release -- ida/cs-main/FFXIVClientStructs.dll ida/cs-pr/FFXIVClientStructs.dll ida/errors.txt
if [ -s ./ida/errors.txt ]; then
if [ -s ./scripts/errors.txt ]; then
echo "breaking=true" >> $GITHUB_OUTPUT
else
echo "breaking=false" >> $GITHUB_OUTPUT
Expand All @@ -190,7 +190,7 @@ jobs:
with:
script: |
const fs = require('fs');
const content = fs.readFileSync('./ida/errors.txt', 'utf8');
const content = fs.readFileSync('./scripts/errors.txt', 'utf8');
github.rest.issues.addLabels({
issue_number: context.payload.pull_request.number,
owner: context.repo.owner,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Check error txt file for content
id: check_error
run: |
if [ -s ./ida/errors.txt ]; then
if [ -s ./scripts/errors.txt ]; then
echo "error=true" >> $GITHUB_OUTPUT
else
echo "error=false" >> $GITHUB_OUTPUT
Expand All @@ -33,4 +33,4 @@ jobs:
if: steps.check_error.outputs.error == 'true'
uses: peter-evans/commit-comment@v4
with:
body-path: './ida/errors.txt'
body-path: './scripts/errors.txt'
6 changes: 3 additions & 3 deletions .github/workflows/validate-data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ on:
- synchronize
- reopened
paths:
- 'ida/data.yml'
- 'scripts/data.yml'
push:
paths:
- 'ida/data.yml'
- 'scripts/data.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -28,4 +28,4 @@ jobs:
run: |
npm install -g js-yaml
- name: Validate data.yml
run: NODE_PATH="$(npm root -g):$NODE_PATH" node ./ida/data-validator.js
run: NODE_PATH="$(npm root -g):$NODE_PATH" node ./scripts/data-validator.js
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ ida/uld_names.txt
.vscode/
.idea/

# CompatChecker test files
tests/

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
Expand Down Expand Up @@ -435,3 +432,10 @@ FodyWeavers.xsd
*.msix
*.msm
*.msp


# test folders
scripts/luminatmp/
scripts/excel_headers/
tests/
luminatmp/
Loading
Loading