Skip to content

Change Unknown0x284 in GcBuildingGlobals #101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,117 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1117 commits
Select commit Hold shift + click to select a range
9f07843
Huge dump of all the classes from the auto-generation script
monkeyman192 Oct 7, 2022
e0d5733
Merge pull request #509 from monkeyman192/auto_generated_4
monkeyman192 Oct 7, 2022
277332a
Small fixes for 9677936
monkeyman192 Oct 8, 2022
939657f
Merge pull request #510 from monkeyman192/update_9677936
monkeyman192 Oct 8, 2022
9ffe1e7
UpdateFor9699469
Oct 11, 2022
13aae55
Merge pull request #514 from HolterPhylo/UpdateFor9699469
monkeyman192 Oct 11, 2022
a1d98d0
Update for 9706015
Oct 12, 2022
a404f71
Merge pull request #515 from HolterPhylo/UpdateFor9706015
monkeyman192 Oct 12, 2022
b277d80
Restore accidentally removed custom deserialization methods
monkeyman192 Oct 12, 2022
17f64d4
Merge pull request #516 from monkeyman192/custom_deserialize_fix
monkeyman192 Oct 12, 2022
1dba1e5
Update to extractor field length (>50) and structures implicated
Oct 13, 2022
cfc38ea
Merge pull request #517 from HolterPhylo/UpdateExtractor
HolterPhylo Oct 13, 2022
2d114e6
Update for 9717058
Oct 14, 2022
428f297
Merge pull request #519 from HolterPhylo/UpdateFor9717058
HolterPhylo Oct 14, 2022
70db735
Added Flags ref
Oct 14, 2022
05402f2
Merge pull request #520 from HolterPhylo/AddedFlagsRef
HolterPhylo Oct 14, 2022
75331a2
Update for 9725137
Oct 15, 2022
3d3b560
Merge pull request #521 from HolterPhylo/UpdateFor9725137
monkeyman192 Oct 15, 2022
50e27b6
Update for 9785828
monkeyman192 Oct 15, 2022
b07278e
Merge pull request #522 from monkeyman192/update-9725828
monkeyman192 Oct 15, 2022
a2c7672
Modify GetString method for version to left pad with 0
monkeyman192 Oct 16, 2022
91acbcd
Merge pull request #523 from monkeyman192/modify_version_string
monkeyman192 Oct 18, 2022
bd395de
Update for 9748454
monkeyman192 Oct 19, 2022
ede154e
Merge pull request #524 from monkeyman192/update-9748454
monkeyman192 Oct 19, 2022
b5ac9b9
Update for 9763858: to actualize GCUIGLOBALS GUID
Oct 20, 2022
176e91f
missing GcUIGlobals
Oct 20, 2022
24ad2ee
Merge pull request #526 from HolterPhylo/UpdateFor9763858
HolterPhylo Oct 21, 2022
1b4a39f
Batch convert test mbin files to speed up tests
monkeyman192 Oct 30, 2022
9d030b2
Merge pull request #529 from monkeyman192/issue-525
monkeyman192 Oct 31, 2022
66da010
Update for 9849486
Nov 2, 2022
60f376c
Merge pull request #530 from HolterPhylo/UpdateFor9849486
monkeyman192 Nov 2, 2022
be3d614
Update for 9857042
Nov 3, 2022
d247ac0
Merge pull request #531 from HolterPhylo/UpdateFor9857042
monkeyman192 Nov 3, 2022
24b21c5
Modify extractor script to use a config file
monkeyman192 Oct 12, 2022
f20f459
Merge pull request #527 from monkeyman192/extractor_config
monkeyman192 Nov 3, 2022
3db451b
Add build support for .net 6
monkeyman192 Oct 30, 2022
a4965ca
Combine all the build steps into one
monkeyman192 Nov 4, 2022
9343efa
Merge pull request #528 from monkeyman192/issue-478
monkeyman192 Nov 4, 2022
0c6fa40
add enum type as required using for array fields
monkeyman192 Nov 5, 2022
824a323
Add required includes to enums associated with arrays
monkeyman192 Nov 6, 2022
a11de78
Merge pull request #532 from monkeyman192/extractor_update
monkeyman192 Nov 7, 2022
c0a55e2
Update for 9964564
Nov 21, 2022
f744d97
Merge pull request #533 from HolterPhylo/UpdateFor9964564
monkeyman192 Nov 21, 2022
eb10220
Update pipeline file to call correct MBINCompiler binary
monkeyman192 Nov 21, 2022
ad1421d
testing a fix
monkeyman192 Nov 21, 2022
d3a6799
Merge pull request #534 from monkeyman192/ci_fix
monkeyman192 Nov 21, 2022
885923a
More fixing
monkeyman192 Nov 21, 2022
528fe25
Merge pull request #535 from monkeyman192/ci_fix
monkeyman192 Nov 21, 2022
fd58bc3
Mostly revert changes to CI so that MBINCompiler path is relative
monkeyman192 Nov 21, 2022
afd1d15
Merge pull request #536 from monkeyman192/ci_fix
monkeyman192 Nov 22, 2022
11ac9a6
Add ability to override associated enum types from a mapping
monkeyman192 Jan 6, 2023
602c144
Merge pull request #538 from monkeyman192/enum_overrides
monkeyman192 Jan 18, 2023
5894692
Update README.md
monkeyman192 Jan 25, 2023
f26bdfc
Convert auto-extract script to use jinja2 for .cs file writing
monkeyman192 Feb 10, 2023
0363187
Merge pull request #539 from monkeyman192/jinja_template
HolterPhylo Feb 22, 2023
217a210
Automated changes for latest update
monkeyman192 Feb 22, 2023
26d23ea
Update some fixed GUID's and change TkCurveType enum type
monkeyman192 Feb 23, 2023
1f8e827
Changed all enums to explicitly be uint32's and added detection of no…
monkeyman192 Feb 25, 2023
f762f1f
Fixed alignment of component and a testing bug
monkeyman192 Feb 26, 2023
ae5ecc9
Progress update 1 for 10632507
Feb 26, 2023
5e94f43
Update_2
Feb 27, 2023
46c5460
Merge pull request #543 from HolterPhylo/ProgressUpdate_10632507
monkeyman192 Feb 27, 2023
e493f4a
Merge pull request #540 from monkeyman192/update_10603080
monkeyman192 Feb 27, 2023
f9c2c55
Fix pipeline file to determine MBINCompiler version
monkeyman192 Feb 27, 2023
af3a6f8
Update for 10649395
Feb 27, 2023
38838ed
Merge pull request #545 from HolterPhylo/UpdateFor10649395
HolterPhylo Feb 28, 2023
8618db6
misc changes, hopefully fixes CI
monkeyman192 Mar 5, 2023
46f55a4
Merge pull request #546 from monkeyman192/misc_fixes
monkeyman192 Mar 6, 2023
d421732
Update for 10689445
Mar 6, 2023
fe351d0
Merge pull request #548 from HolterPhylo/UpdateFor10703259
monkeyman192 Mar 6, 2023
e46469d
Make releases pre-releases by default
monkeyman192 Mar 6, 2023
772be50
Merge pull request #549 from monkeyman192/add_prerelease_default
monkeyman192 Mar 6, 2023
0ab2852
More improvements to make the extractor more generic
monkeyman192 Mar 14, 2023
db97e82
Merge pull request #550 from monkeyman192/extractor_improvements
monkeyman192 Apr 5, 2023
c5d5469
Update for 10937377
Apr 5, 2023
935ad91
Merge pull request #551 from HolterPhylo/UpdateFor10937377
monkeyman192 Apr 5, 2023
1762a78
Update for 10949467
monkeyman192 Apr 7, 2023
5942938
Merge pull request #552 from monkeyman192/update/10949467
monkeyman192 Apr 7, 2023
471e180
Updated files for 10999491
monkeyman192 Apr 14, 2023
d476728
Merge pull request #553 from monkeyman192/update/10999491
monkeyman192 Apr 14, 2023
bacf2f8
Update for 11371463
Jun 1, 2023
45e0761
Merge pull request #555 from HolterPhylo/UpdateFor11371463
HolterPhylo Jun 1, 2023
1dd8577
Update for 11414212
monkeyman192 Jun 7, 2023
95de968
Merge pull request #556 from monkeyman192/update/11414212
monkeyman192 Jun 7, 2023
ab4e60a
Update for 11477461
Jun 15, 2023
801c407
changed version
Jun 16, 2023
d2f9fb5
Merge pull request #558 from HolterPhylo/UpdateFor11477461
monkeyman192 Jun 16, 2023
307621f
Update for 11590273
Jun 29, 2023
124c6b6
Merge pull request #561 from HolterPhylo/updateFor11590273
monkeyman192 Jun 30, 2023
3e436c8
Update dotnet versions
monkeyman192 Jul 16, 2023
155d57b
Merge pull request #562 from monkeyman192/dotnet_update
monkeyman192 Jul 17, 2023
af566c3
[skip ci] Fix mistake in readme
monkeyman192 Jul 17, 2023
0940d4c
Update for 4.40
monkeyman192 Aug 24, 2023
d6acfcd
Merge pull request #565 from monkeyman192/update/12022825
monkeyman192 Aug 24, 2023
30fd08a
Update for 12034724
Aug 25, 2023
e96720b
Merge pull request #566 from HolterPhylo/UpdateFor12034724
monkeyman192 Aug 25, 2023
d1e8be6
Add Linux build
Aug 31, 2023
ca356e2
Merge pull request #570 from SplinterGU/Linux
monkeyman192 Aug 31, 2023
1a61087
Update for 12107035
Sep 5, 2023
df2d35c
Merge pull request #573 from HolterPhylo/UpdateFor12107035
monkeyman192 Sep 5, 2023
073d50e
Update CI with build matrix
monkeyman192 Sep 3, 2023
10cede7
Merge pull request #572 from monkeyman192/ci_update
monkeyman192 Sep 8, 2023
4078b02
Update for 12141065
monkeyman192 Sep 8, 2023
aa74654
Merge pull request #574 from monkeyman192/update/12141065
monkeyman192 Sep 8, 2023
e649c3e
Update for 12660810
Nov 9, 2023
b1b9614
Merge pull request #576 from HolterPhylo/UpdateFor12660810
monkeyman192 Nov 9, 2023
ded85c9
Bump version
monkeyman192 Nov 9, 2023
efb1e01
Only small change it seems...
monkeyman192 Dec 8, 2023
6b26c39
Potential CI fix
monkeyman192 Dec 8, 2023
43b137c
Merge pull request #577 from monkeyman192/4.46.0-changes
monkeyman192 Dec 8, 2023
9aeb8e1
Update for 12964151
Dec 14, 2023
3625342
Merge pull request #578 from HolterPhylo/UpdateFor12964151
monkeyman192 Dec 14, 2023
c048e20
Update for 13391537
Feb 7, 2024
5bb184e
bump action versions
Lenni009 Feb 7, 2024
fcbd188
Merge pull request #579 from HolterPhylo/UpdateFor13391537
monkeyman192 Feb 7, 2024
6bb5f98
Merge pull request #580 from Lenni009/development
monkeyman192 Feb 7, 2024
f6afcce
Update for 13407450
Feb 8, 2024
09879ff
Merge pull request #581 from HolterPhylo/UpdateFor13407450
monkeyman192 Feb 8, 2024
0006b43
update keys to be hashed for save mapping
monkeyman192 Feb 10, 2024
aea735e
Merge pull request #582 from monkeyman192/save_mapping_update
monkeyman192 Feb 11, 2024
f1afb83
version bump
monkeyman192 Feb 14, 2024
6231e17
Update for 13456635
Feb 14, 2024
c0d3d08
Merge pull request #583 from HolterPhylo/UpdateFor13456635
monkeyman192 Feb 14, 2024
c4d871e
Update for 13499678
Feb 19, 2024
6ab1eed
Merge pull request #585 from HolterPhylo/UpdateFor13499678
monkeyman192 Feb 19, 2024
7f32525
Update for 13531997
Feb 22, 2024
c372935
Updated version
Feb 22, 2024
a92c9dc
revert version update
Feb 22, 2024
d2d4afd
Updated version to 4.52.0.2
Feb 22, 2024
66a5702
Merge pull request #587 from HolterPhylo/UpdateFor13531997
HolterPhylo Feb 23, 2024
a6e6c93
use dedicated sets for saves and account data
cengelha Mar 21, 2024
71aae25
add Version to account_mapping
cengelha Mar 24, 2024
98ca732
Update for 4.60
monkeyman192 Mar 27, 2024
20b7f22
Merge pull request #590 from monkeyman192/update/13578399
HolterPhylo Mar 27, 2024
3b35d3f
Update for 13913824
Apr 1, 2024
a3844aa
Merge pull request #591 from HolterPhylo/UpdateFor13913824
monkeyman192 Apr 2, 2024
9f4a487
Update for 13926066
Apr 2, 2024
e5b5f23
Merge pull request #592 from HolterPhylo/UpdateFor13926066
monkeyman192 Apr 2, 2024
653613e
Update for 13939219
Apr 3, 2024
c2b4d0b
Merge pull request #593 from HolterPhylo/UpdateFor13939219
monkeyman192 Apr 3, 2024
f1f47c1
Update for 14035264
Apr 12, 2024
b48a6b9
Merge pull request #594 from HolterPhylo/UpdateFor14035264
monkeyman192 Apr 13, 2024
cb668c9
Update for 14109135
monkeyman192 Apr 19, 2024
22ad0d3
Merge pull request #595 from monkeyman192/update/14109135
monkeyman192 Apr 19, 2024
09701cd
Fixes for broken files and AlignOf optimization
monkeyman192 Apr 20, 2024
400a06b
Changes for 14144058
monkeyman192 Apr 23, 2024
7510b39
Merge pull request #596 from monkeyman192/recent_fixes
monkeyman192 Apr 23, 2024
f4694ff
Restore pre experimental field order when serialising to exml
Auburn Apr 24, 2024
ea608bc
Merge pull request #597 from Auburn/restore_field_order
monkeyman192 Apr 26, 2024
ae9468d
Add index attributes to all classes
monkeyman192 Apr 25, 2024
428e551
Add some extra manual alignments to fix two test failures
monkeyman192 Apr 26, 2024
b96951c
Implemented code to reorder list data, fixed padded string null byte …
monkeyman192 Apr 26, 2024
a094a15
Merge pull request #598 from monkeyman192/add_field_index
monkeyman192 Apr 26, 2024
50a5c0d
Add changes for 14207877
monkeyman192 Apr 29, 2024
85f6b03
Merge pull request #600 from monkeyman192/update/14207877
monkeyman192 Apr 29, 2024
ab9d09d
update header to version 3
monkeyman192 Apr 27, 2024
b50bbda
Merge pull request #599 from monkeyman192/header_v3
monkeyman192 Apr 29, 2024
0532910
Improve reserialization of geometry and animation files
monkeyman192 Apr 29, 2024
21acb8a
Merge pull request #601 from monkeyman192/more_geom_anim_fixes
monkeyman192 Apr 30, 2024
ecdd047
Updated files for version 14533385
monkeyman192 May 29, 2024
cd43e88
Merge pull request #603 from monkeyman192/update/14533385
monkeyman192 May 30, 2024
99102a6
Changes to Quaternion (de)serialization
monkeyman192 May 11, 2024
dd8cd99
Merge pull request #602 from monkeyman192/anim_fixes
monkeyman192 May 30, 2024
0f33a4c
Flatten VariableSizeString
monkeyman192 May 30, 2024
c5dca4d
Merge pull request #604 from monkeyman192/flatten_VariableSizeString
monkeyman192 May 30, 2024
a5757c0
Updated file for 14550997
monkeyman192 May 31, 2024
07d3e72
Merge pull request #605 from monkeyman192/update/14550997
monkeyman192 May 31, 2024
850766a
Update for 14676108
Jun 11, 2024
9d1090e
Merge pull request #606 from HolterPhylo/UpdateFor14676108
HolterPhylo Jun 11, 2024
d532cf5
Merge pull request #589 from cengelha/issue-588-mapping-hash-collision
monkeyman192 Jul 10, 2024
d8f7a9a
Update for header v4
monkeyman192 Jul 17, 2024
9b23251
Update for 5.0
monkeyman192 Jul 19, 2024
43ac519
Merge pull request #607 from monkeyman192/header_v4
monkeyman192 Jul 19, 2024
f0f8247
Implement HashMap and other new types
monkeyman192 Jul 22, 2024
58dacf1
Merge pull request #609 from monkeyman192/more_5.0
monkeyman192 Jul 25, 2024
7bd61e8
Update for 15152259
Jul 25, 2024
2b69370
Update version
Jul 26, 2024
30c58dc
Merge pull request #610 from HolterPhylo/UpdateFor15152259
monkeyman192 Jul 26, 2024
bcddf5f
Deleting unused .cs files
Jul 26, 2024
61efec9
Merge pull request #611 from HolterPhylo/DeleteUnusedCSFiles
monkeyman192 Jul 26, 2024
64ff46a
Update for 15174591
monkeyman192 Jul 28, 2024
cd04c75
Merge pull request #613 from monkeyman192/update/15174591
monkeyman192 Jul 28, 2024
3593102
Update for 15243936
Aug 2, 2024
e77527a
Update version
Aug 3, 2024
0ff266e
Merge pull request #614 from HolterPhylo/UpdateFor15243936
monkeyman192 Aug 3, 2024
208d41d
Update for 15307704
Aug 8, 2024
0598df0
Merge pull request #615 from HolterPhylo/UpdateFor15307704
monkeyman192 Aug 8, 2024
058a8c3
bump action-gh-release action version
monkeyman192 Sep 3, 2024
39661ee
Merge pull request #616 from monkeyman192/pipeline_bump
monkeyman192 Sep 4, 2024
48153b1
Update for NMS 5.10
monkeyman192 Sep 4, 2024
435f30c
Merge pull request #617 from monkeyman192/update/15589280
monkeyman192 Sep 4, 2024
b190919
partially revert pipeline change
monkeyman192 Sep 4, 2024
635211c
Update for 15593720
monkeyman192 Sep 4, 2024
65a5033
Merge pull request #618 from monkeyman192/update/15593720
monkeyman192 Sep 5, 2024
e902901
Update for 15663204
monkeyman192 Sep 11, 2024
689c2a8
Merge pull request #619 from monkeyman192/update/15663204
monkeyman192 Sep 11, 2024
d9964d2
Changes for 5.20 update
monkeyman192 Oct 23, 2024
2ab3e65
Merge pull request #622 from monkeyman192/update/16151577
monkeyman192 Oct 23, 2024
7c9db9d
Update for 16166985
monkeyman192 Oct 24, 2024
dfc4a1f
Merge pull request #623 from monkeyman192/update/16166985
monkeyman192 Oct 25, 2024
8c61df7
Update for 16209713
Oct 28, 2024
e04eea3
Merge pull request #624 from HolterPhylo/UpdateFor16209713
monkeyman192 Oct 28, 2024
a57a53c
Update for steam build id 16327053
monkeyman192 Nov 7, 2024
a5fbebf
Merge pull request #625 from monkeyman192/update/16327053
monkeyman192 Nov 7, 2024
5989e2a
Update for 16706643
monkeyman192 Dec 11, 2024
382e07f
Merge pull request #626 from monkeyman192/update/16706643
HolterPhylo Dec 11, 2024
05ff316
Update for latest experimental
monkeyman192 Jan 3, 2025
6b77571
Changes for 16928316 and geometry data guid fix
monkeyman192 Jan 7, 2025
e624be7
Merge pull request #627 from monkeyman192/update/16900201
monkeyman192 Jan 7, 2025
e886708
Initial changes to generate mxml-compliant files
monkeyman192 Jan 7, 2025
c517d80
Start producing mxml instead of exml files
monkeyman192 Jan 8, 2025
de7ad5c
Change default exclude to nothing
monkeyman192 Jan 9, 2025
9ad065d
Got tests passing now
monkeyman192 Jan 9, 2025
31d8433
Further improvements and changes to mxml format
monkeyman192 Jan 28, 2025
b034c63
Fixed a small issue with the xml properties
monkeyman192 Jan 28, 2025
b4ec1f5
Fix issue writing List<NMSTemplate>'s to mxml
monkeyman192 Jan 29, 2025
7b92fe1
Change EXML to MXML in all files and add EXML output format for compa…
monkeyman192 Jan 29, 2025
cf7a9c5
Revert "Change EXML to MXML in all files and add EXML output format f…
monkeyman192 Jan 29, 2025
ace6e7a
Re-revert back to using MXML everywhere
monkeyman192 Jan 29, 2025
4920f0d
Merge pull request #630 from monkeyman192/mxml_changes
monkeyman192 Jan 29, 2025
4bdd2a9
Update for Worlds Part 2
monkeyman192 Jan 29, 2025
cf6a2e9
Update geometry related guids
monkeyman192 Jan 29, 2025
be37d04
Version bump
monkeyman192 Jan 30, 2025
fe94366
Fix issue with field name checking
monkeyman192 Jan 30, 2025
7e04328
Merge pull request #631 from monkeyman192/update/17176007
monkeyman192 Jan 30, 2025
511bf90
Update for latest experimental (steam build id 1719083)
monkeyman192 Jan 30, 2025
bd6a360
Merge pull request #632 from monkeyman192/update/17190683
monkeyman192 Jan 31, 2025
b9ca102
Update for steam build 17241289
monkeyman192 Feb 4, 2025
8300364
Merge pull request #635 from monkeyman192/update/17241289
monkeyman192 Feb 5, 2025
722a849
Update for steam build id 17266312
monkeyman192 Feb 6, 2025
56bb86b
Merge pull request #636 from monkeyman192/update/17266312
monkeyman192 Feb 6, 2025
dbc5267
Improve mxml format compatibility
monkeyman192 Feb 7, 2025
f6007c2
Update for steam build id 17286670
monkeyman192 Feb 7, 2025
443bb52
Merge pull request #637 from monkeyman192/mxml_fixes
HolterPhylo Feb 8, 2025
eee7d5d
Update for steam build id 17356484
monkeyman192 Feb 13, 2025
5312717
Merge pull request #638 from monkeyman192/update/17356484
monkeyman192 Feb 13, 2025
82e205b
Bump version
monkeyman192 Feb 13, 2025
4f7fff7
Update for experimental - Add COlour32 and _index attribute for non-e…
monkeyman192 Feb 20, 2025
3ce3cea
Completed the _index attribute writing and added _id attribute
monkeyman192 Feb 20, 2025
b64f3e9
Update for latest experimental
monkeyman192 Feb 21, 2025
5e5063f
Fix for empty HashMap and update for latest experimental
monkeyman192 Feb 21, 2025
01471d2
Merge pull request #639 from monkeyman192/update/17409346
monkeyman192 Feb 21, 2025
ed29fe1
Add ID info to HashMap's and change Colour32's fields to bytes
monkeyman192 Feb 22, 2025
c27f00d
Merge pull request #640 from monkeyman192/hashmap_ids
monkeyman192 Feb 22, 2025
99c17cd
Fix issue writing HashMap's to MXML
monkeyman192 Feb 25, 2025
aec9291
Merge pull request #641 from monkeyman192/hashmap_to_mxml_fix
monkeyman192 Feb 27, 2025
a98de47
Update for 17871712
monkeyman192 Mar 26, 2025
a148fc5
Merge pull request #644 from monkeyman192/update/17871712
monkeyman192 Mar 26, 2025
7234a2b
Update for steam build id 17995244
monkeyman192 Apr 5, 2025
c4d94b4
Merge pull request #645 from monkeyman192/update/17995244
monkeyman192 Apr 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
23 changes: 23 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Contributing to MBINCompiler

There are a number of ways that anyone can contribute to the development of MBINCompiler, but the main two ways are as follows:

#### Providing Updated versions of structs

Every time Hello Games pushes an update to the game we check to see if there are any structs that have changed. If there have been changes then an issue will be created which has the *Update Info* tag.

If you have some reverse engineering skills you can create a Pull Request which fixes some or all of the structs that were broken by the update.

If your pull request would result in every struct that was changed being fixed (or finishes off the list of structs requiring updating in a given issue), then you should add `closes #XYZ` (where `XYZ` is the number of the issue that should be closed) to the text of the PR.

#### Providing names for unknowns in globals

As of NMS 2.0, HG removed the names of variables in all globals exept for the camera globals. Because of this, we have gone back to having a number of variables which have their effect unknown. This is a great place to start off contributing to MBINCompiler as it doesn't require any reverse engineering knowledge and can be done by simply using cheat engine to try and determine the values.

A number of globals also have some comments in the source code which indicate some suggestions for what the variables *may* do. In this case testing is required to confirm or deny whether the variable is in fact related to what the comment suggests.

### General protocol for opening a Pull Request

- If you are working on a PR which may end up having a few commits, you can prepend the name of your PR with `[WIP]` to indicate that the PR is not yet complete.
- Once you are happy with your PR, the title must be prepended with `[MRG]` to indicate that the PR is ready to go and the review process can take place.
- Currently there is no testing done on the MBINCompile code base on a CI service, however this will hopefully come in the future and when it does, no PR will be able to be merged unless it passes any CI tests.
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/-bug-report-.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: "[Bug Report]"
about: Create a bug report to submit information about program errors, unpexpected
behaviours and other unintended mistakes.
title: ''
labels: bug
assignees: ''

---

_Fill in the details for each relevant section._
_When you're done, then delete any instructions, example text and irrelevant sections._
_Please select the project on the sidebar where you encountered the problem._

**Things to check before you raise an issue**
- Make sure that you have looked at the log file and determined that the issue is in fact an issue with MBINCompiler, and not an issue with the mxml file being modified incorrect etc.
- Check to see that an issue has not already been raised of the same manner.
- If there has been a recent update, check to see for any issues marked `[UPDATE]` to see if the struct you are having issues with is in fact supported yet or not. If not ticked off, please do not post an issue.
**IMPORTANT**: If there was a recent release and there is no issue with the update info, please do not raise an issue about single broken files. It may take some time for this issue to be created, so please be patient. Opening multiple issues will not help and they will just be closed.

**Describe the bug**
A clear and concise description of what the bug is.
Include a summary of the error message if there is one.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Steps To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Specs (please complete the following information, if applicable):**
- libMBIN (MBINCompiler) Version: [eg 1.0.0.0]
- NMS Game Version or Steam Build Number: [eg 1.0.0.0, or 4154325] (To find the build number, right click on the game in steam, select `Properties`, then click on the `LOCAL FILES` tab and the buildID is at the bottom).
- MBIN File: [eg GCPLAYERGLOBALS.GLOBAL.MBIN]
- MBIN File Version: [eg 1.0.0.0]

**Additional Information**
Add any other information here that you think might be helpful.

_Attachments:_
_Always include the entire log file._
_Do not attach MBIN files unless requested._
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/-feature-request-.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: "[Feature Request]"
about: Suggest an idea for this project.
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
145 changes: 145 additions & 0 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: MBINCompiler

on:
# Run on all branches except for the gh-pages branch
push:
paths-ignore:
- '*.md'
branches-ignore:
- 'gh-pages'
pull_request:
paths-ignore:
- '*.md'
branches-ignore:
- 'gh-pages'
create:

jobs:
build_test:
name: Build artefacts - ${{ matrix.os.name }}/${{ matrix.dotnet.framework }}
runs-on: ${{ matrix.os.name }}-latest
strategy:
fail-fast: false
matrix:
os: [{name: 'Ubuntu', runtime: 'linux-x64'}, {name: 'Windows', runtime: 'win-x64'}]
dotnet: [{framework: 'net6.0', version: '6.0.0'}, {framework: 'net7.0', version: '7.0.0'}]
steps:
- uses: actions/checkout@v4
- name: Build ${{ matrix.os.name }}-dotnet ${{ matrix.dotnet }} binaries
run: |
sed -i '\|<TargetFrameworks>net6.0;net7.0</TargetFrameworks>|a\ <RuntimeFrameworkVersion>${{ matrix.dotnet.version }}</RuntimeFrameworkVersion>' ./MBINCompiler/MBINCompiler.csproj
sed -i '\|<TargetFrameworks>net6.0;net7.0</TargetFrameworks>|a\ <RuntimeFrameworkVersion>${{ matrix.dotnet.version }}</RuntimeFrameworkVersion>' ./libMBIN-DLL/libMBIN-DLL.csproj
dotnet publish libMBIN-DLL --no-self-contained -c Release -f ${{ matrix.dotnet.framework }} -r ${{ matrix.os.runtime }} /nowarn:cs0618 /nowarn:cs0169 /nowarn:cs0414
dotnet publish MBINCompiler --no-self-contained -c Release -f ${{ matrix.dotnet.framework }} -r ${{ matrix.os.runtime }} /nowarn:cs0618 /nowarn:cs0169 /nowarn:cs0414
- name: Move the exe so the tests can find it easier
run: |
cp Build/Release/${{ matrix.dotnet.framework }}/${{ matrix.os.runtime }}/publish/MBINCompiler.exe MBINCompiler.exe
cp Build/Release/${{ matrix.dotnet.framework }}/${{ matrix.os.runtime }}/publish/libMBIN.dll libMBIN.dll
if: ${{matrix.os.name == 'Windows' }}
- name: Move the exe so the tests can find it easier
run: |
cp Build/Release/${{ matrix.dotnet.framework }}/${{ matrix.os.runtime }}/publish/MBINCompiler MBINCompiler.exe
cp Build/Release/${{ matrix.dotnet.framework }}/${{ matrix.os.runtime }}/publish/libMBIN.dll libMBIN.dll
if: ${{matrix.os.name == 'Ubuntu' }}
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest requests
- name: Run tests
run: python -m pytest --mbincompiler_path="./MBINCompiler.exe" --tb=no --report
- name: Upload Windows binaries
uses: actions/upload-artifact@v4
with:
name: MBINCompiler-${{ matrix.os.name }}-${{ matrix.dotnet.framework }}
path: |
MBINCompiler.exe
libMBIN.dll
if: ${{matrix.os.name == 'Windows' }}
- name: Upload Linux binaries
uses: actions/upload-artifact@v4
with:
name: MBINCompiler-${{ matrix.os.name }}-${{ matrix.dotnet.framework }}
path: |
MBINCompiler.exe
MBINCompiler.dll
libMBIN.dll
if: ${{matrix.os.name == 'Ubuntu' }}
- name: Upload report
uses: actions/upload-artifact@v4
with:
name: MBINCompiler-report
path: report.json
if: ${{matrix.os.name == 'Windows' && matrix.dotnet.framework == 'net6.0'}}
save_mapping:
name: Build save file mapping and generate mapping
runs-on: Windows-latest
steps:
- uses: actions/checkout@v4
- name: Build SaveFileMapping binary
run: dotnet publish SaveFileMapping -c Release -f net6.0 -r win-x64 -o Build/Release/net6/ /nowarn:cs0618 /nowarn:cs0169 /nowarn:cs0414
- name: Generate save data mapping
run : Build/Release/net6/SaveFileMapping.exe
shell: bash
- name: Upload report
uses: actions/upload-artifact@v4
with:
name: savedata-mapping
path: mapping.json
release:
name: Release MBINCompiler binaries and other data
# Only run this job if the commit was tagged.
if: ${{ startsWith(github.ref, 'refs/tags/') }}
runs-on: windows-latest
needs: [build_test, save_mapping]
steps:
- name: Download files for release
uses: actions/download-artifact@v4
- name: Rename files for release
run: |
mv MBINCompiler-Windows-net6.0/MBINCompiler.exe MBINCompiler.exe
mv MBINCompiler-Windows-net6.0/libMBIN.dll libMBIN.dll
mv MBINCompiler-Windows-net7.0/MBINCompiler.exe MBINCompiler-dotnet7.exe
mv MBINCompiler-Windows-net7.0/libMBIN.dll libMBIN-dotnet7.dll
mv MBINCompiler-Ubuntu-net6.0/MBINCompiler.exe MBINCompiler-linux
mv MBINCompiler-Ubuntu-net6.0/libMBIN.dll libMBIN-linux.dll
mv MBINCompiler-Ubuntu-net7.0/MBINCompiler.exe MBINCompiler-linux-dotnet7
mv MBINCompiler-Ubuntu-net7.0/libMBIN.dll libMBIN-linux-dotnet7.dll
mv savedata-mapping/mapping.json mapping.json
mv MBINCompiler-report/report.json report.json
- name: Get MBINCompiler tag version
run: |
echo "VERSION=$(./MBINCompiler.exe version | awk '{print $2}')" >> $GITHUB_ENV
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
shell: bash
- name: Upload resources if version matches
if: env.VERSION == env.TAG
uses: softprops/action-gh-release@v2
with:
name: "${{ env.TAG }}"
tag_name: ${{ env.TAG }}
prerelease: true
files: |
MBINCompiler.exe
libMBIN.dll
MBINCompiler-dotnet7.exe
libMBIN-dotnet7.dll
MBINCompiler-linux
libMBIN-linux.dll
MBINCompiler-linux-dotnet7
libMBIN-linux-dotnet7.dll
report.json
mapping.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check if tag doesn't match version
if: env.VERSION != env.TAG
run: |
echo "There is a version mismatch between the tag and MBINCompiler version!"
echo "MBINCompiler version: ${{ env.VERSION }}"
echo "Tag version: ${{ env.TAG }}"
exit 1
shell: bash
28 changes: 27 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -254,4 +254,30 @@ paket-files/

# CodeRush
.cr/
/MBINCompilerTests/app.config
*.manifest

**/launchSettings.json
/.nuget/

# python-related files
*.pyc
.pytest_cache/

# test data
tests/**/*.MBIN
tests/**/.version
tests/**/_*.txt
tests/data/*
report.json
results.txt

# Auto-generated documentation
docs/classes/
html_docs/

# auto-extraction script output
Tools/auto_extract/output/**/*.cs
Tools/auto_extract/*.projitems
Tools/auto_extract/summary.txt
Tools/auto_extract/extract.cfg
Tools/auto_extract/guids_*.json
24 changes: 24 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Build/Debug/net6.0/MBINCompiler.dll",
"args": [],
"cwd": "${workspaceFolder}/MBINCompiler",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}
41 changes: 41 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/MBINCompiler.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/MBINCompiler.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/MBINCompiler.sln"
],
"problemMatcher": "$msCompile"
}
]
}
Loading