-
Notifications
You must be signed in to change notification settings - Fork 799
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
Final Fantasy IV Free Enterprise: Add New Game #3897
Open
Rosalie-A
wants to merge
127
commits into
ArchipelagoMW:main
Choose a base branch
from
Rosalie-A:Final-Fantasy-4-Free-Enterprise
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+3,862
−1
Open
Changes from 87 commits
Commits
Show all changes
127 commits
Select commit
Hold shift + click to select a range
8e0e615
branch
Rosalie-A 02512d2
Update .gitignore
Rosalie-A 09ca302
Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago
Rosalie-A 38c13f3
Merge branch 'main' into wc
Rosalie-A df201b1
stuff
Rosalie-A 6775070
stuff
Rosalie-A 66e9bde
Merge branch 'main' of https://github.com/Rosalie-A/Archipelago
Rosalie-A 89c6ef9
Merge branch 'main' into wc
Rosalie-A 0fab959
initial testing maybe
Rosalie-A d8c6c29
zelda1
Rosalie-A a31cc60
Zelda 1
Rosalie-A 26524a2
progress
Rosalie-A ea1c1e4
Merge branch 'main' of https://github.com/Rosalie-A/Archipelago
Rosalie-A 4580c98
Merge branch 'main' into wc
Rosalie-A 646ce68
Merge remote-tracking branch 'upstream/main'
Rosalie-A 801665e
Merge branch 'main' into wc
Rosalie-A 891d74f
zelda progress still on wrong branch
Rosalie-A c1a0dd0
Merge remote-tracking branch 'upstream/main' into wc
Rosalie-A 3d93604
Update requirements.txt
Rosalie-A 0dbe2b5
Merge branch 'wc'
Rosalie-A 75e8a33
heroku deploy
Rosalie-A a4743d3
removed SM for now
Rosalie-A e759cf5
Update Procfile
Rosalie-A 3dac1ac
Update Procfile
Rosalie-A 634f2c3
deployment stuff
Rosalie-A cfe2bad
Update requirements.txt
Rosalie-A bdfbf2e
Update requirements.txt
Rosalie-A dbd94bc
Update requirements.txt
Rosalie-A e04f9b1
Update requirements.txt
Rosalie-A 4fb1f13
Merge remote-tracking branch 'upstream/main'
Rosalie-A d26c23e
deplotment update
Rosalie-A 0361640
readd sm
Rosalie-A da908c5
Update WebHost.py
Rosalie-A 844570c
Update WebHost.py
Rosalie-A 3118eac
Update WebHost.py
Rosalie-A 9207c67
Update WebHost.py
Rosalie-A b5d0dd3
Merge remote-tracking branch 'upstream/main'
Rosalie-A 2a7de71
fix type bug for now
Rosalie-A 9af69dc
Testing Changes
Rosalie-A 8f3ccd4
Zelda 1 pre-release
Rosalie-A 36f2276
Merge remote-tracking branch 'upstream/main' into The-Legend-of-Zelda-AP
Rosalie-A 33d313e
Zelda 1 Theme
Rosalie-A 24b4288
Readd client build info
Rosalie-A cabe78a
Corrected erroneus "Blue Candle" instead of "Candle"
Rosalie-A 72ba19e
Added known issue
Rosalie-A 1d09baf
actually putting in connector lua
Rosalie-A 5d0ba96
Logic update
Rosalie-A 9140ba5
don't delete the connector lua without committing next time dummy!
Rosalie-A 4cdf3ad
connector lua lives!
Rosalie-A 3260623
Update Zelda1Client.py
Rosalie-A 71e1640
Create core.dll
Rosalie-A ae7add5
Cleanup to make linter happy
Rosalie-A 5d5afe8
Still trying to make Linter-senpai happy
Rosalie-A 03743bc
Map and Compass replacements
Rosalie-A 8e84d76
Bug fixes
Rosalie-A 0dc68d9
Boss roar adjustment
Rosalie-A e5539fe
Clarify spoiler playthrough and shop slots
Rosalie-A c561253
Update Zelda1Client.py
Rosalie-A 07a0c4d
Merge remote-tracking branch 'upstream/main' into The-Legend-of-Zelda-AP
Rosalie-A c64006e
Merge branch 'The-Legend-of-Zelda-AP'
Rosalie-A e869530
Merge remote-tracking branch 'upstream/main'
Rosalie-A efb7beb
Initial draft
Rosalie-A fc8483a
Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago i…
Rosalie-A 158b303
hey it helps to include everything maybe. will add to .gitignore later
Rosalie-A 5f67fd4
you know running this through pycharm didn't give my any issues
Rosalie-A b21a19f
cleanup and also you now get a dime for finding a remote item.
Rosalie-A 71ad0c0
temporary solution while I rename all the .bin files
Rosalie-A 67e9aad
updates ahoy!
Rosalie-A cdf5395
let's go bug fixes!
Rosalie-A 964452c
free cure1s with every ap reward
Rosalie-A 565fb21
APWorld packaging, and other bug fixes.
Rosalie-A e840e6d
Added Nightmare from Timespinner Z-sprite
wafflesoup 1fbfc7e
Merge pull request #63 from wafflesoup/Final-Fantasy-4-Free-Enterprise
Rosalie-A 293fc1a
Add Murasaki (CaitSith2's OC) Z-sprite
CaitSith2 8e3df01
Merge pull request #64 from CaitSith2/Final-Fantasy-4-Free-Enterprise
Rosalie-A 889fcef
Add AP logo to z sprites.
CaitSith2 a20e067
Merge pull request #65 from CaitSith2/Final-Fantasy-4-Free-Enterprise
Rosalie-A 624183d
FF4FE: Add Lance from Pokemon Z-sprite
wafflesoup 2fa8761
FF4FE: Add Bowser in Clowncar from SMW to Z-sprite
wafflesoup 6d875c6
yay updates. Better logic, better features, papa john's
Rosalie-A 93825c4
Added Badeline from Celeste 64 Z-sprite
wafflesoup c365ee5
Merge pull request #66 from wafflesoup/Final-Fantasy-4-Free-Enterprise
Rosalie-A a780ae5
More objectives, options, and hopefully not bugs.
Rosalie-A 79bfdfe
Harp songs and a Z-Sprite
CaitSith2 fa51c30
Merge pull request #67 from CaitSith2/Final-Fantasy-4-Free-Enterprise
Rosalie-A 24fbd32
Finally fixed the MIAB issue, as well as other minor bugs.
Rosalie-A c20fc51
Merge remote-tracking branch 'upstream/main'
Rosalie-A db60e5e
Merge branch 'main' into Final-Fantasy-4-Free-Enterprise
Rosalie-A e6d454a
Merge branch 'main' into Final-Fantasy-4-Free-Enterprise
Rosalie-A 5ddaf96
cleaning up some accidents, hopefully
Rosalie-A 67b50a7
Merge branch 'Final-Fantasy-4-Free-Enterprise' of https://github.com/…
Rosalie-A c3e4a63
the cleanup continues
Rosalie-A cecf5ce
Yet more cleanup.
Rosalie-A 1d4fbab
Changes made according to feedback.
Rosalie-A 553962e
Accidental circular import and other fixes.
Rosalie-A 95c3247
MIAB updates
Rosalie-A c05309d
in progress commit for treasure chests
Rosalie-A 0ddebb2
clean up debug change
Rosalie-A 5edb0f3
load the correct high ID offset
Rosalie-A 5ee5122
Removed remaining vanilla data and music/zsprite data.
Rosalie-A ab47516
Final changes before PR submission.
Rosalie-A ffe0089
Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago i…
Rosalie-A 7484a9b
Unused code cleanup that nevertheless was popping errors.
Rosalie-A e878717
More code cleanup.
Rosalie-A 45a08eb
It's always the tiny changes that get you.
Rosalie-A c5467a3
Pulled some library files from 3.12 in as FE's regular expression han…
Rosalie-A d12f165
Forgot to pull a line from the .gitignore.
Rosalie-A 45966d3
SHA1 is insecure and so must be excised. Yes, even though it's just f…
Rosalie-A 00f2a89
Minor bugfix changes.
Rosalie-A 0daab6f
Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago i…
Rosalie-A 88ffd36
Cleaning up some stray files that I'm not sure how they even ended up…
Rosalie-A 5f8a970
Cleaning up more stray files and duplicate modules no longer needed.
Rosalie-A 2040743
Was using the wrong random, but no longer
Rosalie-A 9cbdbe3
Update inno_setup.iss
Rosalie-A 1a7054a
Updated in accordance with PR review as well as minor bugfixes.
Rosalie-A 87beb08
Merge branch 'Final-Fantasy-4-Free-Enterprise' of https://github.com/…
Rosalie-A 3882da4
Removed Z Sprites I thought I'd already removed.
Rosalie-A 23239c1
More unused file cleanup and minor bugfixes.
Rosalie-A a3048ce
Upgraded Lark thanks to Wylem, so now we don't need to package it in.
Rosalie-A 99dcbb9
Cleaned up unnecessary pyaes usage so we don't need that anymore. Mov…
Rosalie-A af02837
Custom junk settings progress
Rosalie-A 7391c10
More custom junk progress
Rosalie-A d289ddc
Fixing errors introduced by irresponsible copy/pasting.
Rosalie-A 4b2ee56
No idea how I missed adding these in, considering things don't work w…
Rosalie-A 118c6a2
Merge remote-tracking branch 'upstream/main' into Final-Fantasy-4-Fre…
Rosalie-A 55d57da
Moved FE to be external.
Rosalie-A 7f22c07
Separated FE to be a standalone install fetched by requirements.txt.
Rosalie-A File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2021 ALttPO | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# This file defines application shortcuts for the Applications menu. | ||
# To install, copy this file to your configuration directory: | ||
# On MacOS and Linux, this is "$HOME/.sni/" | ||
# On Windows, this is "%LOCALAPPDATA%/sni/" | ||
|
||
# `apps` is a list of application shortcuts | ||
apps: | ||
|
||
- # `name` is what is displayed in the Applications menu: | ||
name: RetroArch | ||
# `os` specifies that this app is only launchable on this particular operating system | ||
# if `os` is missing/empty, then the Application will appear on all operating systems. | ||
# valid values are: | ||
# "windows" = Windows | ||
# "linux" = Linux | ||
# "darwin" = MacOS | ||
os: darwin | ||
# `path` is the location of the executable to open: | ||
# On MacOS, app bundle folders that end in .app are launched via `open -a <path> <args...>` | ||
# On Windows and Linux, executable files are launched normally | ||
path: /Applications/RetroArch.app | ||
|
||
- name: RetroArch | ||
os: windows | ||
path: C:\RetroArch-Win64\RetroArch.exe | ||
|
||
- name: OpenTracker | ||
os: darwin | ||
# `dir` is the current directory that the executable is launched from: | ||
dir: $HOME/Developer/me/alttpo/OpenTracker/OpenTracker/bin/Debug/net5.0 | ||
# `path` does not have to be an absolute path, and could be found in the system lookup $PATH | ||
path: dotnet | ||
# `args` is the list of arguments passed to the application: | ||
args: | ||
- OpenTracker.dll | ||
|
||
- name: SNI Home Page | ||
# `url` will open the given URL when clicked in the menu: | ||
# On MacOS, URLs are launched via `open <url>` | ||
# On Windows, URLs are launched via `start <url>` | ||
# On Linux, URLs are launched via `xdg-open <url>` | ||
url: https://github.com/alttpo/sni |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
-- original file found in a GPLv3 code repository, unclear if this is the intended license nor who the authors are | ||
-- SNI modifications by Berserker, jsd1982; modifications licensed under MIT License | ||
-- version 3 changes Read response from JSON to HEX | ||
|
||
if not event then | ||
is_snes9x = true | ||
memory.usememorydomain = function() | ||
-- snes9x always uses "System Bus" domain, which cannot be switched | ||
end | ||
memory.read_u8 = memory.readbyte | ||
memory.read_s8 = memory.readbytesigned | ||
memory.read_u16_le = memory.readword | ||
memory.read_s16_le = memory.readwordsigned | ||
memory.read_u32_le = memory.readdword | ||
memory.read_s32_le = memory.readdwordsigned | ||
memory.read_u16_be = function(addr) return bit.rshift(bit.bswap(memory.read_u16_le(addr)),16) end | ||
else | ||
if emu.getsystemid() ~= "SNES" then | ||
print("Connector only for BSNES Core within Bizhawk, sorry.") | ||
end | ||
end | ||
|
||
|
||
function readbyterange(addr, length, domain) | ||
local mtable; | ||
local mstart = 0; | ||
local mend = length - 1; | ||
if is_snes9x then | ||
mtable = memory.readbyterange(addr, length); | ||
mstart = 1 | ||
mend = length | ||
else | ||
-- jsd: wrap around address by domain size: | ||
local domainsize = memory.getmemorydomainsize(domain) | ||
while addr >= domainsize do | ||
addr = addr - domainsize | ||
end | ||
mtable = memory.readbyterange(addr, length, domain) | ||
mstart = 0; | ||
mend = length - 1; | ||
end | ||
|
||
-- jsd: format output in 2-char hex per byte: | ||
local toret = {}; | ||
for i=mstart, mend do | ||
table.insert(toret, string.format("%02x", mtable[i])) | ||
end | ||
return toret | ||
end | ||
function writebyte(addr, value, domain) | ||
if is_snes9x then | ||
memory.writebyte(addr, value) | ||
else | ||
-- jsd: wrap around address by domain size: | ||
local domainsize = memory.getmemorydomainsize(domain) | ||
while addr >= domainsize do | ||
addr = addr - domainsize | ||
end | ||
memory.writebyte(addr, value, domain) | ||
end | ||
end | ||
|
||
local socket = require("socket.core") | ||
|
||
local connection | ||
local host = '127.0.0.1' | ||
local port = 65398 | ||
local connected = false | ||
local stopped = false | ||
local name = "Unnamed" | ||
|
||
memory.usememorydomain("System Bus") | ||
|
||
local function onMessage(s) | ||
local parts = {} | ||
for part in string.gmatch(s, '([^|]+)') do | ||
parts[#parts + 1] = part | ||
end | ||
if parts[1] == "Read" then | ||
local adr = tonumber(parts[2]) | ||
local length = tonumber(parts[3]) | ||
local domain | ||
if is_snes9x ~= true then | ||
domain = parts[4] | ||
end | ||
local byteRange = readbyterange(adr, length, domain) | ||
connection:send(table.concat(byteRange) .. "\n") | ||
elseif parts[1] == "Write" then | ||
local adr = tonumber(parts[2]) | ||
local domain | ||
local offset = 2 | ||
if is_snes9x ~= true then | ||
domain = parts[3] | ||
offset = 3 | ||
end | ||
for k, v in pairs(parts) do | ||
if k > offset then | ||
writebyte(adr + k - offset - 1, tonumber(v), domain) | ||
end | ||
end | ||
elseif parts[1] == "SetName" then | ||
name = parts[2] | ||
print("My name is " .. name .. "!") | ||
elseif parts[1] == "Message" then | ||
print(parts[2]) | ||
elseif parts[1] == "Exit" then | ||
print("Lua script stopped, to restart the script press \"Restart\"") | ||
stopped = true | ||
elseif parts[1] == "Version" then | ||
if is_snes9x then | ||
connection:send("Version|SNI Connector|3|Snes9x\n") | ||
else | ||
connection:send("Version|SNI Connector|3|Bizhawk\n") | ||
end | ||
elseif is_snes9x ~= true then | ||
if parts[1] == "Reset" then | ||
print("Rebooting core...") | ||
client.reboot_core() | ||
elseif parts[1] == "Pause" then | ||
print("Pausing...") | ||
client.pause() | ||
elseif parts[1] == "Unpause" then | ||
print("Unpausing...") | ||
client.unpause() | ||
elseif parts[1] == "PauseToggle" then | ||
print("Toggling pause...") | ||
client.togglepause() | ||
end | ||
end | ||
end | ||
|
||
|
||
local main = function() | ||
if stopped then | ||
return nil | ||
end | ||
|
||
if not connected then | ||
print('Connecting to SNI at ' .. host .. ':' .. port) | ||
connection, err = socket:tcp() | ||
if err ~= nil then | ||
emu.print(err) | ||
return | ||
end | ||
|
||
local returnCode, errorMessage = connection:connect(host, port) | ||
if (returnCode == nil) then | ||
print("Error while connecting: " .. errorMessage) | ||
stopped = true | ||
connected = false | ||
print("Please press \"Restart\" to try to reconnect to SNI, make sure it's running.") | ||
return | ||
end | ||
|
||
connection:settimeout(0) | ||
connected = true | ||
print('Connected to SNI') | ||
return | ||
end | ||
local s, status = connection:receive('*l') | ||
if s then | ||
onMessage(s) | ||
end | ||
if status == 'closed' then | ||
print('Connection to SNI is closed') | ||
connection:close() | ||
connected = false | ||
return | ||
end | ||
end | ||
|
||
if is_snes9x then | ||
emu.registerbefore(main) | ||
else | ||
while true do | ||
main() | ||
emu.frameadvance() | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
LuaSocket 3.0 license | ||
Copyright � 2004-2013 Diego Nehab | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a | ||
copy of this software and associated documentation files (the "Software"), | ||
to deal in the Software without restriction, including without limitation | ||
the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
and/or sell copies of the Software, and to permit persons to whom the | ||
Software is furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in | ||
all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
DEALINGS IN THE SOFTWARE. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is bad. There are ROM files currently supported by Archipelago that are *.bin. I would recommend just explicitly inverting the ignore to include whatever file is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
*.BIN
ignore still needs to be added back in, even though you've included the necessary files.