Kurt
40db929166
Re-add resources for inventory editor
...
Closes #2398
2019-10-04 21:23:54 -07:00
Kurt
87f43a47d8
Bump lang version to 8
...
some lang upgrades
2019-10-04 20:10:50 -07:00
Kurt
d3b0c392b2
Minor tweaks
...
no functional change
2019-10-03 22:21:33 -07:00
Kurt
8d8adde2b1
sealed
...
sealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealed
2019-10-03 19:09:02 -07:00
Kurt
ffe3a4ba15
Relocate resource naming for sprite fetch to draw
2019-10-03 18:23:40 -07:00
Kurt
c0cdf81ca5
Default LGPE backgrounds to clean
...
Could iterate up and use the xy special backgrounds; just keep em simple
ty @sora10pls for pointing out this unintended behavior
2019-10-02 20:11:21 -07:00
Kurt
ab0b8979e9
Add swsh content placeholders ( #2392 )
...
placeholder content until real data is dumped
2019-09-23 16:56:47 -07:00
Kurt
7819c16792
Use slice operation instead of linq chain
...
Reuse IsRangeAll for smdemo detect
reset dragdrop on dropping folder (early returned)
2019-09-23 15:13:22 -07:00
Kurt
b41f2a3062
Extract logic from PKX
...
Extract Species Name logic to SpeciesName
Extract Language logic to Language
Remove FormConverter wrapper for string[] fetch
Rearrange some logic to more appropriate locations, update access
modifiers / types
Move some pkm array methods to arrayutil, make generic
PKX.GetVCLanguage was a dupe of _K12.GuessedLanguage() so just expose
the method
PKX is now back to pkm data manip only
2019-09-18 19:58:23 -07:00
Kurt
b9246ece37
Extract y2k datetime logic, also wardrobe tweak
...
swsh gonna have wardrobe, so rename class and relocate some logic in for
better docs
2019-09-15 22:12:32 -07:00
Kurt
0d9c18e1c6
Minor clean
...
dual bounds check -> single check via uint cast
pkx: keep array reference for reuse in next check
format return to second line to stick out more; lines of code are cheap
:)
2019-09-11 22:17:16 -07:00
Kurt
40cbbaa695
Relocate to more appropriate util class
2019-09-11 18:39:49 -07:00
Kurt
c5ebbbbe15
Minor clean
...
Magic number -> const usage
default(T) -> default (c#7.x feature)
remove some unused stuff
fix indentation in some spots
2019-09-10 22:07:50 -07:00
Kurt
62d08d7c30
Misc clean
...
split some methods with optional parameters=null
add more xmldoc
replace some magic numbers -> enum/const references
consolidate common array operations (span soon maybe?)
2019-09-10 00:21:51 -07:00
Kurt
b81a1e1e29
Refactoring
...
Increase abstraction for arbitrary slot get/set operations, and fracture
SAV4 behavior for each game type.
Adds: Undo/Redo of party slot changes
Fixes: Fixed Gen5 daycare slot 2 reading, and EXP reading
Fixes: Some slot color glitchiness
Fixed: Box layout editor now hides the flag label if no flags are
present
Fixed: Gen7 box flags are now shown (unknown purpose lol)
Changed: savefile objects are generally smaller (removed a few shared
offset fields)
2019-09-02 19:30:58 -07:00
Kurt
a133abc615
Add pokegear caller ID enum
...
#2379
Cheat as requested in issue not implemented yet; pending future changes
to split sav4.
2019-08-27 16:17:29 -07:00
Kurt
a608e0b252
Minor clean
...
Remove some unnecessary properties from SaveFile
Enumerate checksum flag results for GC memcard checking
Remove unnecessary checks on savefile type
Add some documentation
Decapitalize some method parameters
2019-07-14 15:06:45 -07:00
Kurt
839500a7ee
Fix medicine offset for AO
2019-07-13 17:43:29 -07:00
Kurt
82f305cd36
Fix dex gender set again
...
Closes #2356
update test case to actually set a genderless gender
2019-07-12 23:43:12 -07:00
Kurt
face8d64a9
Fix gen5 dexflag set
...
Add unit tests to check
Closes #2356
2019-07-11 00:13:52 -07:00
Kurt
c64ff5dd76
Fix sav5 behavior
...
Closes #2356 ty @Ammako
2019-07-10 00:19:59 -07:00
Kurt
15c44139c3
Fix record read offset
...
Closes #2353
first 100 are u32, second 100 are u16; shift accordingly
2019-07-07 14:54:38 -07:00
Kurt
772a2715c0
Fix SecondsTo* read offset
...
copypasted from gen6's, oops
Thanks CreamatedReptile2018!
2019-07-07 08:43:04 -07:00
Kurt
9a61f0de0f
Minor relocation of logic
...
and the gradual shift to full-oop continues
2019-07-05 21:39:47 -07:00
Kurt
c0eda5eb61
Add more dex bulk manip options
...
unused, not sure how an abstraction can work for all games (needs some
virtual methods to actually work, since 1-3 don't have langflags)
2019-07-05 18:49:43 -07:00
Kurt
aa94c70df2
Hide gen6 dex logic behind zukan class
...
Same as prior commit for gen5 & gen7
2019-07-05 18:04:36 -07:00
Kurt
adbb3e842a
Hide gen7 dex logic behind zukan class
...
Same as prior commit for gen5
2019-07-05 17:05:42 -07:00
Kurt
79a9269fbe
Hide gen5 dex logic in Zukan class
...
Didn't change any of the bulk modifications, but the data get/set is now
done via the Zukan object rather than raw data manipulation
2019-07-05 16:21:53 -07:00
Kurt
7f186048fb
Really fix dex lang flag offset style
...
c345688f6d
base(x) -> base(x - y) resulted in incorrect offsets for LGPE. Great.
Just make PokeDexLanguageFlags a shift offset instead of absolute;
update all usages.
Closes #2348
2019-07-05 12:16:09 -07:00
pokecal
6b3d6999d1
update MailBoxEditor ( #2344 )
...
fixed FRLG offset, etc.
2019-07-04 21:48:18 -07:00
Kurt
5a8b421672
Add jp crystal eventflag offset
...
was pointing to an FF'd region, was added back via
e86b8c670f
Closes #2347
2019-07-04 15:07:37 -07:00
Kurt
c345688f6d
Fix dex lang bitflag offset write
...
LangFlags is expected to be less than 0x500 or whatever, zero indexed to
the start of the dex block; NOT an absolute position.
I don't feel like making every usage consistent (gen5, gui editors)
which use the absolute position, so just adjust in the zukan
constructors
2019-06-22 16:53:25 -07:00
Kurt
de77f949da
Prevent assert on non-exportable saves
2019-06-17 20:55:01 -07:00
Kurt
7225b2b87b
Add more sav1/2 option properties
...
Closes #2321
Closes #2322
no gui as SimpleTrainer is kinda getting overloaded; use linqpad or wait
for someone to make a GUI for the specific games
2019-06-09 14:15:42 -07:00
Kurt
1b028198ad
Split gen5-7 saves with inheritance ( #2319 )
...
refer to pull request comments for summary
2019-06-08 19:56:11 -07:00
Kurt
de774ed131
readonly ComboItem
...
create once, never modified after
2019-06-01 19:12:41 -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
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
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
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
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
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
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
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
e8a5a55323
Add union/berry crush stat ids
2019-03-09 10:26:43 -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
17f954b4e8
Xmldoc
...
Reorder to match parameter order
add more xmldoc
2019-02-23 14:57:35 -08:00
Kurt
a339cc9289
Extract pouch manipulation logic
...
add overloads for API syntactic sugar
make ItemConverter internal again
2019-02-22 22:48:34 -08:00
Kurt
df94afa711
Misc updates
...
extract some enums to core, use Enum.GetNames to do string fetch
make stamp listbox taller
clean up Display*ID setters
2019-02-21 21:54:41 -08:00
Kurt
fa4318ae2f
Add gen3 record editing
...
in misc edits window
2019-02-19 20:46:58 -08:00
Kurt
7c3e5aa83c
Make RandomGender a method instead of property
...
See pkNX for similar change; the functionality is really *method*
2019-02-17 22:13:40 -08:00
Kurt
258f0f0ad4
Minor refactoring
...
clean up some gc logic, no functional changes
2019-02-17 10:42:43 -08:00
Kurt
d1f6a5a3ff
Misc clean
...
no functional change
2019-02-15 11:46:46 -08:00
Kurt
e96ef76dcd
Add xmldoc
...
no code changes
2019-02-09 20:24:38 -08:00
Kurt
9a93b20515
Minor rework
...
use hashset instead of new[] every call
precompute empty arr
allow criteria input for better gen requests
2019-02-09 20:07:15 -08:00
Kurt
ec1d3069a5
Remove SaveFile dependency for wallpaper data fetch
...
reusability++
2019-02-09 20:05:32 -08:00
Kurt
383d4b7700
"" -> string.Empty
...
be explicit that the string is empty rather than possibly missing
disallow encrypted export for BK4 (they're not encrypted), removes type
check
simplify replaceall in showdownset (don't call ReplaceAll 4x, just get
valid chars and rebuild)
simplify get ribbon sprite name (precompute ToLower and appended values
2019-02-07 21:40:20 -08:00
Kurt
29253ed636
More cleaning
2019-02-03 20:28:03 -08:00
PMArkive
5cb93be681
add legendary pokemon to wormhole slots ( #2252 )
...
changed slot numbering from 0-4 to 1-15
fixed drapion's pokedex number in wormhole slot table
2019-01-27 10:40:19 -08:00
Kurt
0b5429ebbc
Relocate wormhole edit logic to separate class
...
#2250
make arrays static (only spin up one copy ever)
2019-01-25 19:58:00 -08:00
Kurt
8652677a79
Misc tweaks
...
showdownset: contains char instead of string
gameinfo: static readonly array instead of redefining new on update
legality: order of operation / value reuse / simplification / comments
pkx: compare char instead of single character string
header/footer: move assignment into method as an out instead of ref
2019-01-20 21:55:28 -08:00
Kurt
c591d2a69d
Misc updates
...
condense some logic
2019-01-11 17:44:51 -08:00
Kurt
9a4f12c279
Misc updates
...
rearrange pkm version groups for clear break between
twins/siblings/family
clear pokelist for sav7b on non-exportable saves (prevents b1s1 from
showing markings)
rename horohoro (pgo) to non romaji lol, hide daycare/party tabs on
nonexportable save
remove some unnecessary operations
rewrite getallcontrolsoftype to remove ToList() and make generic
2019-01-05 15:40:25 -08:00
Kurt
8c05b9f391
add g3 hall of fame r/w
...
no GUI
var sav3 = new SAV3(File.ReadAllBytes(path));
var hof = HallFame3Entry.GetEntries(sav3);
hof.Dump();
2019-01-02 18:15:29 -08:00
Kurt
4fcee0ae7a
Move wr7 to mysterygift folder
2018-12-29 23:34:34 -08:00
Kurt
e7531dca30
Add wr7->pkm
...
Not sure if one of the 'level' fields is a move ID instead. Pound=1,
Level=1
Maybe a Chansey record would shed more light.
2018-12-29 23:33:36 -08:00
Kurt
03ad20dd16
Improve card title/filename logic
...
mystery gift editor still fails to generate a description (heldItem < 0
-> exception), the fallback behavior is fine I guess.
2018-12-29 22:15:40 -08:00
Kurt
f5e3358aaf
Split up WR7 to separate files
...
settled on the class name; looks like it'll be roughly readable as a
mystery gift so inherit some properties. maybe can get r/w in the
mystery gift editor :)
2018-12-29 22:09:27 -08:00
Kurt
71dc944cbd
Add wb7 gift record rw
...
another block documented ;)
https://projectpokemon.org/docs/gen-7/lets-go-pikachu-eevee-wonder-card-album-r109/
names subject to change
2018-12-29 21:24:38 -08:00
Kurt
d7a501c168
Relocate some logic to interfaces
2018-12-18 17:15:35 -08:00
Kurt
8a98a89f6e
Add height/weight and float->scalar
...
pgo transfer logic disassembly
FF 83 02 D1 FC 6F 04 A9 FA 67 05 A9 F8 5F 06 A9
2018-12-06 21:03:33 -08:00
Kurt
71fab815bf
Provide more slot information
...
remove lockedslots, store & save all teamslots for sav7
differentiate locked slots from overwrite protected slots by emitting an
enum containing info about the slot
locked = can't be replaced, period.
starter/battleteam = can't be pasted over by bulk-pastes
can eventually show more specific sprite layers to denote party
indexes/team#/starter
2018-12-04 22:59:28 -08:00
Kurt
5750eabcc8
Add user protection for moved starters
...
Closes #2191
2018-12-02 11:48:44 -08:00
Kurt
f6508bec5b
Add dex size record editing via pokedex editor
...
Closes #2186
2018-11-29 21:40:20 -08:00
Kurt
35a85670b3
Set height/weight dex values
...
Closes #2167
Based off sub_71001D16A0 with shortcut modifications:
* code marks new entries for evolution processing later using the low
bit (hence the << 1); in save files I can't see any bits set, but I
can't see anywhere in the code that DOESNT set this bit. Thus the
assumption of post-processing.
As noted in gameplay, a new capture doesn't set Min and Max; it only
sets it if it is above the usual sizing values.
Megas apparently don't set until seen in battle, so don't worry about
setting the other forme based indexes.
2018-11-27 22:05:36 -08:00
Kurt
ab4c3fc7ac
Add go park slot delete (&all)
...
Closes #2179
2018-11-23 12:15:25 -08:00
Kurt
17b3732a7d
Rework filename / nickname checks
...
Closes #2178
2018-11-23 10:31:55 -08:00
Kurt
f27816e622
Add party pointer sort
...
Pulls party members (and follower index if not already in party?) to the
first slot(s) in the (current/all) box.
2018-11-22 23:02:57 -08:00
Kurt
6c0ad30b9a
Add gp1-pb7 conversion
...
Add drop to pkmeditor & drop to saveditor
2018-11-21 20:48:55 -08:00
Kurt
9cf46d5bcb
Add CP and Date to GP1 properties
...
thanks theslayer
2018-11-21 15:25:50 -08:00
Kurt
34f8a71ad0
Always writeback pointer data
...
User sort isn't tracked, and reorganizes pointers. Set it back always,
no harm as values should always be sensical.
Closes #2171
2018-11-18 20:32:55 -08:00
Kurt
b818aff48a
Remove evo tree sanitization
...
Evo data doesn't provide evolution values for these, fortunately.
2018-11-18 15:25:03 -08:00
Kurt
a1cc1a95c2
Fix species fetch, add altform
...
Thanks theSLAYER!
2018-11-18 13:54:47 -08:00
Kurt
5652e76728
Split go entities and go storage, rename classes
2018-11-15 17:36:29 -08:00
Kurt
644fa4e929
Call slot compression
...
Doesn't work correctly (data shifted down still persists)
2018-11-14 22:20:59 -08:00
Kurt
1feecef874
Add go park summarizer
2018-11-14 22:02:01 -08:00
Kurt
fc44022836
Add gopkm block/abstraction
2018-11-14 19:34:21 -08:00
Kurt
7abe0c8a9e
Add candy pouch type
...
reusing free space icon hides the give all button; just add another
sprite.
2018-11-13 20:46:48 -08:00
Kurt
1f985d8112
Remove unnecessary/incorrect flags
...
copypaste from sm lol uops
2018-11-13 20:46:03 -08:00
Kurt
13e1debe3e
Add sav7b object & detection util
2018-11-13 19:18:29 -08:00
Kurt
5f456d705c
Add misc setup objects
2018-11-13 19:16:14 -08:00
Kurt
025a290bc9
Update saveblock template for stored offset fetch
2018-11-13 19:15:27 -08:00
Kurt
486445897e
Add 7b inventory r/w object
2018-11-13 19:15:11 -08:00
Kurt
707f7b5893
Fix displayed dex index for g7
...
off by 1 starting with formes
2018-11-13 19:14:42 -08:00
Kurt
49c4043e19
Update dex abstractions, add gg dex
2018-11-13 19:14:23 -08:00
Kurt
fe989d48fe
Misc prep updates
...
Update comments / xmldoc
Add a savefile storage compressor (ie array[] with empty interstitials
-> list); return true if the compression moved anything (repopulate
views), and the count of occupied slots in the list.
Add saveblock base class; I haven't really liked how SAV6/7 do all the
logic; I'll still expose properties that will then point to a saveblock.
Cuts down clutter.
Add template Dex manipulator, with gen6/7 implementations
Speculate sequential gp/ge gameversion IDs
2018-11-01 15:38:09 -07:00
Kurt
8f9cc6cd7e
Fix xmldoc ampersands
2018-10-31 13:52:09 -07:00
Kurt
13bcc4bdc7
Add more enum values
...
pr video stuff is meh, anyone can contribute that
2018-09-25 16:33:11 -07:00
Kurt
a7f02bf27b
Enumerate some trainer appearance values
...
thanks @sora10pls for gathering resources
2018-09-24 21:20:55 -07:00
Kurt
4ac1cccaa1
Move fashion to another folder
...
incoming enums
2018-09-24 19:44:12 -07:00
Kurt
b280ffcfef
style updates
...
should be pretty much it
2018-09-14 22:37:47 -07:00
Kurt
87b270dd17
add more gen7 record labels
2018-09-13 22:06:44 -07:00
Kurt
189fa5f7b3
Add button to give all seals + illegal ones
...
#2112
2018-09-04 15:26:16 -07:00
Kurt
cf3aba4f84
Add gen4 seal data get/set
...
closes #2112
adds methods to give/remove all, and get/set to retrieve array or
individual.
2018-09-04 15:12:35 -07:00
Kurt
9dae7dad67
Misc updates
...
move encountertype datasource providing to core
fix rerolling EC not updating characteristic
remove some repeat logic calls
relocate geolocation name fetch to separate class, add tests to ensure
functionality, add languageID->country/region fetch method
2018-08-25 17:04:01 -07:00
Kurt
a200dc85c7
Add bvid util
2018-08-18 20:10:34 -07:00
Kurt
b526d4657b
rework tile flip check flow, remove goto
2018-08-17 16:22:54 -07:00
Kurt
e366f9a93d
Misc tweaks
...
only have one empty forme array object
rename method for clarity
show version ID for hidden savefile program window titles
2018-08-15 21:15:06 -07:00
Kurt
d3ec969187
Style updates
...
split pcd/pgt
add more xmldoc
2018-08-09 21:53:39 -07:00
Kurt
6b62dd29ee
Update xy fashion edits
...
different for each gender
2018-08-08 21:27:14 -07:00
Kurt
975759e53c
Update str<->val base32 encoder
...
simpler
2018-08-07 16:32:31 -07:00
Kurt
98f21a12dd
Relocate gen6 trainer stat records to core
...
use trainerstat editor control in gen6 editor
fill in some details from the disassembly via setrecord usages
still slightly fuzzy on some:
fureai (based on usum idb name, similar logic)
soaring sky counts
looks like there's some other usages of the fields which were outside
the stat range, throwing an exception when loading to NumericUpDown,
added bypass logic
Thanks Holla!
2018-08-06 21:27:31 -07:00
Kurt
37e5c9fc69
Add record details for gen6
...
pulled from exefs data
2018-08-06 16:52:43 -07:00
Kurt
48a61a00a2
Relocate record stat id's to core
...
can potentially add localization by changing the method of fetching
2018-08-06 16:17:32 -07:00
Kurt
0296f98777
Add offset table for sav1
...
calling Japanese ? X : Y on every single access is too excessive, just
compute one layout for each type whenever the first sav1 requires it.
could probably reduce the amount of properties by reusing others + shift
value; offsets are different due to string lengths being different
2018-08-05 20:27:25 -07:00
Kurt
84185dc6c9
misc improvements
...
add records class for managing info for trainer records
add more b2w2 block docs
2018-08-05 12:39:06 -07:00
Kurt
3fd21db51e
Style & function extracting
2018-07-29 16:39:15 -07:00
Kurt
0de335d52b
Misc reorg
2018-07-29 14:04:16 -07:00
Kurt
b16015e8e5
Split InventoryPouch to inheriting classes
2018-07-29 13:55:07 -07:00
Kurt
d916be1020
Style updates
2018-07-29 13:27:48 -07:00
Kurt
c8563a3737
Respacening
...
Style guidelines, handle a bunch of files
no functional change
2018-07-26 19:34:27 -07:00
Kurt
9551d4e707
Relocate logic to core
...
probable/possible lgpe uses similar dex stuff, so best I totally
understand it (assuming quirks will be present)
2018-07-26 18:01:16 -07:00
Kurt
1c49b0681d
Extract dex logic
2018-07-21 11:46:38 -07:00
Kurt
97701787a6
Add sav2 daycare view
...
tfw they store full egg data there too -- show that in the sidebar
Tested on C & GS (english), assumedly works fine for other languages
(based on the disassembly?)
2018-07-08 15:46:37 -07:00
Kurt
f04bc214ec
Use OT class calc (mod 5)
...
remove setter as it's derived from TID's low byte
2018-07-08 09:54:17 -07:00
Kurt
f592be75d1
Add gen3 secret base classes
...
don't plan on using them at this time, just an implementation if anyone
wants to play with it
2018-07-08 00:26:31 -07:00
Kurt
b745d59552
Rearranging
...
group gen3 structures to their own folder
2018-07-07 21:47:29 -07:00
Kurt
0b1ae2ec67
Add pokeblock3 interaction
...
no gui but can use core with a rse save file
2018-07-07 21:31:41 -07:00
Kurt
4dcac24f34
Add roamer3 active/level editing
2018-07-07 21:31:07 -07:00
Kurt
990eb73f8a
Misc simplifications
...
recordmax is simplified
2018-07-07 15:38:11 -07:00
Kurt
e46aed4b0b
Relocate bean logic to core
2018-07-07 15:37:47 -07:00
Kurt
e915cd170b
Extract trainer stat to interface / usercontrol
2018-07-07 11:48:03 -07:00
Kurt
2e02ec9719
Refactoring
...
Move some logic out of saveditor/subs
2018-07-07 11:20:05 -07:00
Kurt
c6765fd26b
Remove ORAS arg
...
...
2018-06-10 14:07:36 -07:00
Kurt
19cb2cda2e
Remove MAX giveRegular for ORAS
...
level 3 is the legitimate max
2018-06-10 12:27:53 -07:00
Kurt
75f4318335
Split S/MAX from base 1-3 levels
...
ORAS can unlock MAX & Full Recovery flags, add special handling for that
2018-06-10 11:28:20 -07:00
Kurt
29c610870e
Rename opower6
...
match type
2018-06-10 11:03:14 -07:00
Kurt
26f45d44d0
Rework OPower editor
...
https://projectpokemon.org/home/forums/topic/45683-pkhex-made-odd-number-of-zygarde-cells-usm/?do=findComment&comment=232476
Thanks @sora10pls for documenting what each flag does
2018-06-09 21:04:34 -07:00
Kurt
5475da05c3
entree forest updates
...
clamp species list based on savefile
fix form control index set
remove slot from list (avoid duplicates, there's 530 slots and both
games have more than that available).
Closes #1974
2018-05-28 12:49:41 -07:00
Kurt
4b8cb9b8fb
Add entree forest editor & randomizer
...
ezpz
(clear trailing spaces from entree forest comments)
2018-05-28 08:26:52 -07:00
Kurt
730709b33b
Add entree forest abstractions
...
make cryptarray public
2018-05-27 14:19:19 -07:00
Kurt
99005d8fc0
Refactoring
...
more discards & simplifications
2018-05-12 12:28:48 -07:00
Kurt
5a3c8f4147
Remove trailing whitespace
2018-05-12 08:41:29 -07:00
Kurt
5d8ccf12d4
Fix kor playtime read
...
Closes #1888
Thanks @Bl4ckSh4rk !
2018-04-06 17:15:34 -07:00
Kurt
1122a3f21e
Shift kor gs pokedex bitflag region
...
-0x20 yields a match for seen/caught
https://projectpokemon.org/home/forums/topic/44692-i-have-a-question-about-gen2-of-pkhex/
Thanks BLACKBIRD!
2018-04-05 17:00:55 -07:00
Kurt
c229d5cef4
Add RS & FRLG mail offsets
...
was only emerald prior
Thansk @Bl4ckSh4rk !
https://projectpokemon.org/home/forums/topic/44433-bug-rubysapphire-mailbox/?do=findComment&comment=228885
2018-03-23 23:06:51 -07:00
Kurt
88ce27f26b
Add R/S roamer data offset
...
is different from emerald
Thanks TetsuyaGR!
https://projectpokemon.org/home/forums/topic/44407-bug-rubysapphire-roamer-bug/
(use concatall in encounters4)
2018-03-18 08:37:40 -07:00
Kurt
d20f14504e
Refactoring
...
pull out BlockInfo logic, standardize common block checking
reduces array allocations
2018-02-19 11:33:37 -08:00
Kurt
f8bf3e400b
Misc tweaks
...
Add bulkstorage SaveFile template
remove unused using
un-virtual box property (don't override behavior)
Split new-USUM island names (unused)
Remove island names from valid egg locations (thanks Davil !)
https://projectpokemon.org/home/forums/topic/43874-bug-met-location/?tab=comments#comment-227684
2018-02-15 17:05:45 -08:00
Kurt
06733d6e34
Refactoring
...
Split up c-gear skin bitmap, move generic handling to core
2018-01-13 21:31:02 -08:00
Kurt
a1f2f8708a
Refactoring
...
pass identifier on cloning pkm
remove unnecessary ref for passing Data (not modifying array reference)
const some magic numbers
2017-12-27 16:36:24 -08:00
Kurt
3445b46526
Remove unnecessary array cloning
...
new objects would always clone the input array; only clone on object
cloning (keep the original array reference on initial creation from
bytes)
2017-12-26 21:38:19 -08:00
Kurt
278f7cad25
Add pwt record get/set
...
thanks @sora10pls
2017-12-14 12:34:03 -08:00
Kurt
3d7b2a2b29
Misc tweaks
...
RNG frame mismatch -> fishy (for now)
fix xmldoc copypaste
clean up some resharper warnings
2017-12-04 16:26:26 -08:00
Kurt
a5dbdf91bd
Misc tweaks
...
detect antishiny cxd
remove unused using
don't set caught for seenAll (gen7 dex)
2017-12-04 13:18:28 -08:00
pokecal
0f52f94222
fix MailBoxEditor
...
add Mail5, almost same as Mail4.
2017-12-04 00:00:14 +09:00
Kurt
2d3203fc1a
Refactoring
...
extract out Mail classes to core
2017-12-02 19:12:04 -08:00
Kurt
4a898b0829
Leave empty item slots for gen7+
...
game depends on an existing value to check for if the item is truly
"New"
Closes #1670
Don't clear count=0 slots for gen7+
For sorting, put all the count=0 at the near top (any feedback on how
this actually works?)
2017-11-29 19:47:27 -08:00
Kurt
f13cc289a7
Move eventflag offset fetch to SAV2Offsets obj
2017-11-27 16:46:14 -08:00
Kurt
b30cc933e5
Extract festafacility from gui code
...
move to core project as a structure/class
2017-11-26 08:47:25 -08:00
Michael Scire
b1641772e6
Refactor Memecrypto API, Add Memecrypto Tests
...
Refactors the Memecrypto API to improve generalized usage.
Adds unit tests that verify memecrypto works, so that future changes
don't potentially break the code.
2017-11-06 03:24:48 -08:00
Kurt
2d6b6f7095
Simplify gen7 checksum operations
...
don't spit out a new byte array for each block, just check with same
array
unrelated: allow pk2's to be selected from file->open when a sav7 is
open
2017-11-04 15:04:21 -07:00
Kurt
69cf1eaa9c
add more pkhex.core xml documentation
...
adds a bunch of documentation useful for those unfamiliar with the core
library
2017-10-23 23:12:58 -07:00
Kurt
f5b22d7873
Update 17.10.17
...
Update event binaries with latest from the Event Gallery
2017-10-17 23:59:14 -07:00
Kurt
c3c4336d43
Add gen3 roamer editor
...
Thanks BlackShark!
2017-10-10 18:48:14 -07:00
Kurt
79ede6a212
Add gen3 roamer r/w
2017-10-09 21:00:36 -07:00
Kurt
1e377c2963
interpolation++
...
no functional change (assumed)
2017-09-29 22:58:25 -07:00
Kurt
ce4e5f739e
Fix korean Gold/Silver saving
...
closes #1496
2017-09-29 19:13:03 -07:00
Kurt
532cee406a
Add gen1 overworld respawner
2017-09-25 23:06:16 -07:00
SciresM
4272ad56ae
We know what Key 9 is for (Cap Pikachu).
...
Refactor for Memecrypto API incoming in the next few days.
Gonna add a public overload that takes in a memekey, to facilitate Local Wireless memecrypto.
2017-09-25 17:51:17 -07:00
Kurt
6611e874c3
more usum prep
...
species added requires the 'latest personal table' reference to be
USUM's; the other referencs for .SM are fine as there's no possibility
to have a species ID high enough for it to matter.
2017-09-18 22:36:06 -07:00
Kurt
7efd771bf4
Misc refactoring
...
add docs, move some data fetching to more appropriate class
remove old XP memecrypto support handling, was previously removed due to
net standard/core split
refactor memecrypto to handle multiple save sizes (USUM won't be the
same size save file); placeholder -1 for USUM size
2017-09-16 11:38:58 -07:00
Kurt
7d8a0e0287
Update kor offsets & r/w operations
...
Closes #1451 , was caused by empty party writebacks (was reading from
wrong offset
dex caught/owned offset was listed as 0x28AE in the thread, is at 0x2AAE
instead (-0x20 from seen)
should have correct offsets and handling now :)
2017-09-12 19:47:37 -07:00
Kurt
add2fef7a7
Add gen2 korean handling
...
hypothetical for now, feel free to submit PRs to fix anything that
breaks / was incorrect in the implementation
2017-09-10 19:56:21 -07:00
Kurt
ebecb21b2e
Fix cxd strategymemo/shadowinfo export
...
Closes #1347
Closes #1296
2017-08-06 17:20:04 -07:00
Kurt
80196f75ef
Refactoring
...
split Core.PKX into smaller classes, only StringConverter is exposed for
outside namespaces
2017-07-31 23:03:51 -07:00
Kurt
45c891e64f
Add inventory sorting by index number
...
Closes #1312
2017-07-06 17:24:40 -07:00
Kurt
e373db99c1
Fix honeytree group get
...
byte 6 sets 0/1/2/3, which is used for the editor
byte 5 says which sub-table to use (0/1/2) if there is something on the
tree.
Closes #1283
2017-06-29 09:09:59 -07:00
Kurt
3f38b123a3
Refactoring
...
mostly renaming things, includes a little bit of added sugar and
splitting methods to simplify the codebase.
all methods are now PascalCase
2017-06-17 18:37:19 -07:00
Kurt
a70a4d5e3f
Switch to c# 7 get/set expressions
...
Add gen5 battle box locked flags
no functional change otherwise, just shorter
2017-05-12 20:32:43 -07:00
Evan Dixon
52c4fbbe97
Converted PKHeX.Core to .Net Standard
...
Refactored and rearranged things as needed to allow the change
2017-05-11 23:34:18 -05:00