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

RBO presets #8

Open
wants to merge 135 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
9ee573a
Merge pull request #4 from helgefmi/master
spannerisms Oct 15, 2019
e44195c
gameplay stuff
spannerisms Oct 16, 2019
68f482c
fix some hud bugs
spannerisms Oct 16, 2019
dbf5b24
Merge pull request #5 from helgefmi/master
spannerisms Oct 16, 2019
0c8ca03
slightly better hud counter
spannerisms Oct 16, 2019
89b6d75
v12 time
spannerisms Oct 24, 2019
945765b
save font for update i guess
spannerisms Oct 24, 2019
5edc79a
updates
spannerisms Oct 26, 2019
539dda3
.1
spannerisms Oct 26, 2019
681b8c8
ssssssssssssshhhhhhhhhhh
spannerisms Oct 26, 2019
cab85f1
Summary (required)
spannerisms Nov 6, 2019
c34cd14
Update index.html
spannerisms Nov 6, 2019
d2666d6
lol nice
spannerisms Nov 6, 2019
c762142
dont tell me to add a summary
spannerisms Dec 15, 2019
079281e
i haven't pushed in forever
spannerisms Jan 1, 2020
1634fb9
things and junk and stuff and whatnot
spannerisms Jan 4, 2020
280044a
v13 stuff and junk
spannerisms Jan 14, 2020
c2c6e14
butts
spannerisms Jan 22, 2020
ebf2a2d
thingsssss
spannerisms Jan 31, 2020
63de4cf
fixes
spannerisms Feb 2, 2020
1c2dd76
dumb stuff
spannerisms Feb 4, 2020
73e42ab
update to newest + fix savestate load issue when dying
Lui37 Feb 4, 2020
389a8c6
nice
spannerisms Feb 4, 2020
a85366c
fix ad presets not actually having bow selected after s+q
Lui37 Feb 4, 2020
198bd2c
fix conflict
Lui37 Feb 4, 2020
1df4d62
1313131313
spannerisms Feb 7, 2020
515ea1a
Merge pull request #6 from Lui37/master
spannerisms Feb 7, 2020
67777a6
things update
spannerisms Feb 8, 2020
523c3f1
document icebreaker
spannerisms Feb 8, 2020
650ebc3
Implement javascript patching support
tewtal Feb 27, 2020
2d483fc
t
spannerisms Mar 2, 2020
c13efb5
Merge pull request #7 from tewtal/js-patcher
spannerisms Mar 2, 2020
15e009c
debug
spannerisms Mar 2, 2020
21923c5
Fix the CRC check to not be case sensitive
tewtal Mar 2, 2020
59d0a3a
Merge pull request #8 from tewtal/js-patcher
spannerisms Mar 2, 2020
8269f30
ADSR music muting
spannerisms Apr 22, 2020
9273fff
whatever
spannerisms Apr 23, 2020
eab5d3f
maybe
spannerisms Sep 15, 2020
2a56ec0
dumb
spannerisms Sep 16, 2020
b3b25e2
one more try
spannerisms Sep 16, 2020
93ca0c2
dumb game
spannerisms Sep 17, 2020
10df138
add any% rmg preset data
Lui37 Sep 19, 2020
ab869b3
actually add the preset category properly
Lui37 Sep 19, 2020
bbbbd6d
fixed some presets
Lui37 Sep 19, 2020
24bfa1e
more preset fixes
Lui37 Sep 19, 2020
f2178da
fixed ad preset issues; show category names in preset submenus
Lui37 Sep 19, 2020
eb3ceb3
fix old man in anyrmg presets
Lui37 Sep 21, 2020
21936e2
aaaaaaaaaaaaa
spannerisms Sep 24, 2020
6d8ad96
Merge pull request #9 from Lui37/master
spannerisms Sep 24, 2020
61d1e80
luiFrog
spannerisms Sep 24, 2020
43d133c
fix potential of unwanted layer changes after loading a preset
Lui37 Sep 25, 2020
f725d66
Merge pull request #10 from Lui37/master
spannerisms Sep 26, 2020
4a00393
try to add low presets, try to have multibank custom menu
Lui37 Oct 2, 2020
3c659bf
Merge remote-tracking branch 'upstream/master'
Lui37 Oct 2, 2020
a2b0509
lol
Lui37 Oct 2, 2020
8a77e7a
lol
Lui37 Oct 2, 2020
8d7c4ac
multibank menu works now
Lui37 Oct 2, 2020
484f096
play the menu sound when entering the presets submenu
Lui37 Oct 2, 2020
65bbd54
fix preset_ad_skull_getting_tempered
Lui37 Oct 3, 2020
fa5efed
lowleg
Lui37 Oct 3, 2020
867e6d3
fixed lownmg presets
Lui37 Oct 3, 2020
ac56b49
low leg
Lui37 Oct 3, 2020
5eaaf35
add post-ms preset & rupee tree counters to nmg and lowleg
Lui37 Oct 3, 2020
4646d1d
more preset fixes
Lui37 Oct 3, 2020
6cf9ecb
Merge pull request #11 from Lui37/master
spannerisms Oct 4, 2020
29e7901
lui
spannerisms Oct 4, 2020
5969896
add ad 2020 presets
Lui37 Oct 4, 2020
0bb6404
a
Lui37 Oct 4, 2020
9d5a14c
fix ad2020 hookshot preset
Lui37 Oct 4, 2020
5e668c1
fix ad2020 hookshot preset
Lui37 Oct 4, 2020
05eacdb
fake flipper preset
Lui37 Oct 4, 2020
ba7b558
fix ad outside thieves
Lui37 Oct 4, 2020
5ba65ed
Merge pull request #12 from Lui37/master
spannerisms Oct 5, 2020
5a713b6
e
spannerisms Oct 5, 2020
be461d1
test pls
spannerisms Nov 22, 2020
5871f41
dont u do
spannerisms Nov 22, 2020
d5d4d86
oops
spannerisms Nov 22, 2020
6f3a5e6
Update index.html
spannerisms Nov 22, 2020
16fa470
new beta
spannerisms Nov 25, 2020
0b38bf7
k
spannerisms Nov 29, 2020
2dd989e
Delete sa1.bps
spannerisms Nov 29, 2020
fb4eac4
o
spannerisms Nov 29, 2020
237872e
Add files via upload
spannerisms Apr 7, 2021
0393404
prevent music from restarting when loading state if it is unchanged; …
Lui37 Apr 8, 2021
700aede
remember it better
Lui37 Apr 8, 2021
f152b4c
Merge pull request #13 from Lui37/master
Lui37 Apr 8, 2021
8ddbfc4
patches
spannerisms Apr 9, 2021
7114497
Update manifest.json
spannerisms Apr 9, 2021
d733b1a
Update index.html
spannerisms Apr 9, 2021
b60b24f
More thorough build instructions
FoxLisk Jul 3, 2021
abc95a8
Merge pull request #14 from FoxLisk/master
spannerisms Jul 17, 2021
58e72b0
add in lui changes from v13
spannerisms Oct 10, 2020
057bfe5
nice
spannerisms Aug 18, 2021
7f05490
fix
spannerisms Aug 18, 2021
07431ff
lui build this
spannerisms Aug 18, 2021
f4e7021
Merge branch 'v14' of https://github.com/spannerisms/lttphack into v14
spannerisms Aug 18, 2021
9dde90e
squash dumb betas
spannerisms Aug 18, 2021
fbfb01a
game is dumb
spannerisms Aug 25, 2021
c75d275
patch
spannerisms Aug 25, 2021
02a4832
new
spannerisms Aug 26, 2021
a2e31ab
up
spannerisms Aug 27, 2021
29ae4a4
dumbbbb
spannerisms Aug 28, 2021
dc68c4d
final squash
spannerisms Aug 18, 2021
3ab8e9d
Merge branch 'v14'
spannerisms Sep 1, 2021
8b4ca35
done site please
spannerisms Sep 1, 2021
ff9d0bc
14
spannerisms Sep 12, 2021
068ad8d
site
spannerisms Sep 13, 2021
02afe5e
a
spannerisms Sep 13, 2021
62bcd19
site
spannerisms Sep 23, 2021
13d084f
please work
spannerisms Sep 24, 2021
48f0d76
work already
spannerisms Sep 24, 2021
19b9a39
dumb
spannerisms Sep 25, 2021
8a6a4e9
fixes
spannerisms Sep 25, 2021
5eb88d1
100
spannerisms Sep 27, 2021
adef9f1
test
spannerisms Sep 27, 2021
606519f
work or else
spannerisms Sep 28, 2021
8309fec
fix
spannerisms Sep 29, 2021
6e5968a
a
spannerisms Sep 29, 2021
f5da115
this didn't happen
spannerisms Nov 29, 2021
2bde1a0
dumb
spannerisms Dec 2, 2021
d8f1e2b
tick tock click clock
spannerisms Dec 2, 2021
7173f9d
update
spannerisms Feb 2, 2022
569c14b
hotpatch
spannerisms Feb 3, 2022
68a8259
ok
spannerisms Mar 2, 2022
b898ab8
bump
spannerisms Mar 5, 2022
faacf35
Fixing magic at Vitty
FoxLisk Nov 25, 2022
c895cd3
stuff
spannerisms Nov 26, 2022
92c007c
Merge pull request #15 from FoxLisk/master
spannerisms Nov 26, 2022
1ddb712
update i guess
spannerisms Mar 1, 2023
6e2ada5
hot patch
spannerisms Mar 4, 2023
19a33bb
dumb
spannerisms Sep 5, 2023
9142085
Update index.html
spannerisms May 10, 2024
93762a5
update
spannerisms Oct 19, 2024
274ed69
typos/correction
spannerisms Oct 19, 2024
06e17b6
Update manifest.json
spannerisms Oct 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
std*.txt
*.srm
target/
tools/preset_data_*.asm
tools/cm_presets_*.asm
src/resources/movie/*.asm
*.state
20 changes: 0 additions & 20 deletions Makefile

This file was deleted.

19 changes: 1 addition & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,3 @@
Original hack by pinkus, under new management.

Assembles with [Asar](https://github.com/RPGHacker/asar)

**PRESETS NOTES**

When making new presets (for hundo):

- Change `cm_presets_hundo.asm`:
- Outside Swamp -> Outside Ice
- Outside Ice -> Outside Mire
- Outside Mire -> Outside Swamp

- Change `preset_data_hundo.asm`:
- SRM: Move Mire before Swamp manually
- Copy (both presets & sram)
- outside_ice -> outside_swamp
- outside_mire -> outside_ice
- outside_swamp -> outside_mire
DONT copy the "Manual changes" for SRAM. They're where they should be already.
Assembles with [Asar](https://github.com/RPGHacker/asar)
190 changes: 21 additions & 169 deletions TODO.txt
Original file line number Diff line number Diff line change
@@ -1,68 +1,42 @@
Big stuff
----------

- Movies
trigger points to update timers:
at exact X,Y
when X is crossed
when Y is crossed
when X and Y are both crossed

- Ghost Link
keep track of velocity via link's coordinates on SA-1

- Counters (spec below)

- Rewrite sd2snes save/load state code

- Mashing & Pumping mini-game

- Fix lag:
debug hacks:
A = $10
B = $00
C = $18
D = $08

- Refactoring gamemode (gamemode2.asm) to be more intuitive

Other stuff
------------

- Preset for double reddies

- Show kill counter for Agahnim 2

- Feature: Disable text? Like rando.

- Faster travel speed via shortcut

- Better frame advance mode. Perhaps only pause while holding L in, and if you press R while holding L it advances the game one frame. Would be good for clip learning. Maybe stop timer during this.
pre moldorms with empty tile room

- Show sprite hitboxes in general?

- Show intermediate room time in more places (bonk, walk up stairs)
last frame of crystal fade = bad savestate

- See if I can make the menu prettier (let users change color?)
submenu for flags for important OW overlays (LJ, HC, Pyramid)

- Colorblind options?
dig game RNG in safeties? (random, 25-38 guaranteed) hook after RNG call for consistency
chest game RNG in safeties (random, guaranteed) hook after RNG call

- Frame counter for actions, like swinging your sword, throwing boomerang, enemy movement startup times. Startup/active/recovery.
fix mushroom gfx for lost woods

- Room frame counts that show frame-pixel movement tallies. Would basically be to contrast how many nudge/slowdown/movement frames were lost that is pulled away from room overall time count and lag frames.
Get good entrance caching for every EG 2 room in a table
replace eg caching in presets with a routine call/preset command
update preset script
use bit 7 to indicate left/right half for double entrance rooms

- Active movement speed counter. Like the above kinda but shows real time how fast you're going. Would help for things like understanding swim speeds or hidden bastard/rail type deals.
aga 2 rng
lui: agah2 submenu -> set positions for each of the agahs for cycles 1, 2, 3 and 4+

- A way to change/preset your antennae value for spoopy inputs presently lengthy. To easily engage in mirerod entanglements.

- hey pinkus! Thanks for working on the LTTP practice hack. I have a feature request. I'm still early enough in my NMG play that i get the powder. It's annoying to have to turn on for every single preset, I imagine in the same way turning on the sanc heart was annoying. Can we get a setting to have powder on for the presets? (medium priority)

- bug with presets and sq
======== MINIGAMES TODO ========

Possible toggles/options
-------------------------
- Follower $7EF3CC
- Counters (spec below)

- Mashing & Pumping mini-game

Low priority
-------------
- Make the menu redraw less often, just for practicality's sake and less disruptive fblank

======== MINIGAMES TODO ========

- Mini games (menu)

Expand Down Expand Up @@ -94,125 +68,3 @@ Low priority
- frames where diagonal is held
- # of pixel boost chances per second on average
* for air and for wall, according to my hypothesis


======== MOVIES TODO ========

- Movies (menu)

[ Options ]
Record: [Disabled, Movies, Ghost Link, Both]
HUD: [No, Record, Play, Both]

[ Save current movie ]
- Should be put at the top, pushing everything down.

( List of movies )
- A to play movie
- Y to play ghost link
- X to delete
- Could use preset names
- Infinite scroll

- Stop movie before saving movie from menu

- Disable SD2SNES save/load state

- Disable movie record on Poverty states

- During playback:
* L = Pause playback when held
* L + tap R = Frame advance once.
* L + hold R = Slow motion (after 30f of holding)
* X = Stop movie (gives control back to player)
* A = Replay movie from start


======== GHOST LINK SPEC ========

- Record type
* 1 = movie only
* 2 = ghost only
* 3 = both
Needs to be stored in Movies meta.

- Depending on record type, we populate !ram_movie differently
* Ghost format:
ttffffff ffffffff yyyyyyyy yyyyyyyy xxxxxxxx xxxxxxxx ddaaaaaa
- t = 0
- f = frames
- y = y coord
- x = x coord
- d = direction
- a = animation data (dashing, picking up pot, holding wall, shooting bow, idk.. probably need more bytes if we want it to actually look good too)

* Movie format:
ttffffff ffffffff BYSTudlr AXLR0000
- t = 1
- f = frames of inputs held
- rest = which keys are held

* RNG format:
tt000000 nnnnnnnn
- t = 2
- n = rng value

- When replaying, we need to either select Movie or Ghost.
* Look for highest two bits to find out if it's a Ghost entry, Movie entry or RNG entry.
Jump over stuff we should jump over.
Track RNG index separately and call `LDA #!ENTRY_RNG : LDX !ram_rng_index : JSR find_next_entry`.


======== COUNTERS SPEC ========

DNGSCR ☑ hex1 0000A0 #
OWSCR ☑ hex1 00008A #
HSCRLL ▢ hex2 0000E2 #
VSCRLL ▢ hex2 0000E8 #
ROMDTA ☑ hex1 000403 #
LAYER ▢ dec1 0000EE #
GNOCNT ☑ dec2 000123 #
ALTITU ☑ dec2 0002A2 #
PODSCR ☑ dec2 00F0D4 #

ADD NEW

--------------------------

^ and v = Normal
< and > = Select what to edit
A = Edit
X = Remove line

☑ & ▢ = enabled/disabled
# = set position (use dpad to find position, A/Start to commit, B/X to cancel, L/R to change colors?)

--------------------------

enum Type {
dec1,
dec2,
dec4,
hex1,
hex2,
hex4
}

struct {
char name[6];
bool enabled;
Type type;
uint24 address;
uint16 position;
uint8 palette;
} counters[]

---------------------------

1. make linked list of counter-ouput
struct {
uint16 position;
uint8 palette;
char tiles[10];
} buffer[];
2. blit it to screen after vblank hud update
25 changes: 15 additions & 10 deletions build.bat
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
set version="11.0.0"
set version="14.3.5"

cd target
copy alttp.sfc "lttphack-%version%.sfc"
copy alttp.sfc "lttphack-%version% SD2SNES.sfc"
copy alttp.sfc "lttphack-%version% VanillaHUD.sfc"
copy alttp.sfc "lttphack-%version% SD2SNES VanillaHUD.sfc"
cd ../src
asar.exe -DFEATURE_SD2SNES=0 -DFEATURE_HUD=1 -DVERSION=%version% main.asm "../target/lttphack-%version%.sfc"
asar.exe -DFEATURE_SD2SNES=1 -DFEATURE_HUD=1 -DVERSION=%version% main.asm "../target/lttphack-%version% SD2SNES.sfc"
asar.exe -DFEATURE_SD2SNES=0 -DFEATURE_HUD=0 -DVERSION=%version% main.asm "../target/lttphack-%version% VanillaHUD.sfc"
asar.exe -DFEATURE_SD2SNES=1 -DFEATURE_HUD=0 -DVERSION=%version% main.asm "../target/lttphack-%version% SD2SNES VanillaHUD.sfc"

copy alttp.sfc "lttphacksa1.sfc"
copy alttp.sfc "lttphacksa1rando.sfc"

asar.exe --fix-checksum=on -DVERSION=%version% -DRANDO=0 "../src/main.asm" "lttphacksa1.sfc"
asar.exe --fix-checksum=on -DVERSION=%version% -DRANDO=1 "../src/main.asm" "lttphacksa1rando.sfc"

flips --create --bps alttp.sfc "lttphacksa1.sfc" "../docs/patcher/files/sa1.bps"
flips --create --bps alttp.sfc "lttphacksa1rando.sfc" "../docs/patcher/files/sa1rando.bps"

:: del "lttphacksa1.sfc"
:: del "lttphacksa1rando.sfc"

pause
46 changes: 46 additions & 0 deletions docs/_layouts/practicehack.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!doctype html>
<html lang="en-US">
<head>
<title>{{ page.title }}</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="hack.css">
<link rel="stylesheet" href="https://spannerisms.github.io/assets/base.css">
<link href="https://fonts.googleapis.com/css?family=Roboto|Roboto+Mono|Courier+Prime&display=swap" rel="stylesheet">
<link rel="shortcut icon" type="image/x-icon" href="https://spannerisms.github.io/assets/lj.ico">
</head>

<body id="page-top">
<nav class="navbar sitenav">
<div class="metaLinks">
<a href="#top" title="Page top">Top</a>
</div>
<div class="Home"><a href="index">Home</a></div>
<div class="Links">
<ul>
<li><a href="updates">Change log</a></li>
<li><a href="https://spannerisms.github.io/">Blog</a></li>
</ul>
</div>
</nav>

<div id="top" class="content {{ page.background }}">
<div class="contentstuff">
{{ content }}
</div>
</div>


<footer>
<div class="footerList">
<ul>
<li><a href="https://github.com/spannerisms/lttphack/">Source</a></li>
<li><a href="https://strats.alttp.run">Strat Hub</a></li>
<li><a href="https://alttp-wiki.net/">ALttP Wiki</a></li>
<li><a target="_blank" href="https://discord.gg/W69UcDpup8">Discord</a></li>
</ul>
</div>
</footer>

</body>
</html>
Binary file removed docs/ancillawatch.png
Binary file not shown.
Binary file removed docs/ancillawatch.xcf
Binary file not shown.
Loading