Skip to content
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

WIP: Pokemon Gen 1 Game Wrapper Expansion #281

Open
wants to merge 82 commits into
base: master
Choose a base branch
from

Commits on Jun 27, 2020

  1. Add Pokemon Red constants

    Maciek Baron committed Jun 27, 2020
    Configuration menu
    Copy the full SHA
    3e3fe16 View commit details
    Browse the repository at this point in the history
  2. Add initial Pokemon Red wrapper code

    Maciek Baron committed Jun 27, 2020
    Configuration menu
    Copy the full SHA
    3e87f78 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2020

  1. Configuration menu
    Copy the full SHA
    ba72073 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2021

  1. Configuration menu
    Copy the full SHA
    b1ede15 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. Configuration menu
    Copy the full SHA
    a00f320 View commit details
    Browse the repository at this point in the history
  2. Change files from Pokemon Red to PokemonGen1 as both games are functi…

    …onally identical
    Patrick McQuay committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    b6229b9 View commit details
    Browse the repository at this point in the history
  3. Remove old pokemon_gen1 PLUGIN AS WELL AS now-renamed GameWrapperPoke…

    …monRed references
    Patrick McQuay committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    75aa8be View commit details
    Browse the repository at this point in the history
  4. Add debug.pxi

    Patrick McQuay committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    6e41541 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2023

  1. Configuration menu
    Copy the full SHA
    a52ec6c View commit details
    Browse the repository at this point in the history
  2. Create Python file with memory addresses so they can be referenced as…

    … human-readable enums rather than raw hex values
    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    2b591d3 View commit details
    Browse the repository at this point in the history
  3. Convert get_memory_value and set_memory_value to allow for reading an…

    …d writing multiple bytes simultaniously, with the default length being 1
    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    b63f66b View commit details
    Browse the repository at this point in the history
  4. Create Gen1MemoryManager, a class to wrap memory read/writes for Poke…

    …mon Red/Blue so that data can be interacted with in a more Pythonic way
    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    c6dc375 View commit details
    Browse the repository at this point in the history
  5. Convert moves to an Enum

    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    1815652 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1f518c0 View commit details
    Browse the repository at this point in the history
  7. Convert Items into Enum

    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    c44d925 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d3d5398 View commit details
    Browse the repository at this point in the history
  9. Convert Maps into Enum

    SnarkAttack committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    935ac55 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    24efb7a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    be72c8f View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2023

  1. Configuration menu
    Copy the full SHA
    1998390 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. Configuration menu
    Copy the full SHA
    4b08aef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1439fc0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e4a2dc View commit details
    Browse the repository at this point in the history
  4. Break up constants.py into directory with smaller files so it's a lit…

    …tle easier to parse the data
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    6abad35 View commit details
    Browse the repository at this point in the history
  5. Restructure files to break down constants into smaller parts for read…

    …ability/start adding intermediate classes so data chance underneath doesn't affect API calls
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    84dc3e8 View commit details
    Browse the repository at this point in the history
  6. Move location constants into new directory and create dict for name l…

    …ookup
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    4cba7ba View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6d7e4f7 View commit details
    Browse the repository at this point in the history
  8. Change Pokemon enum to PokemonIds to avoid any confusion with Pokemon…

    … class
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    5eb582f View commit details
    Browse the repository at this point in the history
  9. Fix mapping dicts to use newly named PokemonIds

    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    2f23ad9 View commit details
    Browse the repository at this point in the history
  10. Continue fleshing out Pokemon class

    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    02815d4 View commit details
    Browse the repository at this point in the history
  11. Rename Locations enum to LocationIds

    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    c93dd7b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    bd36dbd View commit details
    Browse the repository at this point in the history
  13. Restructure data folder

    Changed data folder structure from data/<data type>/constants.py and memory.py to data/constants and data/memory_addrs with files of each data type as necessary. Done bcause many data types (statuses/types/etc.) are small and don't have memory mappings in the way larger structures like Pokemon do, and making an entire directory with a single .py file containing < 20 lines felt silly.
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    2a22a16 View commit details
    Browse the repository at this point in the history
  14. Change storage of moves in Pokemon class to list

    Instead of storing move_1 through move_2 as individual instance variables in the Pokemon class, we not store them in a list of size 4 as self.moves. Each individual move is still accessible as move_n through the use of property functions, but now the list of moves can be iterated over, which makes it easier to manage cases where a Pokemon has less than 4 moves without having to manually check four distinct fields
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    5a7fec8 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    c1ccbc4 View commit details
    Browse the repository at this point in the history
  16. Restructure stats, evs, and move PP to also be stored in lists in the…

    … Pokemon class
    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    1bb770e View commit details
    Browse the repository at this point in the history
  17. Finish splitting constants into respective files

    Patrick McQuay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    902c9f4 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Change PokemonOffsets to PokemonMemoryOffsets to make it clearer what…

    … the enum represents
    Patrick McQuay committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    b45490b View commit details
    Browse the repository at this point in the history
  2. Reset pyboy.py, going to try and avoid chaning it for now

    Patrick McQuay committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    024407c View commit details
    Browse the repository at this point in the history
  3. Add sprite memory addresses

    Patrick McQuay committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    5bb82da View commit details
    Browse the repository at this point in the history
  4. Add function to read multibyte data

    Add a function in the game wrapper to read multibyte data (in this case a pointer). this is almost certainly a feature that should either go in PyBoy proper or not exists at all (just manually reading consecutive bytes and adding them was the previous way), but it's being included here for now for ease of use and can be removed later if deemed necessary.
    Patrick McQuay committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    65389fe View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    efdb89a View commit details
    Browse the repository at this point in the history
  6. remove Gen1MemoryManager class, was just unnecessary level of encapsu…

    …lation
    SnarkAttack committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    c7aa8f4 View commit details
    Browse the repository at this point in the history
  7. Update Pokemon class to include 'hidden' level field and added utilit…

    …y funcitons to correctly load 2 byte values
    SnarkAttack committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    da33d44 View commit details
    Browse the repository at this point in the history
  8. Add POkedex class

    SnarkAttack committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    c8e0563 View commit details
    Browse the repository at this point in the history
  9. Add player money get

    SnarkAttack committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    a402409 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. Memory manager class is back baby

    It turns out there are a couple of different ways memory can be stored in multibyte chunks (memory pointers, hex values, bcd) and there is not necessarily good indicators of which is which. To ease the burden of importing various different memory accessing functions, it's just all going back into a memory mamanger class for now
    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    5c6b76e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb0f626 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7766dfa View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5d1a66b View commit details
    Browse the repository at this point in the history
  5. Fix issue where strings shorted than the adresses they could occupy w…

    …ere not terminated on end string character
    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    2f295f1 View commit details
    Browse the repository at this point in the history
  6. Fix bugs in/discovered by Player class

    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    bf7d90a View commit details
    Browse the repository at this point in the history
  7. Add specific badge check to Player

    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    a573f84 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f32025b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    488f56c View commit details
    Browse the repository at this point in the history
  10. Convert all memory address enums to singular as well

    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    754ac34 View commit details
    Browse the repository at this point in the history
  11. Add write functions to match corresponding reads in memory and implem…

    …ent first pass at Player class write to memory
    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    d196a60 View commit details
    Browse the repository at this point in the history
  12. Add MemoryAdressEnum, which all memory address data will inherit from…

    … and will let us encapsulate memory data for read and write calls
    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    e2dacc3 View commit details
    Browse the repository at this point in the history
  13. Add wrapper functions to write MemoryAddressEnums without having to o…

    …pen them outside of MemoryManager
    SnarkAttack committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    403f8c2 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f30bdc3 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e65acb9 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. Configuration menu
    Copy the full SHA
    91f1355 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d0919b9 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into pokemon-gen-1

    SnarkAttack committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    d25ba96 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bfba88b View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. Add memory access function in game wrapper that uses the memory manag…

    …er wrapper functions for ease of testing if memory addresses are useful. SHOULD NOT BE PERMANANT
    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    a6c5359 View commit details
    Browse the repository at this point in the history
  2. Add GameState object to track general game info

    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    19d1905 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bc2c544 View commit details
    Browse the repository at this point in the history
  4. Rewrite memory address enums so they are now a class and also track i…

    …n what form the memory is encoded at that address, then added overarching read and write functions that use appropriate memory type functions
    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    2486aad View commit details
    Browse the repository at this point in the history
  5. Allow read and write super calls tot ake in straight MemoryAddress ob…

    …ject OR enum with MemoryAddress object as value
    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    759d616 View commit details
    Browse the repository at this point in the history
  6. Convert previous objects that stored representations of data in memor…

    …y into MemoryObjects, which only store that data requested for more efficient loads/stores
    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    3027a8e View commit details
    Browse the repository at this point in the history
  7. Rename add_address to add_offset

    SnarkAttack committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    1e16bec View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9623437 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5cbb27e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    974d7d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Add map_id to player location result and add access to screen in wrap…

    …per so we have to pass less things outside of PyBoy
    SnarkAttack committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    0897771 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Add function to return all Pokemon in party

    SnarkAttack committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    437a8ea View commit details
    Browse the repository at this point in the history
  2. Add experience property to Pokemon

    SnarkAttack committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    3510133 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Configuration menu
    Copy the full SHA
    78bb7fd View commit details
    Browse the repository at this point in the history
  2. Add function to read ROM, not exposed out of class because we don't w…

    …ant this being commonly used
    SnarkAttack committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    2ac86f3 View commit details
    Browse the repository at this point in the history
  3. Give access to ROM reading memory

    SnarkAttack committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    7e4f4a8 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'pokemon-gen-1' of github.com:SnarkAttack/PyBoy into pok…

    …emon-gen-1
    SnarkAttack committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    4204412 View commit details
    Browse the repository at this point in the history