Coder Social home page Coder Social logo

gz's People

Contributors

adamkiddle avatar cadmic avatar ellipticellipsis avatar fig02 avatar glankk avatar hylianfreddy avatar kdjmonaghan avatar krimtonz avatar louist103 avatar mzxrules avatar nfaltermeier avatar samwho avatar savestate2a03 avatar terry-au avatar thar0 avatar yanis42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gz's Issues

Consider moving memory addresses to preprocessor macros.

If it is not a problem with you. I may migrate all of the memory addresses to pre-processor macros so that the project can, at some stage be built for different versions. If you have any objections to this, could you please let me know as I won't begin any work porting your addresses to macros unless you are okay with it. If you'd like any specific naming conventions followed, please also inform me of them, thanks!

Potential Bug: Kakariko Gate Guard GZ U 1.2

I'm not sure if this is a corruption or an actual bug. Every time I talk to the gate guard in Kakariko Village he always opens the gate, but when he asks you to go to the market to buy a mask for him, his dialogue stops midway through and you are frozen in place once you hit the A button. I'm currently using Bizhawk 2.6.4 on Windows while using the GLideN64 core. I have re-downloaded the practice rom and it's software a few times, but the problem persisted. I have also tested the same rom with Japanese text in the same sequence and it works perfectly fine. I have also tested 1.1 and 1.0 in English text and those work perfectly fine as well. I have also tested different settings and cores on my emulator to check if it was the emulator or the rom itself. No luck there. It's either something wrong with the rom itself, or I might have to use a different emulator. I will include some images for reference. Has anyone else ran into this issue?

Frozen In Place
Gate Guard

Generating UPS patches

Hi,

I'm currently installing the toolchain and waiting for gcc to compile. I'm just curious on how UPS patches are created. I can only assume that CodeBlocks will generate an elf file, which I imagine you are passing to the N64 via a GameShark. I don't have access to a GameShark or anything outside of a regular N64, OOT cart (probably v1.1) and NO N64 developer tools (Everydrive, 64Drive, etc).

I'm hoping to at some stage work to port this over to v1.2 for installation on Wii/WiiU. I just want to know if I have any chance of generating UPS patches without a GameShark. If a GameShark is required, is there a chance that it could be accomplished via an emulator?

Great work by the way, awesome stuff!

Reset Flags Doesn't Reset Dampe's Initial Tour Text

When beginning Dampe's Heart-Pounding Grave-Digging Tour, using Reset Flags in the graveyard doesn't reset the text for him explaining the minigame initially.

Not sure if you're interested in adding the non-flag "flags" to the Reset Flags option or not.

Mac OS X issue with "readlink" and "gzinject"

I'm having an issue creating a ROM file on Mac OS X. This is what I get (even if the .wad file is in the same folder of the patch-wad command):

Command: ./patch-wad ./wads/Zelda\ no\ Densetsu\ -\ Toki\ no\ Okarina.wad
Output:

readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname path
readlink: illegal option -- f
usage: readlink [-n] [file ...]
./patch-wad: line 6: gzinject: command not found

I've tried moving things around so (nearly) all files were in the same folder, just in case, but get the same output.

Any ideas?

Patching on Windows Subsystem for Linux (Ubuntu)

I have installed the n64 tools as described by the building guide and I have run make in the gz directory but when I attempt to run patch/make-rom rom.z64 I get the error message patch/make-rom: 2: set: Illegal option -

Feature Request: ED64 features ported to 64Drive

The 64drive has well documented interfaces for SD and USB access, even Wi-Fi in the future. Porting the existing ED64 file saving/loading and remote debugging features to the 64drive would be appreciated.

BUILD issues

Hi, I tried to compile, to use the new hitbox features.
My System is Ubuntu 19.04

I get the error that mips64-gcc is missing:
mips64-gcc: Command not found
But gcc-mips64-linux-gnuabi64 and gcc-mips-linux-gnu are installed.

Even then I try to install the n64 toolchain, does that not work, there I get libusb undeclared errors. But libusb-1.0-0-dev is installed.

File does not exist

So this is an issue, but I also have a question.

Issue first:

I'm on Windows 10 using the Ubuntu subsystem. I went through the steps of configuring, building, and installing the n64 repo. I ran make for gz as well.

I'm sure that there was something that I did wrong but when I try running ./patch-wad <wad>, I get this error
making patched wad from Zelda no Densetsu - Toki no Okarina.wad...lua/patch-wad.lua:33: libgru error 4: file input error

It looks like that lua file on that line is looking for a file in the ups directory, but it is empty for me. Now if I run patch/make-wad <wad> it seems to be successful. It creates gz-oot-vc-j.wad with a bigger size than the original wad. So that seemed to work. Am I missing a step to run patch-wad?

Question:

The questions relates to this issue. What is the difference between running make-wad and patch-wad? Which do I want to run if I want to get the "practice wad" as a channel on the wii?

Sorry if this was answered in the documentation, I couldn't seem to find an answer to it. I think the issue is I don't understand what a UPS patch is.

Thanks for your patience, work, and help!

Practice for 1.1 exlusive tricks

Are you planning to port the codes to 1.1 in the near future? there is one trick which is 1.1 exclusive that really is annoying to practice on the real cart and it includes bomb oi.

Suggestion: Add support for patching Fig's Faster Quest

This is my first time giving a suggestion on something, so I'm not exactly sure how to format it, but I think it would be nice to have support for patching a Faster Quest rom, with removed cutscenes and fast text.

Don't know if anyone else is actually interested in this idea, just a suggestion though.

Thanks :)

Text Hook for 1.2 JPN

I am trying to port the text hook 1.2. I have found what I believe are the equivalent addresses. To be truthfully honest, I don't actually know quite what I am looking for. I have instead located addresses which are representative of the addresses that your text hook contains.

They are as follows:

8005248B 0001
8105237E 0000
8105237C 0000
810523DC 0C18
810523DE 0000

A crash occurs when enabling these hooks and subsequently loading the lua patch. I am experimenting with a simple Hello world for the time being until I am able to actually get that working, I won't begin on the other stuff. Do you have any pointers or tips for how to address this? Thanks!

Porting ROM Patch to 1.2

Hi,

I've looked into porting the rom patch over to the 1.2 ROM. From what I can tell there are two main things that need to be achieved:

  • Copy the gz binary from a location in the ROM to a location in the RAM.
  • Patch the ROM to use the text hook.

I am having trouble porting the code from 1.1. I can see that you're making changes to the bootloader, as you mentioned in another post. However, I am not overly familiar with MIPS. Do you have any pointers on how to go about this? I can make out potions of the modified bootloader but I am unfamiliar with various functions that it calls.

Also, not very relevant, but have you had any chance to review the pull request, I made the adjustments that you recommended making.

Thanks!

Question: Is there a way to check what memory location is changed when a flag is set

I was expecting the Flag Log to report the memory address, flag size, and flag offset in the log but I didn't see that info. Also in the example of a chest I also checked the actor menu and couldn't find the flag associated with the chest. I dug around in the source code some but thought it might be smarter if I just asked. If this information isn't really displayed anywhere is there a good way for me to manually find the flag with info given in the debug menus?
Thanks in advance!

homeboy.bin: No such file or directory

Hi,

When I run ./patch/make-wad <wad> I get:

Extracting oot-jp.wad to patch/wadextract Creating patch/wadextract Writing cert.cert. Writing ticket.tik. Writing metadata.tmd. Writing footer.bin Decrypting contents 0. Writing content0.app. Decrypting contents 1. Writing content1.app. Decrypting contents 2. Writing content2.app. Decrypting contents 3. Writing content3.app. Decrypting contents 4. Writing content4.app. Decrypting contents 5. Extracting content 5 uint8_t Archive. Writing content5.app. Decrypting contents 6. Writing content6.app. rom is oot-1.2-j building gz make: Nothing to be done for 'gz-oot-1.2-vc'. make: Nothing to be done for 'gz-oot-1.2-vc-hooks'. loading file system patching code file reassembling rom building ldr rm -rf obj/ldr obj/ldr/res bin/ldr mkdir -p obj/ldr mips64-gcc -x assembler-with-cpp -c -MMD -MP -DPACKAGE_TARNAME='gz' -DPACKAGE_URL='github.com/glankk/gz' -DF3DEX_GBI_2 -DDMA_ROM=0x01F7C680 -DDMA_RAM=0x80400000 -DDMA_SIZE=0x0005DB50 src/ldr/ldr.S -o obj/ldr/ldr.S.o mkdir -p bin/ldr mips64-g++ -T gl-n64.ld -nostartfiles -specs=nosys.specs -Wl,--gc-sections -Wl,--defsym,start=0x80000400 obj/ldr/ldr.S.o -o bin/ldr/ldr.elf mips64-objcopy -S -O binary bin/ldr/ldr.elf bin/ldr/ldr.bin inserting payload Packing patch/wadextract into patch/gz-oot-1.2-j-vc.wad Gathering WAD Header Information Reading cert.cert Reading ticket.cert Reading metadata.tmd Generating Footer signature Generating content5.app u8 archive Modifying content metadata in the TMD Applying patch/gzi/gz_mem_patch.gzi gzi patches Parsing gzi file patch/gzi/gz_mem_patch.gzi Running gzi commands Setting current file to 1 Apply patch to 1. offset 0x2eb0 = 0x60000000 Applying patch/gzi/hb_NACJ.gzi gzi patches Parsing gzi file patch/gzi/hb_NACJ.gzi Running gzi commands Setting current file to 1 Apply patch to 1. offset 0x3d300 = 0x3c800040 Apply patch to 1. offset 0x85726 = 0x9010 Apply patch to 1. offset 0x8572c = 0x60000000 Apply patch to 1. offset 0x85738 = 0x60000000 Apply patch to 1. offset 0x2ea8 = 0x3c809000 Apply patch to 1. offset 0x2eac = 0x38840800 Apply patch to 1. offset 0x2eb0 = 0x7c8903a6 Apply patch to 1. offset 0x2eb4 = 0x80630018 Apply patch to 1. offset 0x2eb8 = 0x4e800421 Setting current file to 100 Apply patch to 100. offset 0x18b = 0x3d Applying patch/gzi/gz_remap_default.gzi gzi patches Parsing gzi file patch/gzi/gz_remap_default.gzi Running gzi commands Setting current file to 1 Apply patch to 1. offset 0x16baf0 = 0x800 Apply patch to 1. offset 0x16baf4 = 0x400 Apply patch to 1. offset 0x16baf8 = 0x200 Apply patch to 1. offset 0x16bafc = 0x100 Apply patch to 1. offset 0x16bb04 = 0x20 Injecting dol file patch/dol/hb-NACJ/homeboy.bin: No such file or directory couldn't inject dol patch.: No such file or directory

I am running Ubuntu through Windows Subsystem for Linux. Any ideas why this would be happening?

Feature ideas

What are your thoughts on some features such as enabling ISG and freezing countdown timers? I was also considering adding some predefined addresses to the memory watcher.

I was also thinking of adding the ability to disable gz at startup by holding a button combination.

Suggestion: Easy switching from watches to debug memory editor

It would be nice if possible to have an easy way to switch from the two menus. For example, if hovering over a watch in the watches menu, if I want to edit it, I could press a button to have the debug memory editor auto popup with the relevant info filled in (watch address, address type). It could maybe just be some button on the same line as the watch with like, an arrow or something. Or maybe, be able to hover over the actual value the watch gives, and clicking that gives you memory editor.

Vice versa could be useful in some situations when looking at memory regions and wanting to add watches, but that type of work would normally be done in emu and I don't know a clean idea to allow for that transition.

Suggestion: Safecheck

Just a small suggestion :

I accidently made the command return from menu "L", and thus wasn't able to enter any menus as it exited out each time. I was forced to reset the game without saving anything.

I'd sugest to make sure you can't do "return from menu" with only "L".

Suggestion: Add a hide all button for watches

It'd be great if it is possible to have watches all be able to be hidden with one button press. I guess the easiest way to add this to UI would be either adding a button at the top, or making a checkmark feature where you can check multiple watches and either hide, move, or delete them

Macro desync from Din's Fire cutscene

Savestates fail capture Din's Fire animation camera (clockwise vs counterclockwise) correctly when replaying macros. Desyncs occur when the opposite camera occurs during playback.

When starting from same scene RNG, reloading after certain point in casting Din's changes camera

Example of macro playing correctly:
https://www.twitch.tv/zfg1/clip/ClumsyCleanLapwingBibleThump

Example of desync after reloading same macro:
https://www.twitch.tv/zfg1/clip/CleverIcySquidMrDestructoid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.