Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
644aa83
Add version-aware capability queries to the mod API
Roxas2712 Oct 21, 2026
044ff92
Add opt-in unified mod content records across generations
Roxas2712 Oct 21, 2026
4822a59
Add opt-in unified hook and event record boundaries
Roxas2712 Oct 21, 2026
886fca5
Add detached read-only world and party queries
Roxas2712 Oct 21, 2026
9b7bc09
Add guarded public world actions and native flight
Roxas2712 Oct 21, 2026
5934814
Allow capability tests to follow additive native flight support
Roxas2712 Oct 21, 2026
52b0055
Add detached read-only battle snapshots for mods
Roxas2712 Oct 21, 2026
9044909
Add revision-bound public battle actions through native commands
Roxas2712 Oct 21, 2026
418b55f
Add revision-bound public party, bag and dialogue UI actions
Roxas2712 Oct 21, 2026
4bfa668
Add opt-in prevalidated portable world dialogue scripts
Roxas2712 Oct 22, 2026
b46e128
Add read-only map overview and encounter table queries
Roxas2712 Oct 22, 2026
40e8980
Integrate public API prerequisites (#90–#97)
Roxas2712 Oct 22, 2026
61edab0
Integrate portable script prerequisite (#98)
Roxas2712 Oct 22, 2026
4008ae2
Integrate world-overview prerequisite (#99)
Roxas2712 Oct 22, 2026
69c3474
Add shared API 3 entry and pinned cross-engine contracts
Roxas2712 Oct 22, 2026
ab7d941
Add validated API 3 world warps and cross-engine contracts
Roxas2712 Oct 22, 2026
2ea78e3
Add API 3 object visibility and block edits with shared contracts
Roxas2712 Oct 22, 2026
f184256
Add API 3 public NPC actions with cross-engine contracts
Roxas2712 Oct 22, 2026
602302a
Add guarded API 3 wild encounters and shared contracts
Roxas2712 Oct 22, 2026
b191fdc
Add guarded API 3 native map invalidation
Roxas2712 Oct 22, 2026
569b789
Map API 3 native flags to version-correct VM storage
Roxas2712 Oct 22, 2026
20fd4f6
Add prevalidated portable flag script commands
Roxas2712 Oct 22, 2026
235b8f9
Add portable wallet, inventory and party script actions
Roxas2712 Oct 22, 2026
7671788
Add portable native gift scripts with owned UI continuations
Roxas2712 Oct 22, 2026
25af724
Add validated portable object and block script commands
Roxas2712 Oct 22, 2026
4632d3a
Add owned portable movement and facing scripts
Roxas2712 Oct 22, 2026
7e62026
Add portable native travel with destination-aware preflight
Roxas2712 Oct 22, 2026
7f46d4d
Add portable wild and static battle scripts
Roxas2712 Oct 22, 2026
089a4c9
Add native portable trainer battle scripts
Roxas2712 Oct 22, 2026
1a09b6c
Add portable native marts with owned transaction callbacks
Roxas2712 Oct 22, 2026
1fa9d59
Add validated portable sound and music script commands
Roxas2712 Oct 22, 2026
8a6eca8
Add owned deferred dialogue audio for portable scripts
Roxas2712 Oct 22, 2026
5528ea2
Add bounded portable save-field and option commands
Roxas2712 Oct 22, 2026
1d9b8ef
Map portable move effects to native Gen1-3 handlers
Roxas2712 Oct 22, 2026
72f4fb2
Add validated read-only version datasets for API 3
Roxas2712 Oct 22, 2026
10a6a27
Add owned final-output hooks with scoped GPU state
Roxas2712 Oct 22, 2026
0481a7c
Update output capability assertion and fail GPU probe promptly
Roxas2712 Oct 22, 2026
ce4a825
Add game viewport and window composition contracts
Roxas2712 Oct 22, 2026
fb22e4a
Publish Gen2 palette row metadata for native atlas renderers
Oct 24, 2026
4ab09ca
Merge commit 'ed5189c247ee7a2ccca666784e21fd4fba8df781' into codex/up…
Roxas2712 Oct 26, 2026
3b170ce
Expose raw RTC daytime alongside native Gen2 map palette queries
Roxas2712 Oct 26, 2026
f50726a
Share native per-map palettes, roof rules and entered world context
Roxas2712 Oct 26, 2026
75aa131
Use shared native saved RTC for GSC world scripts and clock card
Roxas2712 Oct 26, 2026
d2cfa4d
Include native RTC contract regression in upstream test archive
Roxas2712 Oct 26, 2026
5cd6128
Resolve AUTO neighbour palettes from shared RTC outside pinned scenes
Roxas2712 Oct 26, 2026
a11d4e9
Expose native clock card parts to existing external presenters
Roxas2712 Oct 26, 2026
ccdf628
Add native Pokemon palette queries and typed indexed draw compatibility
Roxas2712 Oct 26, 2026
287f6fa
Expose native palette mode to preserve already-coloured evolution pic…
Roxas2712 Oct 26, 2026
6c9be52
Share native GSC Unown form registration and imported data with exter…
Roxas2712 Oct 26, 2026
f4ff1e2
Use the native egg predicate for Unown form registration
Roxas2712 Oct 26, 2026
529fa59
Keep native Gen2 daily services on the saved RTC midnight
Roxas2712 Oct 26, 2026
5c1eafa
Set the Gen2 clock through the native introduction and weekday screen
Roxas2712 Oct 26, 2026
b2572b8
Register native clock fallback prompts for translation extraction
Roxas2712 Oct 26, 2026
5fb4cc1
Keep native clock text separators outside translatable prompts
Roxas2712 Oct 26, 2026
d4f6aa5
Preserve other editions intro music and build-hook ordering
Roxas2712 Oct 26, 2026
ae0384d
Keep clock picker hints inside their panel and hide inactive controls
Roxas2712 Oct 26, 2026
9db5531
Share native BGP ownership and remap already-coloured palette frames
Roxas2712 Oct 26, 2026
ab7c750
Apply native Gen2 display selection and complete-frame palette presen…
Roxas2712 Oct 26, 2026
2383d84
Draw native Gen2 menu owners at output resolution
Roxas2712 Oct 26, 2026
8024f7d
Merge branch 'main' of https://github.com/UNDERdecoded/Gen2Recomped i…
Roxas2712 Oct 26, 2026
ad00d3c
Draw native Gen2 animation objects through their actual palette view …
Roxas2712 Oct 26, 2026
198e088
Expose actual native Gen2 move and scene presentation entry points
Roxas2712 Oct 26, 2026
e340c66
Observe resolved Gen2 ball programs without repeated OAM allocation
Roxas2712 Oct 27, 2026
b1b8f4b
Cover native Gen2 ball identity and lazy animation observations
Roxas2712 Oct 27, 2026
a70c0a4
Connect a distinct Gen2 model to native reads and battle completion
Roxas2712 Oct 27, 2026
a1684d3
Keep scalar model queries separate from older native screen signature
Roxas2712 Oct 27, 2026
a0baf99
Preserve native link and extension completion labels
Roxas2712 Oct 27, 2026
ad95984
Cover native link and spectator outcome strings in model fixture
Roxas2712 Oct 27, 2026
870dbab
Preserve absent native result while reporting completion fallback
Roxas2712 Oct 27, 2026
395c526
Bind external native battlers on placement and side synchronization
Roxas2712 Oct 27, 2026
29990c0
Restore licensed GSC BG backend API and edition-specific cartridge id…
Roxas2712 Oct 27, 2026
006eb84
Verify native footer retains original project credit and wrapped cont…
Roxas2712 Oct 27, 2026
5611ee6
Provide the external platform boundary for native footer draw and che…
Roxas2712 Oct 27, 2026
841951a
Retain the actual native draw error in footer test diagnostics
Roxas2712 Oct 27, 2026
8e82544
Exercise native attribution layout with measurable headless graphics …
Roxas2712 Oct 27, 2026
6b26370
Supply the native launcher stencil device boundary in layout test
Roxas2712 Oct 27, 2026
08579a5
Complete mesh update support in headless launcher graphics fixture
Roxas2712 Oct 27, 2026
80fde07
Support remaining sidebar shape primitives in the headless draw fixture
Roxas2712 Oct 27, 2026
c0ee510
Check footer controls independently from the existing pinned header d…
Roxas2712 Oct 27, 2026
e7188e0
Connect cartridge BG commands to the existing native animation update…
Roxas2712 Oct 27, 2026
1ba98f0
Record native clock integration and outstanding BG rendering work
Roxas2712 Oct 27, 2026
17b577e
Combine independently offered native animation owners and GSC BG stat…
Roxas2712 Oct 28, 2026
58838e6
Present genuine GSC BG scanlines and picture states through native cl…
Roxas2712 Oct 28, 2026
72f0152
Retain wide-panel fallback for native consumers without a backdrop pr…
Roxas2712 Oct 28, 2026
bfa3c5b
Fold transient GSC BGP into actual native picture pixels with bounded…
Roxas2712 Oct 28, 2026
7fc2adc
Consume native OBP0 in the actual GSC gray and yellow OAM palette path
Roxas2712 Oct 28, 2026
7d8cd14
Compose public picture-state overrides with the actual native BG obse…
Roxas2712 Oct 28, 2026
b38dadd
Keep GSC picture hooks composed after native view installation
Roxas2712 Oct 28, 2026
ec40ddd
Execute native GSC commands and object state machines through one rea…
Roxas2712 Oct 28, 2026
7ea2eff
Include ROM-free native GSC motion and import regression fixtures
Roxas2712 Oct 28, 2026
91f27b2
Record fork ROM traces separately from upstream GPU qualification
Roxas2712 Oct 28, 2026
afde9ae
Apply GSC command-time picture ownership to native controller
Roxas2712 Oct 28, 2026
44b6122
Preserve repeated native picture order and document qualification limits
Roxas2712 Oct 28, 2026
e61381e
Bind picture pins to the real VM and release replaced programs
Roxas2712 Oct 28, 2026
e9ec055
Decode native GSC replacement art and honor Crystal staged actor copies
Roxas2712 Oct 28, 2026
304e1f0
Record primary GSC picture-copy behavior and remaining renderer bound…
Roxas2712 Oct 28, 2026
80a3320
Clarify which public capture boundaries are provided by upstream
Roxas2712 Oct 28, 2026
cead22a
Render native GSC battler rows from command-time picture snapshots
Roxas2712 Oct 28, 2026
36e4d7c
Use explicit native front and back image geometry in row fixtures
Roxas2712 Oct 28, 2026
81a4647
Verify queued and replacement art through real native row copies
Roxas2712 Oct 28, 2026
b5b4eac
Exercise replacement copies through native screen admission
Roxas2712 Oct 28, 2026
b488a84
Check outer palette uniforms around the actual native OAM renderer
Roxas2712 Oct 28, 2026
74be6ec
Restore outer indexed palette uniforms after native OAM drawing
Roxas2712 Oct 28, 2026
9ef86ed
Add native GSC battler-row and outer-palette GPU pixel cases
Roxas2712 Oct 28, 2026
0626de1
Pass only RGBA components when generating GPU fixture pixels
Roxas2712 Oct 28, 2026
95b104a
Use the complete native GSC ROM animation pool in the actual VM
Roxas2712 Oct 28, 2026
b676bbc
Admit canonical source programs and preserve their generated-cache ow…
Roxas2712 Oct 28, 2026
529a4b5
Accept the genuine source-native GSC dataset without private fork flags
Roxas2712 Oct 28, 2026
fa50c0e
Keep registered animation provenance distinct from actual ROM imports
Roxas2712 Oct 28, 2026
793035d
Bind GSC Fly and Dig visibility to the actual native queue and animat…
Roxas2712 Oct 28, 2026
9962abb
Adapt charge checks to upstream optional idle picture observations
Roxas2712 Oct 28, 2026
6339b7d
Document actual upstream queue integration and validation limits
Roxas2712 Oct 28, 2026
14d1c98
Verify upstream enemy PP policy without importing fork battle rules
Roxas2712 Oct 28, 2026
5dacfd1
Use real GSC status IDs and structured native status presentation
Roxas2712 Oct 28, 2026
b638ef4
Document adapted upstream status metadata and validation scope
Roxas2712 Oct 28, 2026
98bbe77
Separate native GSC ordinary and animation SFX admission
Roxas2712 Oct 28, 2026
dcdfbbd
Add real PCM and native GSC SFX integration checks
Roxas2712 Oct 28, 2026
50b5fb4
Document GSC SFX adaptation and static-mixer limits
Roxas2712 Oct 28, 2026
1714ec5
Clarify upstream audio owner scope
Roxas2712 Oct 28, 2026
4f584d9
Follow native GSC sleep turns in the upstream controller
Roxas2712 Oct 28, 2026
e714a97
Retain upstream enemy PP policy in sleep regression assertions
Roxas2712 Oct 28, 2026
82b0f66
Qualify and document the upstream GSC sleep adaptation
Roxas2712 Oct 28, 2026
86c9831
Clear native GSC persistent counters at upstream item cure sites
Roxas2712 Oct 28, 2026
b60949e
Publish canonical GSC species in native upstream data and gameplay
Roxas2712 Oct 28, 2026
c64b480
Include upstream GSC runtime identity regression programs
Roxas2712 Oct 28, 2026
fabe77e
Publish finalized native GSC appearance through upstream owners
Roxas2712 Oct 28, 2026
d398e92
Keep passive companion painting out of identity refresh and test trad…
Roxas2712 Oct 28, 2026
18aa200
Integrate Gen1 touch skin parsing and native input ownership
Roxas2712 Oct 28, 2026
f885d62
Expose installed skins through native options and test host ownership
Roxas2712 Oct 28, 2026
ab5b84e
Preserve native pointer ownership and isolate archive test fixtures
Roxas2712 Oct 28, 2026
876385e
Track skin archive fixture and exercise normal options persistence
Roxas2712 Oct 28, 2026
90296f9
Verify custom skin API through actual mod loader and hook chain
Roxas2712 Oct 28, 2026
f275526
Document native skin runtime provenance and remaining acceptance scope
Roxas2712 Oct 28, 2026
9e51cd0
Adapt skin integration to offered upstream viewport and flat options …
Roxas2712 Oct 28, 2026
f32c163
Ship preserved Gen1 touch skin licence in shared payload packer
Roxas2712 Oct 28, 2026
c0b6eb2
Retain contribution and provenance notices in upstream payloads
Roxas2712 Oct 28, 2026
dc29c16
Retain mounted skin archives across real PhysFS library refreshes
Roxas2712 Oct 28, 2026
0dab2c1
Restore native touch haptics preferences and ownership-edge feedback
Roxas2712 Oct 28, 2026
e3faf94
Initialize the upstream haptics fixture system interface
Roxas2712 Oct 28, 2026
c25a8ab
Complete the platform contract in the upstream haptics fixture
Roxas2712 Oct 28, 2026
6c63f3a
Supply real native speed lock owner for offered skin actions
Roxas2712 Oct 28, 2026
5805f05
Use the actual native stack in upstream skin lock contract
Roxas2712 Oct 28, 2026
a3f0d34
Retain required source and visible native launcher credits
Roxas2712 Oct 28, 2026
1c6d88c
Apply native GSC move priority before Speed and expose the same model…
Roxas2712 Oct 28, 2026
7cbf55e
Document native GSC priority classes and real queued-action coverage
Roxas2712 Oct 28, 2026
0a90e59
Expose real native GSC volatile ownership and retire transient model …
Roxas2712 Oct 28, 2026
b7b990c
Document native volatile bridge scope and independently tested older …
Roxas2712 Oct 28, 2026
2a3d021
Run native GSC protection with actual first-side, RNG and link compat…
Roxas2712 Oct 28, 2026
eead513
Use the existing string owner for native rules mismatch messages
Roxas2712 Oct 28, 2026
dbabc4e
Exercise actual older-host queue entries and audited GSC protocol tra…
Roxas2712 Oct 28, 2026
a8ca624
Document independently qualified older-host protection and source ref…
Roxas2712 Oct 28, 2026
5d8752a
Expose live source GSC RNG fields and roller over the older native owner
Roxas2712 Oct 28, 2026
059b553
Preserve the distinct source random field and decorated roller seam
Roxas2712 Oct 28, 2026
be9b3d0
Exercise actual source RNG callbacks in older-host linked roles
Roxas2712 Oct 28, 2026
fdc2be3
Document older-host source RNG owner and pending independent validation
Roxas2712 Oct 28, 2026
dec137f
Record independently tested older-host source RNG and unchanged basel…
Roxas2712 Oct 28, 2026
508b2cf
Restore native GSC trainer friendship and source class predicates
Roxas2712 Oct 28, 2026
c8e6e95
Test the actual older-host API2 friendship path without checkpoint cl…
Roxas2712 Oct 28, 2026
a92fd97
Match independently observed source happiness event names
Roxas2712 Oct 28, 2026
ad94962
Supply older-host native party scope prerequisite for trainer friendship
Roxas2712 Oct 28, 2026
607a0e7
Clarify separate older-host scope qualification requirement
Roxas2712 Oct 28, 2026
b17a8f1
Use actual entered battle phase and native species schema in scope re…
Roxas2712 Oct 28, 2026
8d781f2
Test source round clock at actual native GSC execution boundaries
Roxas2712 Oct 28, 2026
927bf73
Exercise actual native residual method in round-clock probe
Roxas2712 Oct 28, 2026
bc9d9ef
Retain actual queued action rows while native execution inserts text
Roxas2712 Oct 28, 2026
a1edb86
Expose the actual native GSC round clock to source model consumers
Roxas2712 Oct 28, 2026
fc1aa04
Document native round-clock proof and remaining full-model scope
Roxas2712 Oct 28, 2026
3e85ef0
Exercise older-host actual queue rows without unavailable newer helper
Roxas2712 Oct 28, 2026
f7d6c53
Separate native battler data from presentation on upstream host
Roxas2712 Oct 28, 2026
281e518
Exercise plain-data and actual native battler construction
Roxas2712 Oct 28, 2026
67a05ea
Document offered-host battler construction proof and scope
Roxas2712 Oct 28, 2026
102f514
Add source Game2 frame queries on the offered native viewport stack
Roxas2712 Oct 28, 2026
5e4ee81
Include the native palette prerequisite from the Chrome offer
Roxas2712 Oct 29, 2026
7dd0291
Document coherent viewport and Chrome prerequisites with actual-host …
Roxas2712 Oct 29, 2026
d365203
Share compositor pixel fit for actual drawable-size queries
Roxas2712 Oct 29, 2026
0a45bbb
Record actual drawable regression and corrected older-host qualification
Roxas2712 Oct 29, 2026
fb19487
Document corrected fork Metal observations without older-host GPU claim
Roxas2712 Oct 29, 2026
9417dfb
Add source screen positioning to the older native compositor and opti…
Roxas2712 Oct 29, 2026
de6b4ed
Cover older native screen positioning through actual composition and …
Roxas2712 Oct 29, 2026
b83c8fa
Document older-host screen-position prerequisites and pending qualifi…
Roxas2712 Oct 29, 2026
4353003
Record independent older-host screen-position and actual-blit contracts
Roxas2712 Oct 29, 2026
3fed24d
Expose GSC Pokemon fields through actual older native records and reg…
Roxas2712 Oct 29, 2026
c0ea73d
Document older-host native field integration and separate constructor…
Roxas2712 Oct 29, 2026
cd65abe
Validate real older-host split-stat patches before native registry folds
Roxas2712 Oct 29, 2026
98b620d
Authenticate raw native field wrappers while retaining custom-owner r…
Roxas2712 Oct 29, 2026
6985a37
Provide native-slot field rebinding without inspecting mod storage
Roxas2712 Oct 29, 2026
cfe4f4f
Record independent older-host live-field and strict SDK qualification
Roxas2712 Oct 29, 2026
2055778
Compose current upstream main and retain native move-refusal command …
Roxas2712 Oct 29, 2026
5db4b8f
Compose offered native appearance owners with field and viewport prer…
Roxas2712 Oct 29, 2026
04422b8
Include offered native Unown owner required by source identity refresh
Roxas2712 Oct 29, 2026
138d449
Compose offered native battler/model foundation with live field binding
Roxas2712 Oct 29, 2026
7782ccd
Expose GSC source stat refresh through the actual composed upstream o…
Roxas2712 Oct 29, 2026
26114b4
Keep composed GSC source field binding confined to native Gen2 births
Roxas2712 Oct 29, 2026
dfe0e44
Record independently qualified current-upstream stat and model compos…
Roxas2712 Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
61 changes: 61 additions & 0 deletions .github/workflows/api3-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: API 3 contracts
on:
pull_request:
paths:
- '.github/workflows/api3-contract.yml'
- 'src/**'
- 'tests/api3_contract/**'
- 'tests/engine/api3_*.lua'
- 'tools/api3-contract-check/**'
- 'tools/flag-catalog-check/**'
push:
branches: [main, dev]
paths:
- '.github/workflows/api3-contract.yml'
- 'src/**'
- 'tests/api3_contract/**'
- 'tests/engine/api3_*.lua'
- 'tools/api3-contract-check/**'
- 'tools/flag-catalog-check/**'
permissions:
contents: read
concurrency:
group: api3-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
compare:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
path: gen2
sparse-checkout: |
src
data
tests
tools/api3-contract-check
tools/flag-catalog-check
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 79ea62f45fb2ea8f65d081a109431e4eb1bbdb36
path: gen1-reference
sparse-checkout: |
src
data
tests
assets/fonts
- name: install LuaJIT
run: sudo apt-get update && sudo apt-get install -y luajit
- name: native flag catalog provenance
run: python3 gen2/tools/flag-catalog-check/generate.py --gen1 gen1-reference
- name: identical mod contracts on both engines
run: >-
python3 gen2/tools/api3-contract-check/check.py
--gen1 gen1-reference --gen2 gen2
--report "${{ runner.temp }}/api3-report.json"
- uses: actions/upload-artifact@v7
with:
name: api3-contract-report
path: ${{ runner.temp }}/api3-report.json
if-no-files-found: error
35 changes: 35 additions & 0 deletions .github/workflows/gen2-picture-presentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Native GSC picture and animation owners
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: gen2-picture-${{ github.ref }}
cancel-in-progress: true
jobs:
picture-contract:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v7
- name: Install LuaJIT
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Native picture commands and emitted images
run: |
luajit tests/engine/gen2_picture_presentation.lua
luajit tests/engine/gen2_picture_pixels.lua
luajit tests/engine/gen2_picture_art_import.lua
luajit tests/engine/gen2_picture_art_draw.lua
luajit tests/engine/gen2_battler_rows.lua
luajit tests/engine/gen2_animation_catalog.lua
luajit tests/engine/gen2_vanish_presentation.lua
luajit tests/engine/gen2_status_presentation.lua
luajit tests/engine/gen2_sfx_arbitration.lua
luajit tests/engine/gen2_sleep_turns.lua
luajit tests/engine/gen2_sleep_cures.lua
- name: Existing command, object and background owners
run: |
luajit tests/engine/gen2_object_runtime.lua
luajit tests/engine/gen2_object_motion_pixels.lua
luajit tests/engine/gen2_bg_presenter.lua
19 changes: 19 additions & 0 deletions .github/workflows/gen2-species-runtime.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Native GSC runtime identities
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
contract:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- run: sudo apt-get update && sudo apt-get install -y luajit
- name: Native graph, old saves and script/breeding identities
run: |
luajit tests/engine/gen2_species_runtime.lua
luajit tests/engine/gen2_species_gameplay.lua
luajit tests/engine/gen2_appearance_identity.lua
luajit tests/engine/gen2_appearance_transactions.lua
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -178,3 +178,6 @@ mobile/ios/bundle_id.local
# secrets as public -- but GitHub's secret scanning flags it, so it is kept out
# of the repository and injected into release builds instead.
/cloud_clients.lua

# Owned memory-only custom-skin fixture.
!/tests/skin_fs_fixture.lua
88 changes: 88 additions & 0 deletions LICENSE-ROXAS2712.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Roxas2712 — Fork Contributions

Version 1.0 · Effective 25 October 2026

Copyright © 2026 Roxas2712, to the extent of rights held.
All rights reserved except as expressly granted below or already granted.

## 1. Scope and ownership

This notice applies only to original contributions made by Roxas2712
(GitHub: Roxas2712) to `Roxas2712/Gen2Recomped`, including original additions
within modified files, insofar as he owns the relevant rights. Git history,
pull-request diffs and source provenance identify contributions; a commit
author or a whole-file change alone does not establish ownership of every
part of that file.

It does not claim ownership of Cedric's work, Gen1Recomp / BOIS CLUB GAMES
work, other contributors' work, third-party dependencies, or ROM-derived
content. Their applicable licences and notices remain in force. It does not
grant permission to distribute the complete combined fork where another
rights holder's permission is required.

## 2. General permission and reserved rights

For contributions covered by this notice and not already licensed more
broadly, you may read and study the published source and make private,
non-commercial modifications and builds for your own use. This grants no
general permission to redistribute, sublicense, sell, or offer those
contributions as a hosted service. Other uses require Roxas2712's
written permission, except for the specific permission below and rights
available independently under applicable law.

Keep the relevant copyright, licence and attribution notices. Do not
represent Roxas2712's contributions as exclusively authored by someone
else. Public source availability alone does not put them in the public
domain or grant an open-source licence.

## 3. Specific permission for Cedric / UNDERdecoded

Roxas2712 expressly grants Cedric (Ced; GitHub: UNDERdecoded /
UNDERdecodedHD) a non-exclusive, worldwide, perpetual, royalty-free
permission to use, reproduce, integrate, modify and distribute the covered
contributions that Roxas2712 submits or expressly offers through pull
requests to `UNDERdecoded/Gen2Recomped`, for Cedric's Gen2Recomped /
RetroRecompiled project. This includes its renamed continuation maintained
by Cedric, its official builds, and its commercial operation.

Cedric may license the incorporated contributions to recipients as part of
that project, subject to preserving this permission's applicable credit and
notice requirements. This permission is not a copyright assignment, is not
exclusive, and does not cover unpublished work, separate repositories,
ModCompass service operation, credentials, or content not offered in those
pull requests. Roxas2712 retains his own rights to his contributions.

For uses relying on this permission:

- retain the relevant source copyright and licence notices;
- give visible credit in the project's README or equivalent public project
page, and in the application's existing About / Credits view, if present;
- use at least the following credit, or a substantially equivalent one:

> Contributions by Roxas2712 —
> https://github.com/Roxas2712

A maintained consolidated contributor credit is sufficient; a separate
credit on every screen or for every change is not required. Adapted
contributions must not be attributed exclusively to another author. Other
contributors' credits must also remain intact.

## 4. Earlier licences and permissions remain effective

This notice does not revoke, narrow, or retrospectively add conditions to
any permission already validly granted, including MIT / GPL grants,
separate agreements, or permissions arising from previously submitted
pull requests. Where an earlier grant permits a use independently of this
notice, its existing terms govern that use. For such earlier uses, the
visible credit above is requested to the extent it is not already required.

For subsequent contributions, this is the default statement of Roxas2712's own reserved rights and the specific PR permission, subject to any
applicable existing licence obligations or separately agreed terms. It
does not change another rights holder's licence or guarantee compatibility
of a particular combination of code.

## 5. No warranty

To the extent permitted by applicable law, these contributions are provided
as is, without warranty. No support obligation, endorsement, or rights to
third-party code, game assets, names, or trademarks are granted.
21 changes: 21 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Native touch-skin provenance

The TouchSkin, DeltaSkin, SkinZip and PdfImage modules, their identified
TouchControls integration and adapted format tests originate in Gen1Recomp
commit 535a5ec088c1ae1bf4d91dd3e35a56f64cf46d91.
Copyright (C) 2026 BOIS CLUB GAMES, LLC. GPLv3 and its Section 7 terms are
retained in licenses/GEN1RECOMP-TOUCH-SKINS.md.

Native host integration and tests: Contributions by Roxas2712 —
https://github.com/Roxas2712

Existing upstream and Gen1 rights and licence grants remain effective; this
notice assigns no other author's work to Roxas2712. No proprietary Gen1
launcher code or third-party bundled skin art is included.

Roxas2712's independently owned additions are offered under
[LICENSE-ROXAS2712.md](LICENSE-ROXAS2712.md), subject to prior grants and
the preserved Gen1 GPL terms. Existing GPL-covered code is not relicensed.

The identified haptic controls in TouchControls.lua are also adapted from the
same Gen1Recomp source under the same preserved GPL/Section7 grant.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
Based on the Pokemon Gen 1 Recompilation Project by BOIS CLUB GAMES, LLC
(https://github.com/bryanthaboi/gen1recomp).

GSC BG-effect source provenance and its retained licence are recorded in
[compat/gen1-gsc/provenance.json](compat/gen1-gsc/provenance.json).

# gen2recomp

Based on the Pokemon Gen 1 Recompilation Project by BOIS CLUB GAMES, LLC
(https://github.com/bryanthaboi/gen1recomp).

Contributions by Roxas2712 — https://github.com/Roxas2712.
Newly adapted touch-skin/studio code retains the original GPLv3/Section7
terms in `licenses/GEN1RECOMP-TOUCH-SKINS.md`. Existing author rights and
earlier grants remain effective; see `NOTICE.md` and `LICENSE-ROXAS2712.md`.

<p align="center"><img src="./assets/logo/gen2logo.png"></p>

<p align="center"><img src="./assets/logo/UD.png" width="220"></p>
Expand Down
Loading