Commit graph

479 commits

Author SHA1 Message Date
Kurt
de774ed131 readonly ComboItem
create once, never modified after
2019-06-01 19:12:41 -07:00
Kurt
2b8ef9236a use some explicit dex numbers as enum 2019-06-01 10:22:49 -07:00
Kurt
144a78d688 Relocate method 2019-05-29 16:42:48 -07:00
Kurt
8d781fd167 Simplify sorting to remove linq usage
create custom comparer to do the work
reorder some parameters
simplify gb hm set (All and FindIndex is duplicate work)

only usages of linq remaining are for the bulk action Where filtering
(ok)
2019-05-28 22:55:41 -07:00
Kurt
a45cddd3ed Add missing hax item clamp early return
Closes #2281
remove unnecessary "else", and break for visual separation
2019-05-27 21:38:04 -07:00
Kurt
827eb94f3c Add GameSync r/w for lgpe
https://projectpokemon.org/home/forums/topic/52797-request-lgpe-game-sync-like-value-to-be-added/

ty @PP-theSLAYER !
2019-05-16 22:26:51 -07:00
ReignOfComputer
7625ab66b4 Fix Import Count on Load Boxes (#2308)
Calculation was wrong if non-overwrite is selected. Also fixed OCD-triggering extra space in output message.
2019-05-15 09:11:48 -07:00
Kurt
be8e8851e2 Update 19.05.15 2019-05-14 22:47:48 -07:00
Kurt
091b9e2281 Add g4 poffin editor (misc edits)
Thanks @sora10pls for docs!
https://pastebin.com/jNeVJQi0
2019-05-13 22:56:45 -07:00
Kurt
76e3174d8c Add gen4 poffin logic
800 bytes starting at Offset = SAV.DP ? 0x5050 : 0x52E0;
8 bytes per poffin, 100 poffins.
2019-05-13 18:42:30 -07:00
Kurt
15f93216bd Fix record flag clearing
yay missing ~, Closes #2301 ty @CanoeHope !
rewrite flag loading to not use linq
2019-05-12 15:08:04 -07:00
Kurt
bad16adcee Fix sav7b clone method
underlying data should be a different reference when cloned
2019-05-12 15:06:50 -07:00
Kurt
21e7f4317e Minor updates
increase readability, simplifly some expressions
relocate hot path for legality report string creation
2019-05-11 10:12:14 -07:00
Kurt
300ef4d60a Minor simplifications
Use "SetData" method to automatically apply the Edited flag
Use appropriate method for CopyTo
simplify expressions a tad
2019-04-29 17:21:19 -07:00
Kurt
7c380a29c3 Make sort skip delegate more general 2019-04-29 17:20:16 -07:00
Kurt
0dc45c00ec Check block index before calculating
Missing/Duplicate blocks (???) result in -1, so skip them.

https://projectpokemon.org/home/forums/topic/52437-cant-export-unmodified-sav-file/

replace linq with manual allocation
2019-04-27 17:19:54 -07:00
Kurt
0bd6caf927 Fix male-only dex bit wiping
only wipe the index specific bits, don't wipe everything but the index
specific bits
2019-04-22 22:25:14 -07:00
Kurt
934595126f Simplify qr gender
use personalinfo object to do majority of work,
end result has the 4 sequential bytes set neatly
2019-04-15 15:43:48 -07:00
Kurt
27dfffd5b2 Add model-gender/starter-gender get/set
https://projectpokemon.org/home/forums/topic/52127-lgpe-save-research/?tab=comments#comment-243751
Thanks theSlayer!

(starter gender not modifiable via gui)
2019-04-10 17:03:05 -07:00
Kurt
82fb95b436 Add ConfigSave language get/set
This value is what determines what language the game runs with
2019-04-09 21:19:08 -07:00
Kurt
2f2512b09c Reduce allocations for checking file write time
FileInfo inherits from FileSystemInfo, which initializes a bunch of
strings that we don't need
this isn't a great optimization, just a fun exercise finding a quicker
approach to get these values
2019-04-05 18:45:59 -07:00
Kurt
bbe56a3318 Simplify trade trainer parameters
Bank was always false, don't try to minimalize gets by fetching before
call (be simple)

remove unreachable branches now that dust has settled
2019-03-30 22:05:28 -07:00
Kurt
e614aa9ac8 Relocate xd/batrev encryption
update some xmldoc too
2019-03-30 21:28:32 -07:00
Kurt
f212ba29c9 Misc reductions
same stuff as previous commit but for Gen2

EventConstMax is always > 0, remove guards
2019-03-30 16:38:52 -07:00
Kurt
4f347fbfa9 Misc reductions
no functional change
2019-03-30 16:21:45 -07:00
Kurt
609db23dc5 Consolidate pouch load/set 2019-03-30 16:10:14 -07:00
Kurt
e1a3c8edb3 Add RTC reset, allows game to define on continue
Closes #2273 , thanks @SatoMew !
2019-03-30 12:34:51 -07:00
Kurt
bb8cf5d3d8 Simplify get/decrypt pkm access 2019-03-29 19:43:33 -07:00
Kurt
5dcf2f4dc8 Use enum instead of nullable bool tristate 2019-03-29 17:52:26 -07:00
Kurt
4f2b9baede
Add missing stamp
Closes #2274
2019-03-29 09:40:31 -07:00
Kurt
4650a6f5b5 Reduce sizes 2019-03-22 21:19:47 -07:00
Kurt
cce362b98a Relocate FFFF trim (and 0000) to same location 2019-03-20 22:13:09 -07:00
Kurt
b1ead9e630 Split StringConverter into smaller pieces
reduces loading time (don't have to allocate conversion arrays when
launching a gen7 game), and separates things to easier to manage
locations

reworks gen3 string encode/decode, no longer does 3->4->5 and 5->4->3;
instead goes straight to the end result without an intermediary format.

String sanitization should probably be broken up rather than reused, oh
well.
2019-03-20 21:50:44 -07:00
Kurt
8a08d32dff Simplify pkm constructors
remove Identifier param. 99% of the time, identifier is not provided,
resulting in a useless call

end result:
provide 'create new' and 'create from' constructors
2019-03-16 18:41:56 -07:00
Kurt
5765ce8229 Extract gc version IDs to separate logic 2019-03-16 16:48:38 -07:00
Kurt
ebc7c6ae29 Remove PKX.LCRNG method
Duplicate with RNG.LCRNG
reuse cryptarray for gen5 mysterygift r/w
2019-03-16 16:25:25 -07:00
Kurt
13a6d16cb9 Relocate checksum/dexform logic 2019-03-16 12:01:21 -07:00
Benjamin Sinkula
e4d59b8b98 Add PlayerNames and MatchDate to BV7 2019-03-15 14:35:55 -05:00
Kurt
41bc3f6182
Fix header'ed file export
For xd, getfinaldata returned a standard 344KB save, but then slapped it together with the inner savedata (0x28000 bytes) rather than using the GCI header. Don't use 'Data'
2019-03-15 10:26:16 -07:00
Kurt
e8a5a55323 Add union/berry crush stat ids 2019-03-09 10:26:43 -08:00
Kurt
0d5ee9489b Fix memcard sav cloning
Closes #2267 , Thanks @PMArkive && @Subject21J !
2019-03-07 18:05:55 -08:00
Kurt
bd00680545 Fix incorrect block index ref
https://github.com/kwsch/PKHeX/issues/2267
Still doesn't fix the underlying issue
2019-03-07 17:30:50 -08:00
Kurt
ee787a0f71 Fix HoF size check
now matches the code in ChecksumsValid (< instead of <=)
2019-03-07 15:45:51 -08:00
Kurt
61bf82e2bd Add gs event flags
https://projectpokemon.org/home/forums/topic/49717-pkhex-flag-editing/?tab=comments#comment-240804

via pret repo; looks like 2000 event flags, and 0x100 event
consts/work-vals (byte)
add more rebattle toggles
2019-03-05 23:06:05 -08:00
Kurt
8d49400b07 Change SecondsTo* from int to uint
having a year > 2050 can result in a 32bit seconds value (top bit set);
instead of being negative, keep it as a 32bit number.
2019-03-05 15:55:26 -08:00
Kurt
bb2c7e22cb Add HoF checksum verification and saving
Thanks @av🥑cado#0315 (discord)
2019-03-02 09:16:03 -08:00
Kurt
30e36579be Misc updates
add more xmldoc
revise some comments for clarity
redo a little bit of logic for perf
rename some methods for better description
2019-02-24 13:57:10 -08:00
Kurt
993bb00a61 Remove powersave unused logic
unused & deprecated in favor of using cfw (powersaves price >>>
ntrboot-b9s flashcart)
2019-02-23 18:02:50 -08:00
Kurt
7ba21c5d8c Use subsection fetch 2019-02-23 17:59:46 -08:00
Kurt
d792c0d3a0 use u/L
use 'u' to denote uint values, so that less IL ops are required
~(21->17) in the case of IVs
no functional change, just a fun exercise looking at generated IL and
finding ways to use less ops
2019-02-23 15:36:26 -08:00