Skinemo windows love build

master
Jurij Podgoršek 2021-08-19 00:24:03 +02:00
parent 1fff7cdefd
commit 50299dccfc
30 changed files with 9 additions and 2746 deletions

View File

@ -1,7 +1,3 @@
# SNKRX # SNKRX
[SNKRX](https://store.steampowered.com/app/915310/SNKRX/) is an arcade shooter roguelite where you control a snake of heroes that automatically attack nearby enemies. [SNKRX](https://store.steampowered.com/app/915310/SNKRX/) is an arcade shooter roguelite where you control a snake of heroes that automatically attack nearby enemies.
@ -18,3 +14,11 @@ Download this repository, `cd` into it and then run `engine/love/love.exe --cons
### LICENSE ### LICENSE
All assets have their specific licenses and they are linked to in the game's credits. All code is under the MIT license. All assets have their specific licenses and they are linked to in the game's credits. All code is under the MIT license.
### FORK info
Tale verzija odstrani steam integracijo, da ni treba love modula dodajat.
Namestiti je potrebno [Love](https://love2d.org/)
`run.sh` je popravljen, da dela na linuxu :)

View File

@ -26,9 +26,6 @@ function Arena:on_enter(from, level, loop, units, passives, shop_level, shop_xp,
trigger:tween(2, main_song_instance, {volume = 0.5, pitch = 1}, math.linear) trigger:tween(2, main_song_instance, {volume = 0.5, pitch = 1}, math.linear)
steam.friends.setRichPresence('steam_display', '#StatusFull')
steam.friends.setRichPresence('text', 'Arena - Level ' .. self.level)
self.floor = Group() self.floor = Group()
self.main = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile', 'force_field', 'ghost'}) self.main = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile', 'force_field', 'ghost'})
self.post_main = Group() self.post_main = Group()
@ -149,28 +146,18 @@ function Arena:on_enter(from, level, loop, units, passives, shop_level, shop_xp,
if self.level == 6 then if self.level == 6 then
state.achievement_speed_booster = true state.achievement_speed_booster = true
system.save_state() system.save_state()
steam.userStats.setAchievement('SPEED_BOOSTER')
steam.userStats.storeStats()
elseif self.level == 12 then elseif self.level == 12 then
state.achievement_exploder = true state.achievement_exploder = true
system.save_state() system.save_state()
steam.userStats.setAchievement('EXPLODER')
steam.userStats.storeStats()
elseif self.level == 18 then elseif self.level == 18 then
state.achievement_swarmer = true state.achievement_swarmer = true
system.save_state() system.save_state()
steam.userStats.setAchievement('SWARMER')
steam.userStats.storeStats()
elseif self.level == 24 then elseif self.level == 24 then
state.achievement_forcer = true state.achievement_forcer = true
system.save_state() system.save_state()
steam.userStats.setAchievement('FORCER')
steam.userStats.storeStats()
elseif self.level == 25 then elseif self.level == 25 then
state.achievement_cluster = true state.achievement_cluster = true
system.save_state() system.save_state()
steam.userStats.setAchievement('CLUSTER')
steam.userStats.storeStats()
end end
end) end)
end) end)
@ -522,120 +509,86 @@ function Arena:quit()
if current_new_game_plus == 2 then if current_new_game_plus == 2 then
state.achievement_new_game_1 = true state.achievement_new_game_1 = true
system.save_state() system.save_state()
steam.userStats.setAchievement('NEW_GAME_1')
steam.userStats.storeStats()
end end
if current_new_game_plus == 6 then if current_new_game_plus == 6 then
state.achievement_new_game_5 = true state.achievement_new_game_5 = true
system.save_state() system.save_state()
steam.userStats.setAchievement('GAME_COMPLETE')
steam.userStats.storeStats()
end end
if self.ranger_level >= 2 then if self.ranger_level >= 2 then
state.achievement_rangers_win = true state.achievement_rangers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('RANGERS_WIN')
steam.userStats.storeStats()
end end
if self.warrior_level >= 2 then if self.warrior_level >= 2 then
state.achievement_warriors_win = true state.achievement_warriors_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('WARRIORS_WIN')
steam.userStats.storeStats()
end end
if self.mage_level >= 2 then if self.mage_level >= 2 then
state.achievement_mages_win = true state.achievement_mages_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('MAGES_WIN')
steam.userStats.storeStats()
end end
if self.rogue_level >= 2 then if self.rogue_level >= 2 then
state.achievement_rogues_win = true state.achievement_rogues_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('ROGUES_WIN')
steam.userStats.storeStats()
end end
if self.healer_level >= 2 then if self.healer_level >= 2 then
state.achievement_healers_win = true state.achievement_healers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('HEALERS_WIN')
steam.userStats.storeStats()
end end
if self.enchanter_level >= 2 then if self.enchanter_level >= 2 then
state.achievement_enchanters_win = true state.achievement_enchanters_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('ENCHANTERS_WIN')
steam.userStats.storeStats()
end end
if self.nuker_level >= 2 then if self.nuker_level >= 2 then
state.achievement_nukers_win = true state.achievement_nukers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('NUKERS_WIN')
steam.userStats.storeStats()
end end
if self.conjurer_level >= 2 then if self.conjurer_level >= 2 then
state.achievement_conjurers_win = true state.achievement_conjurers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('CONJURERS_WIN')
steam.userStats.storeStats()
end end
if self.psyker_level >= 2 then if self.psyker_level >= 2 then
state.achievement_psykers_win = true state.achievement_psykers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('PSYKERS_WIN')
steam.userStats.storeStats()
end end
if self.curser_level >= 2 then if self.curser_level >= 2 then
state.achievement_cursers_win = true state.achievement_cursers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('CURSERS_WIN')
steam.userStats.storeStats()
end end
if self.forcer_level >= 2 then if self.forcer_level >= 2 then
state.achievement_forcers_win = true state.achievement_forcers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('FORCERS_WIN')
steam.userStats.storeStats()
end end
if self.swarmer_level >= 2 then if self.swarmer_level >= 2 then
state.achievement_swarmers_win = true state.achievement_swarmers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('SWARMERS_WIN')
steam.userStats.storeStats()
end end
if self.voider_level >= 2 then if self.voider_level >= 2 then
state.achievement_voiders_win = true state.achievement_voiders_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('VOIDERS_WIN')
steam.userStats.storeStats()
end end
if self.sorcerer_level >= 3 then if self.sorcerer_level >= 3 then
state.achievement_sorcerers_win = true state.achievement_sorcerers_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('SORCERERS_WIN')
steam.userStats.storeStats()
end end
if self.mercenary_level >= 2 then if self.mercenary_level >= 2 then
state.achievement_mercenaries_win = true state.achievement_mercenaries_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('MERCENARIES_WIN')
steam.userStats.storeStats()
end end
local all_units_level_2 = true local all_units_level_2 = true
@ -648,8 +601,6 @@ function Arena:quit()
if all_units_level_2 then if all_units_level_2 then
state.achievement_level_2_win = true state.achievement_level_2_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('LEVEL_2_WIN')
steam.userStats.storeStats()
end end
local units = self.player:get_all_units() local units = self.player:get_all_units()
@ -663,8 +614,6 @@ function Arena:quit()
if all_units_level_3 then if all_units_level_3 then
state.achievement_level_3_win = true state.achievement_level_3_win = true
system.save_state() system.save_state()
steam.userStats.setAchievement('LEVEL_3_WIN')
steam.userStats.storeStats()
end end
end end

View File

@ -50,9 +50,6 @@ function BuyScreen:on_enter(from, level, loop, units, passives, shop_level, shop
input:set_mouse_visible(true) input:set_mouse_visible(true)
steam.friends.setRichPresence('steam_display', '#StatusFull')
steam.friends.setRichPresence('text', 'Shop - Level ' .. self.level)
self.main = Group() self.main = Group()
self.effects = Group() self.effects = Group()
self.ui = Group() self.ui = Group()

View File

@ -4,5 +4,4 @@ if not path:find("init") then
mlib = require(path .. ".mlib") mlib = require(path .. ".mlib")
-- if not web then clipper = require(path .. ".clipper") end -- if not web then clipper = require(path .. ".clipper") end
ripple = require(path .. ".ripple") ripple = require(path .. ".ripple")
steam = require 'luasteam'
end end

View File

@ -46,7 +46,6 @@ end
function engine_run(config) function engine_run(config)
if not web then if not web then
love.filesystem.setIdentity(config.game_name) love.filesystem.setIdentity(config.game_name)
steam.init()
system.load_state() system.load_state()
local _, _, flags = love.window.getMode() local _, _, flags = love.window.getMode()
@ -122,7 +121,6 @@ function engine_run(config)
if name == "quit" then if name == "quit" then
if not love.quit or not love.quit() then if not love.quit or not love.quit() then
system.save_state() system.save_state()
steam.shutdown()
return a or 0 return a or 0
end end
elseif name == "focus" then elseif name == "focus" then
@ -146,7 +144,6 @@ function engine_run(config)
if love.timer then dt = love.timer.step() end if love.timer then dt = love.timer.step() end
steam.runCallbacks()
accumulator = accumulator + dt accumulator = accumulator + dt
while accumulator >= fixed_dt do while accumulator >= fixed_dt do
frame = frame + 1 frame = frame + 1

Binary file not shown.

Binary file not shown.

View File

@ -1,12 +0,0 @@
call "C:\Program Files\7-Zip\7z.exe" a -r %1.zip -w ..\..\ -xr!engine/love -xr!builds -xr!steam -xr!.git -xr!*.moon -xr!conf.lua
rename %1.zip %1.love
copy /b "love.exe"+"%1.love" "%1.exe"
del %1.love
mkdir %1
for %%I in (*.dll) do copy %%I %1\
for %%I in (*.txt) do copy %%I %1\
copy %1.exe %1\
del %1.exe
copy %1\ ..\..\steam\ContentBuilder\content\
del /q %1\
rmdir /q %1\

View File

@ -1,4 +0,0 @@
call "C:\Program Files\7-Zip\7z.exe" a -r %1.zip -w ..\..\ -xr!engine/love -xr!builds -xr!.git -xr!*.moon
rename %1.zip %1.love
call love-js -c -m 1073741824 -t %1 %2\engine\love\%1.love ..\..\builds\web
del %1.love

View File

@ -1,14 +0,0 @@
call "C:\Program Files\7-Zip\7z.exe" a -r %1.zip -w ..\..\ -xr!engine/love -xr!builds -xr!steam -xr!.git -xr!*.moon -xr!conf.lua
rename %1.zip %1.love
copy /b "love.exe"+"%1.love" "%1.exe"
del %1.love
mkdir %1
for %%I in (*.dll) do copy %%I %1\
for %%I in (*.txt) do copy %%I %1\
copy %1.exe %1\
del %1.exe
call "C:\Program Files\7-Zip\7z.exe" a %1.zip %1\
del /q %1\
rmdir /q %1\
copy %1.zip ..\..\builds\windows\
del %1.zip

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,98 +0,0 @@
LÖVE is an *awesome* framework you can use to make 2D games in Lua. It's free, open-source, and works on Windows, Mac OS X, Linux, Android, and iOS.
[![Build Status: Windows](https://ci.appveyor.com/api/projects/status/u1a69u5o5ej1pus4?svg=true)](https://ci.appveyor.com/project/AlexSzpakowski/love)
Documentation
-------------
We use our [wiki][wiki] for documentation.
If you need further help, feel free to ask on our [forums][forums], our [Discord server][discord], or our IRC channel [#love on OFTC][irc].
Compilation
-----------
### Windows
Follow the instructions at the [megasource][megasource] repository page.
### *nix
Run `platform/unix/automagic` from the repository root, then run ./configure and make.
$ platform/unix/automagic
$ ./configure
$ make
When using a source release, automagic has already been run, and the first step can be skipped.
### macOS
Download the required frameworks from [here][dependencies] and place them in `/Library/Frameworks/`.
Then use the Xcode project found at `platform/xcode/love.xcodeproj` to build the `love-macosx` target.
### iOS
Download the `ios-libraries` zip file corresponding to the LÖVE version being used from [here][dependencies-ios],
unzip it, and place the `include` and `libraries` subfolders into LÖVE's `platform/xcode/ios` folder.
Then use the Xcode project found at `platform/xcode/love.xcodeproj` to build the `love-ios` target.
See `readme-iOS.rtf` for more information.
### Android
Visit the [Android build repository][android-repository] for build instructions.
Repository information
----------------------
We use the 'default' branch for development, and therefore it should not be considered stable.
Also used is the 'minor' branch, which is used for features in the next minor version and it is
not our development target (which would be the next revision - version numbers are formatted major.minor.revision.)
We tag all our releases (since we started using mercurial), and have binary downloads available for them.
Experimental changes are developed in the separate [love-experiments][love-experiments] repository.
Contributing
------------
The best places to contribute are through the Bitbucket issue tracker and the official Discord server or IRC channel.
For code contributions, pull requests and patches are welcome. Be sure to read the [source code style guide][codestyle].
Builds
------
Releases are found in the 'downloads' section on bitbucket, are linked on [the site][site],
and there's a ppa for ubuntu, [ppa:bartbes/love-stable][stableppa].
There are also unstable/nightly builds:
- Most can be found [here][builds].
- For ubuntu linux they are in [ppa:bartbes/love-unstable][unstableppa]
- For arch linux there's [love-hg][aur] in the AUR.
Dependencies
------------
- SDL2
- OpenGL 2.1+ / OpenGL ES 2+
- OpenAL
- Lua / LuaJIT / LLVM-lua
- FreeType
- ModPlug
- mpg123
- Vorbisfile
- Theora
[site]: http://love2d.org
[wiki]: http://love2d.org/wiki
[forums]: http://love2d.org/forums
[discord]: https://discord.gg/rhUets9
[irc]: irc://irc.oftc.net/love
[dependencies]: http://love2d.org/sdk
[dependencies-ios]: https://bitbucket.org/rude/love/downloads/
[megasource]: https://bitbucket.org/rude/megasource
[builds]: http://love2d.org/builds
[stableppa]: https://launchpad.net/~bartbes/+archive/love-stable
[unstableppa]: https://launchpad.net/~bartbes/+archive/love-unstable
[aur]: http://aur.archlinux.org/packages/love-hg
[love-experiments]: https://bitbucket.org/bartbes/love-experiments
[codestyle]: https://love2d.org/wiki/Code_Style
[android-repository]: https://bitbucket.org/MartinFelis/love-android-sdl2

Binary file not shown.

View File

@ -1 +0,0 @@
915310

View File

@ -1,10 +0,0 @@
"lang"
{
"english"
{
"tokens"
{
"#StatusFull" "%text%"
}
}
}

View File

@ -1696,7 +1696,6 @@ function init()
'magnetism', 'insurance', 'dividends', 'haste', 'rearm', 'ceremonial_dagger', 'burning_strike', 'lucky_strike', 'healing_strike', 'psycholeak', 'divine_blessing', 'hardening', 'magnetism', 'insurance', 'dividends', 'haste', 'rearm', 'ceremonial_dagger', 'burning_strike', 'lucky_strike', 'healing_strike', 'psycholeak', 'divine_blessing', 'hardening',
} }
steam.userStats.requestCurrentStats()
new_game_plus = state.new_game_plus or 0 new_game_plus = state.new_game_plus or 0
if not state.new_game_plus then state.new_game_plus = new_game_plus end if not state.new_game_plus then state.new_game_plus = new_game_plus end
current_new_game_plus = state.current_new_game_plus or new_game_plus current_new_game_plus = state.current_new_game_plus or new_game_plus
@ -1709,12 +1708,6 @@ function init()
main:add(MainMenu'mainmenu') main:add(MainMenu'mainmenu')
main:go_to('mainmenu') main:go_to('mainmenu')
--[[
main:add(BuyScreen'buy_screen')
main:go_to('buy_screen', run.level or 1, run.units or {}, passives, run.shop_level or 1, run.shop_xp or 0)
-- main:go_to('buy_screen', 7, run.units or {}, {'unleash'})
]]--
--[[ --[[
gold = 10 gold = 10
run_passive_pool = { run_passive_pool = {
@ -1823,13 +1816,6 @@ function update(dt)
state.sx, state.sy = sx, sy state.sx, state.sy = sx, sy
state.fullscreen = false state.fullscreen = false
end end
--[[
if input.f11.pressed then
steam.userStats.resetAllStats(true)
steam.userStats.storeStats()
end
]]--
end end
@ -1910,10 +1896,8 @@ function open_options(self)
'silencing_strike', 'culling_strike', 'lightning_strike', 'psycholeak', 'divine_blessing', 'hardening', 'kinetic_strike', 'silencing_strike', 'culling_strike', 'lightning_strike', 'psycholeak', 'divine_blessing', 'hardening', 'kinetic_strike',
} }
max_units = math.clamp(7 + current_new_game_plus, 7, 12) max_units = math.clamp(7 + current_new_game_plus, 7, 12)
main:add(BuyScreen'buy_screen')
locked_state = nil locked_state = nil
system.save_run() system.save_run()
main:go_to('buy_screen', 1, 0, {}, passives, 1, 0)
end, text = Text({{text = '[wavy, ' .. tostring(state.dark_transitions and 'fg' or 'bg') .. ']restarting...', font = pixul_font, alignment = 'center'}}, global_text_tags)} end, text = Text({{text = '[wavy, ' .. tostring(state.dark_transitions and 'fg' or 'bg') .. ']restarting...', font = pixul_font, alignment = 'center'}}, global_text_tags)}
end} end}
end end
@ -2095,7 +2079,6 @@ function open_options(self)
self.quit_button = Button{group = self.ui, x = gw/2, y = gh - 25, force_update = true, button_text = 'quit', fg_color = 'bg10', bg_color = 'bg', action = function() self.quit_button = Button{group = self.ui, x = gw/2, y = gh - 25, force_update = true, button_text = 'quit', fg_color = 'bg10', bg_color = 'bg', action = function()
system.save_state() system.save_state()
steam.shutdown()
love.event.quit() love.event.quit()
end} end}
end, 'pause') end, 'pause')

View File

@ -11,9 +11,6 @@ function MainMenu:on_enter(from)
slow_amount = 1 slow_amount = 1
trigger:tween(2, main_song_instance, {volume = 0.5, pitch = 1}, math.linear) trigger:tween(2, main_song_instance, {volume = 0.5, pitch = 1}, math.linear)
steam.friends.setRichPresence('steam_display', '#StatusFull')
steam.friends.setRichPresence('text', 'Main Menu')
self.floor = Group() self.floor = Group()
self.main = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile', 'force_field', 'ghost'}) self.main = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile', 'force_field', 'ghost'})
self.post_main = Group() self.post_main = Group()
@ -118,7 +115,6 @@ function MainMenu:on_enter(from)
end} end}
self.quit_button = Button{group = self.main_ui, x = 37, y = gh/2 + 34, force_update = true, button_text = 'quit', fg_color = 'bg10', bg_color = 'bg', action = function(b) self.quit_button = Button{group = self.main_ui, x = 37, y = gh/2 + 34, force_update = true, button_text = 'quit', fg_color = 'bg10', bg_color = 'bg', action = function(b)
system.save_state() system.save_state()
steam.shutdown()
love.event.quit() love.event.quit()
end} end}
self.t:every(2, function() self.soundtrack_button.spring:pull(0.025, 200, 10) end) self.t:every(2, function() self.soundtrack_button.spring:pull(0.025, 200, 10) end)

3
run.sh 100644 → 100755
View File

@ -1,4 +1,3 @@
#!/bin/bash #!/bin/bash
cd E:/a327ex/SNKRX love .
engine/love/love.exe --console .