Giter VIP home page Giter VIP logo

overlunky's People

Contributors

c-ffeestain avatar coffeestain avatar cosine256 avatar d11z avatar dregu avatar estebanfer avatar fienestar avatar github-actions[bot] avatar gmjosack avatar jaythebusinessgoose avatar jeremypepper avatar malacath-92 avatar mauvealerts avatar mr-auto avatar zappatic 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

overlunky's Issues

Cannot find library in the target process: KERNEL32.DLL (case sensitivity)

An earlier version of Overlunky (I think it was 0.2.1 or something) worked fine for me, but 0.4.0 and 0.4.1 fail to work out of the box. It attemps to inject, but gets an error and quits:

[info] Overlunky version: 0.4.1
[info] Searching for Spel2.exe process...
[info] Found Spel2.exe PID: 19156
[info] Game was just started, waiting a few seconds for it to load before injecting...
[debug] Allocated memory: 0x5ea0000
[debug] Injecting DLL into process... D:\onzin\Overlunky\injected.dll
[error] Cannot find library in the target process: KERNEL32.DLL

I poked around the source code and noticed find_base seems to use a case-sensitive string search (via std::string::find), which I think comes from inject_dll -> find_function. Hex-editing the "KERNEL32.DLL" string into the lowercase "kernel32.dll" makes Overlunky work on my PC, so the case-sensitive search is probably the cause. (I can just replace the string in a hex editor whenever I update as a workaround, but this is likely to affect others as well, possibly all Win7 users.)

Stun timer troubles

Getting stunned while mounted results in random/too long stun times. I suspect some new damage hooks, like last time, cause this ain't happening in 0.5.9. Reproduced in 1236e5a.

The repro that happened in randomizer is: setting arrowtrap projectile to light arrow, getting a bunch of health so it doesn't kill you and riding a mount to the trap. Mount absorbs some of the damage and you get stunned for thousands of frames instead of something reasonable.

Pause game

I'd like to be able to skmulate what pausing the game does without having the pause menu open. Namely, what doesn't work about setting state.pause is:

  • The music becomes glitchy instead of becoming muffled.
  • The time_total timer pauses.
  • Inputs can no longer be read (by get_io or by other means).

Having the blurry overlay would be a nice bonus; as long as it's possible to render vanilla rendering huds over it.

Cleared callbacks are still executed until the next frame

Since we delete cleared callbacks deferred we still execute them once clear_callback has been called. We should add guards against that so the behavior is as the user expects while still having the security of deferred deletion.

Overlunky WHIP and 1.23.x support

The latest WHIP version should now work with the 1.23.3 update, but some individual features or api functions might still be broken.

You can comment any broken stuff here, cause we might miss even the most obvious errors.

Function key problems

My funtion keys do not work, it would be good to be able to remap the buttons that activate the overlay

Overlunky/mods and game version 1.25.0

Everything seems to be in order with Overlunky and Playlunky individually, but a weird issue is usually causing a crash when loading a level if both are running. We're working on it.

Comment here if you find something we don't.

get_entity() (& variants) don't work in multiplayer when player 1 dies

Many of the get_entity variants (and some other functions) return nil if player 1 is dead, since they rely on players[1].uid

A potential solution would be to figure out if it is possible to get the uid of the player who ghosts follow rather than the first player in the players array.

Game Crashes Consistently on Launch

Hello, I have tried turning off my antivirus, and that continued to make the game crash. I have tried opening overlunky and the game at different times, and that still makes the game crash. I have tried to download and run overlunky on another pc with no antivirus on it, and overlunky makes spelunky crash on that pc. I have also tried running both spelunky and overlunky in admin mode, and that didn't work either. I have also tried being in game when launching overlunky.

I have also tried using the latest wine download, and that also failed.

I used visual studio to debug what is happening, and I found this:
Unhandled exception at 0x00007FF808B5A4CF (injected.dll) in spel2_crashdump_2021_08_22T16_55_33.dmp: 0xC0000005: Access violation reading location 0x0000000000000000.

I assume this has something to do with getting the module base wrong or finding the wrong offsets.

If there is something that you recommend doing to fix this issue, please tell me.

dmcrate spawning crashes the game

Not sure if this issue happens for everyone but when you try to spawn a deathmatch crate or the indicator that spawns one it crashes the game, normally this wouldn't be an issue but they sometimes replace enemies in the randomizer and that immediately crashes it as well.

PRNG functions

I don't know how much sense starting random_index from 0 makes in lua...
random_int crashes when min==max and does crazy stuff when min>max

Anyway adding prng:random() that works as a drop in replacement for math.random() would be neat. I don't know if you already had this in mind.

math.random() with no arguments generates a real number between 0 and 1.
math.random(upper) generates integer numbers between 1 and upper (both inclusive).
math.random(lower, upper) generates integer numbers between lower and upper (both inclusive).

Player 2 becoming player 1 in coop

Kind of problem with the global table of players
i think we ether need to make it so players are always in the same position in that table or expose some more stuff from state?

Application doesn't work on wine due to the way it looks for spel2.exe

Very simple problem here.

Presumably overlunky works by looking for spel2's PID and then modifying the its memory, and injecting stuff. Well, wine doesn't do very well when you're looking for other wine processes.

I have a few ideas for a way around this but I don't know C or C++. Any ideas?

i know linux isn't officially supported, and a linux build would be completely pointless because there is no linux build of spelunky.

No entities in list

So I open the game and there is no entities on the list and I just need to find a couple items and spawn them, yes I have already tried running the injector at the camp. Is there any way this can be fixed?

Start the drill with API

Wanted to find function to start the drill but it seam to be one function that does all, the first arguments appear to be udjet socket and the player (the second probably to remove the powerup) 229AABF0

technically you can set it in motion manually, but it will not keep the velocity
again technically can be forced with scripts, but it will crash when it touches normally unbreakable block (like level border), again can be .... i think you get the point, it's kind of bother to set it up and maintain with lua

Rotate vanilla rendering

Would love to be able to rotate images/text via the vanilla rendering API, especially images. In the vanilla game, this is done with the sticker in the in-game menus, and with the dangly on the spears in the main menu.

Define new textures based on vanilla ones

Currently, I can't seem to get this to work:

local original_texture_definition = get_texture_definition(TEXTURE.DATA_TEXTURES_HUD_TEXT_0)
local texture_definition = TextureDefinition.new()
texture_definition.texture_path = original_texture_definition.texture_path
texture_definition.width = original_texture_definition.width
texture_definition.height = original_texture_definition.height
texture_definition.tile_width = 128
texture_definition.tile_height = 64
local texture = define_texture(texture_definition)

The only way this works is if I create a copy of the hud_text image and put it in my Data/Textures folder; it's not reading it from the vanilla game textures.

Add a REPL console

Something that can be interfaced with from the dll interface so it can be disabled when in user mode (for PL)
I guess it would need to be its own Lua VM but not sure how to achieve it exactly.

Game crashing and creating dump file on inject

I and another user on reddit are having issues with overlunky crashing the game, both of us are first time users of overlunky. Ive tried WHIP and turning off antivirus, not sure what to do about this.

Crashes with modlunky2

Spawn and teleport crash on Spelunky 2 version 1.19+ repacked with modlunky2, doesn't matter if you're actually using any mods.

Game Crashes

Every time I try to use overlunky, Spelunky 2 just crashes. I've tried getting new versions but it's still not working. Is there any solution to this?

Textures on block spawn

Whenever I spawn blocks in, the textures are usually pretty glitched and they don't blend like the nonspawned blocks. I'm hoping there is a way for you guys to fix this as it would be nice if the textures aligned.

Clovers seem to not take effect

When I played with Overlunky on (0.3.5) I found that whenever I picked up a clover, they immediately had the wilting animation. The ghost came at the normal time as if the clover were not in effect. I had been playing with Overlunky in order to practice with the telepack instead of having to rely on RNG to spawn it, but something like the clover not working is enough of a bug that I am not using it for now. If there's any more information I should provide, let me know.

no entity codes in .16.1

no item/entity codes show up in gui in version spelunky 1.16.1 and the enitites.txt file is empty

Undocumented Flags

Various undocumented flags with some information that's been reported about them.

07 - Level has a ghost pot
09 - Can be climbed like a rope
11 - "#11 being unchecked makes the object not interact with water"
15 - "oh i also found out that the 15th flag for the more flags thing in overlunky it makes the thing grey. cursed effect"
17 - Level has shopkeeper shop
19 - "unchecking item flag #19 of a shotgun makes you throw it instead of use it"
21 - "flag 21 being checked on the player makes them interact with webs. it being unchecked lets you pass through without interacting with it"
23 - "i was testing the #23 flag because it was changing while gambling, i picked up the dice and the shopkeeper got mad"

Killing hired help crash

When spawning hired hand directly and then killing him, the game crash, similar thing when spawned from coffin and then you stole input from him and kill him.

Some ai related problem i guess?

Game Crash

Spelunky 2 crashes whenever I start up Overlunky.
I've tried version 0.6.0, 0.5.9, and the WHIP build.
What do I do to fix this?

Hiccuping with drawing functions

Some people (including me) experience problems when lot of drawing function are involved, lag spike every 2s or so (exp. entity info example from overlunky), i noticed after the vanilla one were added that they also have the same problem.

It's a lag every couple seconds. Does not seam to be issue with processing power (i run i7 4790K) which should have more then enough to do stuff, someone on the discord who also mentioned this problem had even better CPU.

Maybe it has something to do with how often the drawing callbacks are executed? But it does not seam to be problem with empty callback

module 'io' not found in lua script

I tried to make a simple script to write a file.

meta.unsafe = true

io = require("io")
file = io.open("test.txt", "w")

This code doesn't work and says that the module was not found.

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.