Doom - CC's first 3D FPS (with online highscores)
Description
Hello everyone! Today I present to you:Small update:Gun bobbing addedDeath animationIt has 3D rendering using my 3D rendering API:http://www.computerc...5-finally-here/Summary:There are two types of e...
Installation
Copy one of these commands into your ComputerCraft terminal:
Pastebin:
pastebin get 6BcdRV75 doom_-_cc's_first_3d_fps_(with_online_highscores)wget:
wget https://pastebin.com/raw/6BcdRV75 doom_-_cc's_first_3d_fps_(with_online_highscores)Archive:
wget https://cc.shobie.xyz/cc/get/pb-6BcdRV75 doom_-_cc's_first_3d_fps_(with_online_highscores)
Quick Install:
wget https://cc.shobie.xyz/cc/get/pb-6BcdRV75 Doom - CC's first 3D FPS (with online highscores)
Usage
Run the program after downloading
Tags
Source
View Original SourceCode Preview
local function update(text)
term.setBackgroundColor(colors.black)
term.setTextColor(colors.white)
term.setCursorPos(1, 9)
term.clearLine()
term.setCursorPos(math.floor(51/2 - string.len(text)/2), 9)
write(text)
end
local function bar(ratio)
term.setBackgroundColor(colors.gray)
term.setTextColor(colors.lime)
term.setCursorPos(1, 11)
for i = 1, 51 do
if (i/51 < ratio) then
write("]")
else
write(" ")
end
end
end
local function download(downloadPath, savePath)
term.setBackgroundColor(colors.black)
term.setTextColor(colors.white)
term.setCursorPos(1, 13)
term.clearLine()
term.setCursorPos(1, 14)
term.clearLine()
term.setCursorPos(1, 15)
term.clearLine()
term.setCursorPos(1, 16)
term.clearLine()
term.setCursorPos(1, 17)
term.clearLine()
term.setCursorPos(1, 13)
print("Accessing https://raw.githubusercontent.com/Xelostar/CCDoom/master/"..downloadPath)
local rawData = http.get("https://raw.githubusercontent.com/Xelostar/CCDoom/master/"..downloadPath)
local data = rawData.readAll()
local file = fs.open(savePath, "w")
file.write(data)
file.close()
end
local function pastebinD(code, savePath)
term.setBackgroundColor(colors.black)
term.setTextColor(colors.white)
term.setCursorPos(1, 13)
term.clearLine()
term.setCursorPos(1, 14)
term.clearLine()
term.setCursorPos(1, 15)
term.clearLine()
term.setCursorPos(1, 16)
term.clearLine()
term.setCursorPos(1, 17)
term.clearLine()
term.setCursorPos(1, 13)
shell.run("pastebin get "..code.." "..savePath)
end
term.setBackgroundColor(colors.black)
term.setTextColor(colors.white)
term.clear()
term.setCursorPos(1, 8)
write("Doom by Xelostar installer. Where do you want Doom to be installed? Path:")
term.setCursorPos(1, 11)
write("Path: ")
local path = read()
term.clear()
term.setCursorPos(13, 2)
term.setTextColor(colors.yellow)
write("Doom by Xelostar installer")
local oldpath = shell.dir()
shell.setDir("/")
local installpath = "/"..fs.combine(path, "Doom")
update("Installing...")
bar(0)
update("Creating directories...")
fs.makeDir(installpath)
bar(0.02)
fs.makeDir(fs.combine(installpath, "images"))
bar(0.04)
fs.makeDir(fs.combine(installpath, "levels"))
bar(0.06)
fs.makeDir(fs.combine(installpath, "models"))
bar(0.08)
update("Downloading license...")
download("LICENSE", "/"..fs.combine(installpath, "LICENSE"))
bar(0.10)
update("Downloading game...")
download("Doom/Doom", "/"..fs.combine(installpath, "Doom"))
bar(0.12)
update("Downloading APIs...")
download("Doom/ThreeD", "/"..fs.combine(installpath, "ThreeD"))
bar(0.17)
download("Doom/bufferAPI", "/"..fs.combine(installpath, "bufferAPI"))
bar(0.22)
pastebinD("ujchRSnU", "/"..fs.combine(installpath, "blittle"))
bar(0.27)
update("Downloading images...")
download("Doom/images/bfire", "/"..fs.combine(fs.combine(installpath, "images"), "bfire"))
bar(0.30)
download("Doom/images/bgun", "/"..fs.combine(fs.combine(installpath, "images"), "bgun"))
bar(0.33)
download("Doom/images/bgunf", "/"..fs.combine(fs.combine(installpath, "images"), "bgunf"))
bar(0.36)
download("Doom/images/bheart", "/"..fs.combine(fs.combine(installpath, "images"), "bheart"))
bar(0.39)
download("Doom/images/fire", "/"..fs.combine(fs.combine(installpath, "images"), "fire"))
bar(0.42)
download("Doom/images/gun", "/"..fs.combine(fs.combine(installpath, "images"), "gun"))
bar(0.45)
download("Doom/images/gunf", "/"..fs.combine(fs.combine(installpath, "images"), "gunf"))
bar(0.48)
download("Doom/images/heart", "/"..fs.combine(fs.combine(installpath, "images"), "heart"))
bar(0.51)
download("Doom/images/logo", "/"..fs.combine(fs.combine(installpath, "images"), "logo"))
bar(0.54)
update("Downloading levels...")
download("Doom/levels/level1", "/"..fs.combine(fs.combine(installpath, "levels"), "level1"))
bar(0.57)
download("Doom/levels/level2", "/"..fs.combine(fs.combine(installpath, "levels"), "level2"))
bar(0.60)
download("Doom/levels/level3", "/"..fs.combine(fs.combine(installpath, "levels"), "level3"))
bar(0.63)
download("Doom/levels/level4", "/"..fs.combine(fs.combine(installpath, "levels"), "level4"))
bar(0.66)
download("Doom/levels/level5", "/"..fs.combine(fs.combine(installpath, "levels"), "level5"))
bar(0.69)
download("Doom/levels/level6", "/"..fs.combine(fs.combine(installpath, "levels"), "level6"))
bar(0.72)
download("Doom/levels/level7", "/"..fs.combine(fs.combine(installpath, "levels"), "level7"))
bar(0.75)
download("Doom/levels/level8", "/"..fs.combine(fs.combine(installpath, "levels"), "level8"))
bar(0.78)
download("Doom/levels/level9", "/"..fs.combine(fs.combine(installpath, "levels"), "level9"))
bar(0.81)
update("Downloading models...")
download("Doom/models/corpse", "/"..fs.combine(fs.combine(installpath, "models"), "corpse"))
bar(0.84)
download("Doom/models/doorx", "/"..fs.combine(fs.combine(installpath, "models"), "doorx"))
bar(0.86)
download("Doom/models/doorz", "/"..fs.combine(fs.combine(installpath, "models"), "doorz"))
bar(0.88)
download("Doom/models/wallx", "/"..fs.combine(fs.combine(installpath, "models"), "wallx"))
bar(0.90)
download("Doom/models/wallz", "/"..fs.combine(fs.combine(installpath, "models"), "wallz"))
bar(0.92)
download("Doom/models/wallxz", "/"..fs.combine(fs.combine(installpath, "models"), "wallxz"))
bar(0.93)
download("Doom/models/emerald", "/"..fs.combine(fs.combine(installpath, "models"), "emerald"))
bar(0.95)
download("Doom/models/enemy1", "/"..fs.combine(fs.combine(installpath, "models"), "enemy1"))
bar(0.97)
download("Doom/models/enemy2", "/"..fs.combine(fs.combine(installpath, "models"), "enemy2"))
bar(0.99)
update("Finishing installation...")
fs.delete("/.std_list")
fs.delete("/.std_websites")
update("Installation finished!")
bar(1)
shell.setDir(oldpath)
sleep(1)
term.setBackgroundColor(colors.black)
term.setTextColor(colors.white)
term.clear()
term.setCursorPos(1, 1)
write("Finished installation!\nPress any key to close...")
os.pullEventRaw()
term.clear()
term.setCursorPos(1, 1)