Kurt
cacd6e9965
More records/sealing
2021-12-05 23:54:59 -08:00
Kurt
40031fd94d
Fix give all goods for ORAS secret base
...
was overwriting pokepuffs, oops
2021-10-08 12:43:24 -07:00
Kurt
8f0fb902d1
ArgumentException -> ArgumentOutOfRangeException
2021-08-21 16:51:50 -07:00
Kurt
bedc52943e
Trailing commas
...
No functional change
2021-08-20 13:49:20 -07:00
sora10pls
bfcf081e5b
Fix XY multiplayer sprite display
...
Reorder enums; Serena before Calem
2021-08-05 16:22:06 -04:00
Kurt
1efebe51d3
Simplify Country/Region/ConsoleRegion to byte from int
...
Only exists in gen6/7 games.
2021-08-02 19:43:57 -07:00
sora10pls
3fdf1396aa
Update TrainerFashion6 structure
...
Rename EyeShadow => Eyeliner, fixes labeling for fields and getters for lip color and freckles data
2021-07-31 16:00:10 -04:00
Kurt
4ed0e30ace
Minor tweaks
...
Muh infinitesimally small perf gainz found while waiting for next dota match
2021-07-26 23:33:56 -07:00
Kurt
394c5c2c95
Minor clean
...
Shed some unused code
2021-06-15 20:00:51 -07:00
Kurt
0686922d5c
Rewrite gen6ao secret base handling, i/o, GUI
...
Closes #3177
Format sizes are now accurate to game structure sizes. Added a few more editable fields, rid of label/textbox/etc for general base editing -- use a PropertyGrid instead.
Feels nice having a bank of saves to reference + idb to discover the struct layout.
2021-06-13 00:38:47 -07:00
Kurt
8c970ec991
Minor tweaks
...
no functional change, readability++
add more xmldoc
2021-06-03 12:04:19 -07:00
Kurt
138501da2f
Minor clean
...
Condense some expressions
Use less linq
Rename some fields
2021-05-29 15:31:47 -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
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
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
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
6bce4eea14
Minor clean
...
Annotations (nullable), some switch cases for readability
2021-03-14 16:16:55 -07:00
Kurt
613e6db744
Use StringConverter api consistently; use stringbuilder when possible
...
Retain a stringbuilder to mutate the string rather than finalizing temporary strings
yields some speed improvements (less gen0 string objects allocated)
2021-01-14 22:50:13 -08:00
Kurt
cc43550357
Simplify more expressions
2021-01-04 17:31:43 -08:00
Kurt
c119f18af3
spec->species
2020-12-28 22:22:52 -08:00
Kurt
98be0f6739
Target type'd new
2020-12-21 17:17:56 -08:00
Kurt
0303eada32
this is not that
...
clearer than before, yay
2020-12-21 17:12:39 -08:00
Kurt
62018cce1a
Unify concepts with different names
...
AltForm & Form & Forme => Form
GenNumber & Generation => Generation
Extract out SpeciesForm interface, and re-add IGeneration
For those using PKHeX as a dependency, this should be a pretty straightforward manual replacement... GenNumber and AltForm should be quick find-replace`s.
2020-12-10 20:42:30 -08:00
Kurt
6f7602f2ad
Change signatures to use readonly if possible
...
Extract get/set team methods for battle video
2020-12-05 06:09:33 -08:00
Kurt
e72c80613e
Extract metadata/state tracking from SaveFile obj
2020-12-05 05:36:23 -08:00
Kurt
df5ebd1f54
Minor clean
...
Resolve some messages
2020-11-11 21:01:41 -08:00
Kurt
22f37910f0
Remove unnecessary single-member interfaces
2020-09-27 18:19:28 -07:00
Kurt
01fb233e48
Minor tweaks
...
Extract some interfaces
Suppress some warning messages with commented reasons if appropriate
2020-09-09 12:47:24 -07:00
Kurt
5d3bc289b6
seal hunting
...
Mark things as sealed as they shouldn't be inherited from or overriden in a derived class.
2020-09-07 13:51:13 -07:00
Kurt
cf9e5ec37f
Minor refactoring
...
Change Ability array to IReadOnlyList, add method to check ability index in personal data
Suppress some message warnings
Change EvolutionChain short-circuit for VC to jump from gen6 directly down to gen2. There aren't any notradeback 1 situations, so a notradeback1 will always start with g=1, so no need for the other if-continue.
Simplify pk5 conversion
2020-09-06 10:53:13 -07:00
Kurt
a7ba178005
Remove unreachable/const logic
...
Earlier compares result in some logic being unnecessary
The Gen7 level up move compare was actually an oversight, so it's a worthwhile fix :)
2020-06-27 22:44:14 -05:00
Kurt
09cbe47240
Add battle tree scout edits
...
Closes #2833
2020-05-24 18:31:52 -07:00
Kurt
053eef2767
Add encount block
...
Closes #2840 -- access via Block Editor "Encount"
Tons of undecipherable junk in the roamer struct; looks like a mishmash of past gen code repurposed for their pseudo-stationary|roamer encounter.
ORAS has the same structure (same size/block), but the roamer portion isn't used
2020-05-24 17:31:10 -07:00
Kurt
8ce4f64239
Move files to their correct location
2020-05-24 17:11:39 -07:00
Kurt
ca48b4e617
Fix nick set
...
Closes #2817
2020-04-25 17:18:04 -07:00
Kurt
c301ce88ab
Update Random to be a bit more thread safe
...
Random isn't thread safe; users of PKHeX.Core.dll might run multithreaded operations (see PKSM + ALM), so we need to have a thread-specific RNG available.
Thread Local get; to improve performance, save the random object locally whenever it is used more than once in the method.
https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadlocal-1?redirectedfrom=MSDN&view=netframework-4.8
https://stackoverflow.com/questions/18333885/threadstatic-v-s-threadlocalt-is-generic-better-than-attribute/18337158#18337158
2020-01-25 21:49:52 -08:00
Kurt
843330a375
Remove unnecessary null checks
...
this is a null free project /s
dont provide null, else u deserve to get an exception
2020-01-18 16:57:25 -08:00
Kurt
e21d108fb2
Split PokeCrypto from PKX
...
All logic in PokeCrypto is separate from the rest of the PKHeX.Core
library; makes it easy to just rip this portion out and reuse in other
projects without needing the entirety of PKHeX.Core logic
optimize out the CheckEncrypted to the actual path, separate methods.
Only usages of this method were with hardcoded Format values, so no
impact
2020-01-04 14:48:39 -08:00
Kurt
f4bafe0809
Add extension methods for gym team get/set for all
...
Closes #2607
SAV6XY/AO had GymTeams get/set, this now makes similar logic accessible
for even SAV5BW/B2W2.
2019-12-28 22:32:45 -08:00
Kurt
be50abcc44
Add SubEventLog block object, etc
...
Adds gym team records, remove from savefile properties
update block list documentation
2019-12-28 21:53:58 -08:00
Kurt
d3bd37a950
tweak last saved string format
...
ty @sora10pls for testing
2019-11-26 23:10:28 -08:00
Kurt
e3efa65160
Cleanup
...
handle messages for dirty cleaning :)
2019-10-26 12:33:58 -07:00
Kurt
64a5c30356
Add 4th uint of fashion data
...
struct is really 16 bytes, and female uses 8 bits of the final uint
Closes #2407
2019-10-25 19:54:50 -07:00
Kurt
d4ce0644c8
Simplify block property names
...
[...]Block -> [...] since it's kinda redundant, we already know by its
type.
Rename offset ints that collide
2019-10-18 20:42:03 -07:00
Kurt
abe87eb369
Relocate maison stats to block access
2019-10-18 20:13:21 -07:00
Kurt
e05d75eeb7
More training bags
...
giff swsh
2019-10-17 23:02:01 -07:00
Kurt
c24851129f
Add super training block details & to block access
...
Use some properties in the super training editor, not gonna rewrite that
even though it really needs it :)
2019-10-17 20:13:17 -07:00
Kurt
cf955e9fc7
Fix sav7 init
...
guess I never launched this format the entire week
2019-10-16 19:08:13 -07:00