Compare commits
5 Commits
44bc904ec2
...
362f1f06a6
Author | SHA1 | Date | |
---|---|---|---|
362f1f06a6 | |||
2f8703c487 | |||
7b0c2e0133 | |||
5591068f1d | |||
43e6160dbc |
34
todo.md
Normal file
34
todo.md
Normal file
@ -0,0 +1,34 @@
|
||||
- [ ] rewrite event queue as a linked list
|
||||
- [ ] rewrite animator stacks as linked lists
|
||||
- [ ] rewrite ship/bullet collections as linked lists
|
||||
- [ ] update/draw mode switching system (high-efficiency version)
|
||||
- [ ] render ship shields (even for large ships)
|
||||
- [ ] duplicate file -- about to split away from Tyrian features
|
||||
|
||||
- [ ] remove PWR meter, replace with weapon queue
|
||||
- [ ] remove power mechanics from _player_ ship (only!)
|
||||
- [ ] all player weapons are now ammo limited except pea shooter
|
||||
- [ ] remove weapon drops
|
||||
- [ ] implement fallback pea shooter
|
||||
- [ ] implement turn timer (screen-height bar)
|
||||
- [ ] implement extremely crude prototype for weapon select intermezzo
|
||||
- [ ] implement "deck"
|
||||
- [ ] implement basic weapon cards
|
||||
- [ ] implement starter deck
|
||||
- [ ] stabilize this with just starter deck and sample level
|
||||
|
||||
- [ ] implement post-encounter "get a card"
|
||||
- [ ] implement deck lister
|
||||
- [ ] implement more cards, mini-encounters for deck buildup
|
||||
- [ ] implement card levels?
|
||||
- [ ] implement card removal (shop?)
|
||||
|
||||
- [ ] actually design a branching encounter sequence
|
||||
- [ ] map
|
||||
- [ ] "minimap"/scanner on weapon picker
|
||||
- [ ] high score board (difficulty x time)
|
||||
- [ ] difficulty increase system
|
||||
- [ ] as much more crap as I can fit in under the token limit, which
|
||||
is probably not much at this point
|
||||
|
||||
- [ ] give up and move to TIC-80 because the token limits
|
@ -11,6 +11,16 @@ lose = 3
|
||||
|
||||
debug = {}
|
||||
|
||||
function usplit(str)
|
||||
return unpack(split(str))
|
||||
end
|
||||
function csv(s)
|
||||
local ret=split(s,"\n")
|
||||
for i,v in ipairs(ret) do
|
||||
ret[i] = type(v) == "string" and split(v) or {v} end
|
||||
return ret
|
||||
end
|
||||
|
||||
function _init()
|
||||
init_bullet_mt()
|
||||
init_powerup_mt()
|
||||
@ -25,14 +35,11 @@ end
|
||||
|
||||
-- health gradients for 1..5 hp
|
||||
-- exactly, then all "more".
|
||||
hpcols_lut = {
|
||||
{36},
|
||||
{34, 136},
|
||||
{34, 130, 136},
|
||||
{34, 34, 130, 136},
|
||||
{34, 34, 34, 130, 136},
|
||||
{34, 34, 34, 130, 130, 136}
|
||||
}
|
||||
hpcols_lut = csv[[36
|
||||
34, 136
|
||||
34, 130, 136
|
||||
34, 34, 130, 136
|
||||
34, 34, 130, 130, 136]]
|
||||
|
||||
-- call after any change to maxhp
|
||||
-- configures health gradient
|
||||
@ -176,24 +183,22 @@ function _draw()
|
||||
fadescreen()
|
||||
end
|
||||
|
||||
local fadetable={
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,129,129,129,129,129,129,129,129,0,0,0,0,0},
|
||||
{2,2,2,130,130,130,130,130,128,128,128,128,128,0,0},
|
||||
{3,3,3,131,131,131,131,129,129,129,129,129,0,0,0},
|
||||
{4,4,132,132,132,132,132,132,130,128,128,128,128,0,0},
|
||||
{5,5,133,133,133,133,130,130,128,128,128,128,128,0,0},
|
||||
{6,6,134,13,13,13,141,5,5,5,133,130,128,128,0},
|
||||
{7,6,6,6,134,134,134,134,5,5,5,133,130,128,0},
|
||||
{8,8,136,136,136,136,132,132,132,130,128,128,128,128,0},
|
||||
{9,9,9,4,4,4,4,132,132,132,128,128,128,128,0},
|
||||
{10,10,138,138,138,4,4,4,132,132,133,128,128,128,0},
|
||||
{11,139,139,139,139,3,3,3,3,129,129,129,0,0,0},
|
||||
{12,12,12,140,140,140,140,131,131,131,1,129,129,129,0},
|
||||
{13,13,141,141,5,5,5,133,133,130,129,129,128,128,0},
|
||||
{14,14,14,134,134,141,141,2,2,133,130,130,128,128,0},
|
||||
{15,143,143,134,134,134,134,5,5,5,133,133,128,128,0}
|
||||
}
|
||||
fadetable=csv[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
1,1,129,129,129,129,129,129,129,129,0,0,0,0,0
|
||||
2,2,2,130,130,130,130,130,128,128,128,128,128,0,0
|
||||
3,3,3,131,131,131,131,129,129,129,129,129,0,0,0
|
||||
4,4,132,132,132,132,132,132,130,128,128,128,128,0,0
|
||||
5,5,133,133,133,133,130,130,128,128,128,128,128,0,0
|
||||
6,6,134,13,13,13,141,5,5,5,133,130,128,128,0
|
||||
7,6,6,6,134,134,134,134,5,5,5,133,130,128,0
|
||||
8,8,136,136,136,136,132,132,132,130,128,128,128,128,0
|
||||
9,9,9,4,4,4,4,132,132,132,128,128,128,128,0
|
||||
10,10,138,138,138,4,4,4,132,132,133,128,128,128,0
|
||||
11,139,139,139,139,3,3,3,3,129,129,129,0,0,0
|
||||
12,12,12,140,140,140,140,131,131,131,1,129,129,129,0
|
||||
13,13,141,141,5,5,5,133,133,130,129,129,128,128,0
|
||||
14,14,14,134,134,141,141,2,2,133,130,130,128,128,0
|
||||
15,143,143,134,134,134,134,5,5,5,133,133,128,128,0]]
|
||||
|
||||
function fadescreen()
|
||||
fadelvl += 0.25
|
||||
@ -240,6 +245,7 @@ function drawgame()
|
||||
drawhud()
|
||||
end
|
||||
|
||||
powcols=split"170,154,153,148,68"
|
||||
function drawhud()
|
||||
-- 112-and-right is hud zone
|
||||
rectfill(112, 0, 127, 127,0x56)
|
||||
@ -253,7 +259,7 @@ function drawhud()
|
||||
dropshadow("pwr",114,59,1)
|
||||
inset(114,66,125,92)
|
||||
fillp(0x5a5a)
|
||||
vertmeter(115,67,124,91,primary_ship.power, primary_ship.max_power, {170,154,153,148,68})
|
||||
vertmeter(115,67,124,91,primary_ship.power, primary_ship.max_power, powcols)
|
||||
|
||||
|
||||
dropshadow("h s",114,97,1)
|
||||
@ -365,8 +371,8 @@ function init_ship_mt()
|
||||
setmetatable(chasey, ship_t)
|
||||
end
|
||||
|
||||
firespark = {9, 8, 2, 5, 1} -- bright spark colors
|
||||
smokespark = {13, 13, 5, 5}
|
||||
firespark = split"9, 8, 2, 5, 1"
|
||||
smokespark = split"13, 13, 5, 5"
|
||||
|
||||
player = {
|
||||
--shape
|
||||
@ -1791,24 +1797,9 @@ blip_fx_t = {
|
||||
}
|
||||
|
||||
function blip(obj, col, frames)
|
||||
obj.fx_pal = {
|
||||
[0] = 0,
|
||||
[1] = col,
|
||||
[2] = col,
|
||||
[3] = col,
|
||||
[4] = col,
|
||||
[5] = col,
|
||||
[6] = col,
|
||||
[7] = col,
|
||||
[8] = col,
|
||||
[9] = col,
|
||||
[10] = col,
|
||||
[11] = col,
|
||||
[12] = col,
|
||||
[13] = col,
|
||||
[14] = col,
|
||||
[15] = col
|
||||
}
|
||||
local p = {[0]=0}
|
||||
obj.fx_pal = p
|
||||
for i=1,15 do p[i]=col end
|
||||
if (obj.___fx_pal_event) obj.___fx_pal_event:abort()
|
||||
local e = {
|
||||
frames = frames,
|
||||
@ -1818,7 +1809,7 @@ function blip(obj, col, frames)
|
||||
add(events, e)
|
||||
end
|
||||
|
||||
bossspark = {7, 7, 10, 10, 9, 9, 9, 8, 8, 8, 2, 2, 5, 5}
|
||||
bossspark = split"7,7,10,10,9,9,9,8,8,8,2,2,5,5"
|
||||
|
||||
function boom(x,y,boominess,is_boss)
|
||||
local sp = firespark
|
||||
@ -1891,7 +1882,7 @@ powerup = {
|
||||
}
|
||||
|
||||
-- sprite indexes for "sheen" animation
|
||||
sheen8x8 = {2, 54, 55, 56, 57, 58, 59, 60, 61}
|
||||
sheen8x8 = split"2,54,55,56,57,58,59,60,61"
|
||||
|
||||
powerup_t = {
|
||||
__index = powerup
|
||||
|
Loading…
Reference in New Issue
Block a user