Kurt
b2e4ca393b
Minor perf improvements
...
GetHexStringFromBytes: don't allocate temp slice array on heap
Tile: Span Slice toarray rather than new+copy
2021-05-23 10:56:25 -07:00
Kurt
15afd6f3bc
Move mail get to sav obj
2021-05-22 09:28:04 -07:00
Kurt
96115916b2
Prevent overflow of memo write
...
Setting too many invalid entries will bloat above 500, so clamp the max.
Preallocate entries size rather than 4 always
2021-05-22 09:27:46 -07:00
Kurt
74e0cba3b0
Minor tweaks
...
use assert instead of manual exceptions
span
remove some dead logic
2021-05-18 16:16:48 -07:00
Kurt
215b1c6e23
Remove whitespace
2021-05-18 13:33:13 -07:00
Kurt
2c820bfbe9
Minor tweaks
2021-05-18 13:29:55 -07:00
Kurt
ae0b2f13ea
Fix erroneous value setters
2021-05-18 13:12:43 -07:00
Kurt
2d8d3e04fc
Move mxyz to subclasses
2021-05-18 13:04:23 -07:00
Kurt
2b25cd1e18
add notes for oras endscroll data
...
https://projectpokemon.org/home/forums/topic/49356-battle-chateau-help-well-not-really/?do=findComment&comment=266428
2021-05-15 01:46:33 -07:00
Kurt
acdbda4e12
Split DateUtil from Util class
2021-05-14 16:46:48 -07:00
Kurt
3ac1882151
Move BinaryCodedDecimal conversions to separate class
...
Add unit tests, clarify names
2021-05-14 16:32:26 -07:00
Kurt
50b15cd740
Use range/index
...
More in line with modernizing the codebase with latest c# syntax
improve web-qr decode speed slightly (no linq skiptake)
get money/coin mask without a temporary string (lol performance)
2021-05-14 15:30:55 -07:00
Kurt
871f9b0627
Convert checksum operations to span-based
...
Fix SAV.Data references in SAV_Misc4 to use the General block instead
2021-05-14 12:30:40 -07:00
Kurt
b9d9766674
Fix typos, update block list notes
2021-05-14 12:16:08 -07:00
Kurt
07584a8774
Add chateau score, seaside cycle score
...
Update some other areas too
looks like this fixes the sube pkx fetch method for extraslots, yay.
2021-05-13 23:12:53 -07:00
Kurt
d340642b09
Minor perf improvements
2021-05-10 01:01:45 -07:00
Kurt
8e9953dc0f
Keep festaID separate from nex ID bytes
2021-05-09 23:38:14 -07:00
Kurt
ceede68861
Minor tweaks
2021-05-07 22:11:10 -07:00
Kurt
31142ee297
Replace some linq usage with direct logic
2021-05-06 23:26:38 -07:00
CanoeHope
c1cce9a892
Correct Colosseum/XD Item Quantities ( #3203 )
...
* Update SAV3Colosseum.cs
* Update SAV3XD.cs
2021-04-28 16:55:37 -07:00
CanoeHope
747d6ed6c7
Fix Colosseum/XD Max Money ( #3202 )
...
* Update SAV3Colosseum.cs
* Update SAV3XD.cs
2021-04-28 11:58:26 -07:00
Lusamine
e5867ce512
Add NormalEncountRigel2 block and Pokedex Rec block
2021-04-23 17:41:54 -05:00
Kurt
b89c4fb17f
Database load on invalid party counts
2021-04-21 18:33:57 -07:00
Kurt
25565e6f07
More pattern matching expressions
...
Shapes are fancy; nested pattern checks
2021-04-20 02:17:28 -07:00
Kurt
c67e01849a
Extract 3ds chinese glyph remapping, only do on 3DS games
...
Optimize some functions within gen7zh for perf (no linq, no allocation)
2021-04-18 18:29:02 -07:00
Kurt
8e52d2fddb
Xmldoc updates
2021-04-17 13:07:28 -07:00
Kurt
0d45075d4b
Rewrite settings handling; enhance some user experiences ( #3193 )
...
- Settings now stored as json next to exe
- Settings now exposes all legality checking setttings that can be changed
- Slot hovering now can play cries in MGDB/PKMDB/etc, not just the main boxes.
- Enhanced hover text for mystery gifts and encounters that have movesets
- Show recently loaded save files in ctrl-f browser
- Toggle auto-load savefile setting to be none/detect-latest/last-loaded
- Custom extensions & extra backup paths can now be configured directly in the json settings
- Settings editor now uses propertygrid & tabs.
2021-04-11 18:09:54 -07:00
Kurt
c7b997865c
Minor clean
2021-04-09 14:52:49 -07:00
Kurt
b0700ba281
Extract Gen7 HoF class, extend event flag count
...
4k flags exactly, and probably 4950 for USUM (alignment +1 byte for an even 4960)
The old flag + count (4 bytes total) are just +32 event flags.
2021-04-07 00:20:02 -07:00
Kurt
223b56d779
Fix gen3 save incorrect destination writes
2021-04-05 22:28:04 -07:00
Kurt
8c4ca3134a
Fix Gen3 coin get/set
2021-04-04 11:53:55 -07:00
Kurt
1348f5deec
Allocate smaller buffers for gen3 sav objects
...
n*0xF80 instead of n*0x1000
2021-04-02 14:57:30 -07:00
Kurt
cdc9710869
Fix gen3 record get/set
...
FR and LG are separate version IDs now
2021-04-01 14:15:11 -07:00
Kurt
a92f92e1c5
Fix gen3 TMHM pouch
2021-04-01 14:14:47 -07:00
Kurt
1e38f55007
Fix changes not being saved completely
2021-04-01 13:43:06 -07:00
Kurt
4700fdd1e3
Set updated version when resetting personal
...
Closes #3180
Improves handling for corrupt gen3 saves (pokedex cheaters)
2021-04-01 13:37:39 -07:00
Kurt
5c9ce494cf
Minor perf improvements
...
Defer some value assignments
Pass already known values directly
Pass static references to reduce allocating small duplicate objects
2021-03-30 18:51:53 -07:00
Kurt
645f2b4db5
Revert implicit casting
...
Looks like netstandard2.0 wasn't meant to receive that new c#9 goodie
2021-03-29 00:14:44 -07:00
Kurt
f59d012cda
Add gen3 battle video class
...
Just supports importing dumps (via code), and the GUI supports loading the party data to boxes like the other supported battle video formats.
2021-03-27 23:22:56 -07:00
Kurt
0190098e47
Gen3: Add methods to get/set external event data
2021-03-27 18:58:51 -07:00
Kurt
0c1d13bf4d
Minor tweaks
...
Lift some temporary arrays for more reuse
reuse some temp references
less allocation overall
2021-03-23 23:10:30 -07:00
Kurt
3822981590
Rework EncounterCriteria to be ability indexed rather than direct ability ( #3179 )
...
* Exploration: rework ability criteria to ability numbers desired
* Sync remaining changes
* Update EncounterCriteria.cs
* Add xmldoc
* Improve speed of IsDualGender check
* More xmldoc updates
Should be doing this on main but meh, this branch is gonna get merged later
* Fix typo
* Update WC7.cs
* Update PersonalInfo.cs
2021-03-23 17:05:15 -07:00
Kurt
8d3f990667
Make some properties into consts
2021-03-20 12:47:21 -07:00
Kurt
27cdcb8b0c
Simplify SAV3 loading
...
Remove hardcoded chunk lengths array
Remove cached chunk index array
Handle new-game files correctly (all blocks present check).
Consistently call things sector instead of chunk or block.
Somehow there was a bug with my FRLG save file's box data, which now loads completely?? Neat
2021-03-16 23:32:16 -07:00
Kurt
3b344bd5c3
Add batrev as a blank sav option via code
2021-03-16 18:49:27 -07:00
Kurt
98a80b4bf1
Fix party offset swap
2021-03-16 18:48:33 -07:00
Kurt
33e2c64721
Split SAV3 into version classes
...
Begone are the version-switch cases for value fetching.
2021-03-15 23:51:58 -07:00
Kurt
6bce4eea14
Minor clean
...
Annotations (nullable), some switch cases for readability
2021-03-14 16:16:55 -07:00
Kurt
649958ee68
Move EReader berry names from tables to settings class
2021-03-14 10:16:09 -07:00
Kurt
155e0283ce
Inline some string logic, extract magic values, xmldoc
2021-03-09 21:31:53 -08:00