=========================================================================================================================================
VERSION 2.0.0 BETA 1
=========================================================================================================================================
- revamp na UI da edição de inimigos
- hit-area dos inimigos deve ser determinada pelo tamanho do sprite to tipo atual atual (fazer um por tipo para simplificar)
    # criar função get_hitbox em character
        @ classMap::collision_player_npcs
            % character::getPosition()
            % character::get_size()
    # modificar editor para que tamanho do hitbox seja 1 por tipo de animação
- criar novo tipo de link, igual ao teleporte, só que sem o jogador se teleprotar (como na fase charge de mm5)
        * tela escurece
        * jogador reaparece no ponto do teleporte, caindo
- chefe já derrotado está aparecendo quando se entra na sala (posição está na original, não ajustada para o chefe)
    * idem para chefe normal, aparece antes de descer
- inércia está colocando o jogador dentro de paredes (só da esquerda para direita)
- separar dialog strings em arquivos próprios, um por estágio
    * retirar IDs dos dialogos, já que pode ser direta a correspondência
- game strings estão bagunçadas, fora de ordem (duplo \n)
- colocar aviso de copyright e engine antes da tela de abertura independente de se tem intro
- quando trocar arma com L/R, mostrar ícone acima da cabeça do player por 1 segundo e meio
- corrigir FIO para salvar e carregar dados novos de game properties
- air thrower está movendo jogador para dentro de paredes ignorando colisão
- mudar default do attack_n de npcs para -1 (está sempre setando o primeiro frame)
- implementar attack_n no jogo
- olhar abelhas fly arc. elas batem na parede mas não muda IA para próximo estado
- abelhas zig-zag as vezes atravessam a parede
- chefe não está aparecendo no fim da fase
- objetos do mapa antigo ficam na mesma posição no mapa novo, na transição
- "tornar players e inimigos transparentes"piscar" personagens quando atingidos.
- is_ghost está ligado por padrão ao criar novo inimigo
- está saindo do ANIM_HIT as vezes (caindo e movendo para lados)
- ajustar melhor posição da imagem hit.png e usar a criada pelo boberatu
- manter scroll do fundo quando troca de tela
- remove intro/ending, as it will now be scenes
FILE-FORMAT-V4:
    - both player and enemies must have aprojectile-position that determines his arm/cannon position, so we can fire attack from the position.
    - each stage can have its own tileset (optional, otherwise, uses default)
    - all char[] must be replaced by a seek_n that points to the strings file/table
    - two strings file:
        * one they key is a enum and are used in-game
        * two is the ones that player can add such as dialogs
    - string types:
        * dialog, limit DIALOG_LINE_LIMIT (30)
    - no not use short in file-format, to avoid endian issues (Wii)
- check if stage have the autoscroll flag
- slide não está funcionando com novo hitbox
- após cair em buraco, jogador morre novamente quando estágio reinicia (deve estar com Y sem mudar)
- usar fade-out quando morrer
- implementar checagem de colisao npcs x objetos
- fade-teleport link não estár setando scrollX do novo mapa
- se inverte direção logo após iniciar uma queda, dá para ficar preso na parede
- ao cair de escadas, estao ficando preso na parede
- projétil "ring" só dá dano no oponente se bater em cima ou em baixo, podendo passar pelo meio dele
- EDITOR: origem do projétil deve aparecer se x OU y for diferente de zero
- EDITOR: na origem do projétil, x deve ser espelhado na animation preview
- AI: adicionar ação EXECUTE ATTACK (pode escolher qualquer um dos ataques, não apenas os projéteis)
- AI: adicionar change anim type: aciona uma animação qualquer da lista de tipos
- em shot projectile/attack, não mudar para anim_type_attack se estiver já em outro tipo de ataque
- EDITOR: a cada 20 colunas, deve ter uma vermelha para indicar espaçamentos de tela
- EDITOR: seleção de anim-tile está errada (linha x coluna)
- se NPC estiver morto, continuar movendo projectiles
    # remover no map as chamadas a clean_projectiles()
    # no npc execute(), chamar só move_projectiles() se estiver morto
- criar opção de debug no jogo para mostrar hitboxes de player e inimigos
- ver como colocar app na amazon
- projétil do jogador deve usar hitbox dos inimigos para ver se atingiu
- quando tiver reaction de spawn npc ao morrer, inimigo deve explodir (colocar animações de explosão)
- quando estiver acima do raio horizontal, não pode levar dano
- projétil dos inimigos deve usar hitbox do player para ver se atingiu
- FREE VERSION:
    # "define" no makefile
    # "free version" na tela de intro
    # só pode selecionar Rockbot
    # apenas 4 estágios (alem da intro) podem ser selecionados (usar os 4 das pontas)
    # não tem skullcastle
    # não pode usar password
- hitbox debug do jogo está aparecendo errada quando tem scrolling
- máxima velocidade de gravity deve ser menor. para teleport continua a antiga.
- investigar se get_hit_area() está levando em conta esquerda/direita e já adiciona posição, como fazer get_hitbox()
- chefe e sub-chefe, ao morrer, deve remover projéteis
- melhorar posicionamento de drop-item (evitar dentro da paredes, fazer centro do item aparecer no centro no inimigo)
- corrigido knock-off (push-back) quando em pulo
- plataformas não podem considerar espinhos como sólidos na colisão
- se atingido nas escadas, está ficando preso e não cai
    # deve ser por conta do ajuste da hitbox, tem que mover um pouco o player quando mudar para anim_type_jump ou stand
- EDITOR: combos de arquivos devem ser ordenadas alfabeticamente
- EDITOR/FILE: adicionar, por padrão, frame[0] de stand nos NPCs que não os tiverem
- EDITOR: sempre selecionar primeiro frame (se houver), caso contrário desabilitar botões correspondentes a edição do mesmo
- no final da fase do kurupira, objetos do mapa/local errado estão aparecendo na transição vertical de tela
- se tamanho de strings do arquivo common for menor que strings_ingame_COUNT, adidionar entradas faltando
- ANDROID: recriar build
- ANDROID: configurar botões L, R, START (topo da tela), A, B, X, Y
- adicionar opção disabled em option
    # assim não precisa ficar examinando se item está ativo para determinar o que fazer
    # se item desabilitado é selecionado, opção deve não retornar, mas continuar (e dar som de erro)
- adicionar QUIT dentro das configurações
- limpar input antes de mostrar seta em caixa de dialogo (para não poder remover o diálogo apertando o botão antes da hora)
- se fizer slide abaixo de um raio de fogo, toma dano
- opções de diálogos (nome, rosto, olhos na seleção de fase) estão hardcoded no jogo quando já tem opções para isto no editor
- último diálogo no início do estágioe stá mostrando face do inimigo ao invés da do jogador
- opção de turbo nas configurações
- correção de rostos (troca beta x candy)
- melhores rostos de diálogos para candy e kitty
- aumentar altura da tela de boss intro para caber chefes grandes como o Gear
- não deve poder passar com start as telas de presents e notice/engine
- implementar modo turbo no botão de ataque
- EDITOR: desenhar easy/hard tiles (usar cores com transparência para identificar)
- player está parando alguns pixels antes da plataforma
- blocos tipo fall/up não estão colidindo com o jogador via esquerda/direita
- se um único bloco trancar um jogador totalmente (X e Y), deve matá-lo
- AI deve ser 1x1 para NPC
    # ao criar um NPC, criar um AI
    # se não houver AI para um dado NPC, editor deve criá-la
    # retirar seleção de AI no inimigo
    # retirar edição de nome de AI (usar nome do inimigo)
- player está parando antes da hora quando estágio reinicia ao morrer antes de alcançar um checkpoint
- fazer a barra de vida/armas como porcentagem.
    # usar tamanho 50, cada pixel equivale a 2% da vida
    # assim dá para ter heart containers sem modificar o tamanho da barra, cada coração poderá dar 10% a mais de vida
- EDITOR: na ediçao de player, ao mudar arma, nao esta atualizando weapon menu bg color
- seleçao de arma via weapon_menu nao esta funcionando
- diminuir tamanho da tela de seleção de armas para encaixar melhor novo tamanho das barras de energia
- ao entrar no menu de armas, todas as barras estão azul, deviam estar cinza
- no menu de armas, não está mudando a cor do frame do player
- opção setar volume música e volume SFX
- mudar "ready" para ser desenhado com fonte/texto de jogo
- mapa não deve ser mover (autoscroll) enquanto a mensagem de ready não acabar
- trilhos estão se movendo no sentido errado
- scroll está mudando a posição dos ícones de armas
- nova tela de seleção de personagem, estilo mm10
- candy está podendo andar enquanto atira na diagonal
    # é porque ataque cima/baixo e ataque andando não estão durando o que deveriam
- se candy está caminhando e atira, deve resetar de anim_type_walk_attack para anim_type_attack, já que ela não pode caminhar atirando
- ataque caminhando continua não ficando por tempo o suficiente
- ataque caminhando chega no fim da animação e não reseta (fica no último frame para sempre)
- ao matar chefe da fase intro está teleportando de volta para a própria fase (está só como sub-boss)
- se player tiver duplo pulo, não deve ter dash nem slide
- só começar música do chefe quando acabar de encher a barra de energia dele (após diálogos)
- só remover dash/slide após passar pela porta
- easy blocks só estão funcionando para o primeiro mapa
- não deve fazer som de pulo ao finalizar um teleporte
- a flecha de diálogo só deve aparecer quando todas as frases forem escritas
- in-game manual
- colocar no manual características de cada personagem (pulo carregado, slide, etc)
- colocar no manual, dica que dash + pulo vai mais longe
- mudar audio enabled/disabled para uma única opção (on/off)
- mudar opções de escala para ser uma única opção (unscaled, scaled, scale2x)
- opções leave stage e quit game só devem aparecer quando as opções forem invodadas por dentro do menu de armas
- se deixa o estágio e retorna, não tem player nem sequer o menu de quit aparece (algum loop doido no meio)
- está aparecendo o jogador após a explosão quando morre e antes de sumir a tela (deve ser no fade out?)
- player está piscando como hit após morrer e estágio reiniciar (deve zerar no restart_stage)
- neve não está caindo
- olhos candy fora posição seleção
- remover bug de segurar cima/baixo nas escadas
- frames faltando na candy (attack up/down)
- mudar cores candy para sombra ser no vestido e não pés e mãos.
- podendo pular e acessar link na parte plataformas valkyrie. Tem que ser mais baixo no fim perto escada.
- teleporte após morrer está  caindo na fase dragon com chão de 1 linha de tiles (multiplicando checkpoint por tilesize)
- dialogo boss ainda mostra último rosto errado
- colocar bg scroll speed no dragon
- no android, na fase do Phantom fica lento quando tem janelas
    # convertidas todas as imagens de fundo e tileset para pelata optimizada de cores
- inimigo para ao cair/pular em cima de objetos tipo pílula (npcs deveriam ignorá-los como colisão)
- antes da porta do chefe, no intro-stage, tem uma série de pílulas de energia que estão sumindo (usar atalho)
    # parece que as pílulas pequenas é que são o problema e somem
    # estavam setadas como "player-item", então eram removidas ao trocar de mapa
- ao morrer na fase do phantom, no início, está voltando dentro do solo
    # função que chega ponto de parada está com algum bug, se muda velocidade máxima do teleporte para 10 tb dá problema
- não está morrendo ao cair em precípicio
- ao morrer, inimigo deve remover todos os projéteis de efeito (quake, flash, wind-push)
- ao usar coil item não está podendo agarrar escadas
- ao chegar na direita máxima do scrolling, está indo um tile além da tela, mostrando lixo
- novo tipo de projétil: raio (lighting)
- projétil lighting ignora escudos de player e inimigos
- shot ahead está virando para o player. isso é ruim pq tem casos em que é bom o inimigo "errar"
- tirar código que faz chefes não se teleportarem até o chão se voam
- EDITOR: corrigir swap stages
    # faces e diálogos
    # paleta
- trocar estágios:
    zodiac <-> phantom
    dragon <-> snow
- não está tocando som custom de projéteis de armas para player usando-as
- lighting deve tocar som mais vezes, a cada novo raio
- tirar empurrador do início da parte de plataformas da fase da valkyrie
- AI: criar action REPLACE. O inimigo some deixando outro em seu lugar
    # como spawn NPC, mas não precisa morrer nem duplicar
- AI: replace itself estava fazendo spawn de 2 inimigos
- não tocar o som de ataque padrão se for disparado por um inimigo
- place Armor Pieces:
    # legs -> valkyrie
    # body -> gear
    # arms -> dragon
- importar alguns gráficos de inimigos do Rockbot1:
    # milonga, gambit, bunny/tophat, metool tophat, spinner ball, tamanduá, wheels penguim, jet beetle
- adicionar sons para alguns projéteis inimgos como raio, laser, etc
    # procurar algum pacote de sound effects free
    # http://www.themotionmonkey.co.uk/free-resources/retro-arcade-sounds/?gclid=cjwkeajw_7y4brdykp3hjqyt_y0sjacome3t8xvex6blwqyn6b6fvnixsveqlga7j9xnaejbue_ilxoc2z3w_wcb
    # https://www.freesound.org/search/?q=thunder
- AI: adicionar opção AHEAD para action TELEPORT
- AI: nova ACTION circular player:
    # parâmetro distância (raio)
    # anda linearmente até player.y e player.x - distancia
    # dá 3 voltas circulares
    # sorteia novo ponto para retornar, do lado oposto ao que veio
    # vai para o novo ponto e volta ao descanso
- EDITOR: permitir adicionar frames de teleport (está desabilitado pq era usado para outra coisa)

- AI: move_to_point deve respeitar screen-lock para não deixar a tela
    # se naquele ponto só tem blocos, não deve atravessar mesmo sendo fantasma
- CRITICAL: garantir que teleport jamais passe reto. Se função que procura primeiro block falahar (>=RES_H) parar no meio da tela
    # na fase do dragon, ao morrer nos espinhos logo no início já causa problema...
    # no início do estágio usa: player1.set_teleport_minimal_y((min_y-3)*TILESIZE);
    # ao morrer usar: min_y = loaded_stage.get_teleport_minimal_y_tile(85)*TILESIZE; // x = 70 + half a player width (30)
    # e player1.set_teleport_minimal_y(min_y-3);
- inimigo ao retornar do teleporte (tipo mummy), não está mostrando animação (special attack)
- AI: criar jump-attack-up e jump-attack-ahead: no topo do pulo, dispara
    # se já estiver no ar voando ou pulando, apenas atira (com animação jump_attack)
- AI: adicionar nova action set animation REVERSE (do último ao primeiro frame)
- correção de bug na animação reversa que ia para frame_n "-1"
- unify player eyes position in stage selection screen
- fix teleport after dying when reached checkpoint setting min_y to wrong value
- mesmo quando já tem save, está ficando com o cursor em new game
- inimigos estão caindo da plataforma (vide mede-mede)
    # acontece quando a hitbox é menor the o frameSize.h
- fazer os ícones de armas e barras de energia dependentes do tamanho dos ícones que deve ser obtido pela imagem deles (h/2)
- trocar o som de recharge para items grandes por um que já existe na pasta de sfx
- diálogos de boss estão fora de ordem (mostrando frases de posição errada)
- projétil TRAJECTORY_TARGET_DIRECTION deve procurar só NPCs que estejam para o lado que estiver virado
- ao disparar TRAJECTORY_TARGET_DIRECTION ajustar sprite de ataque (diagonal) dependendo da direção que o target estiver
    # este cálculo hoje está no próprio projétil, pode fazer uma função public que char acessa para saber
- inimigo tipo fall/jump não deve reaparecer na sua posição original logo que é dado respawn
- quando inimigo morrer por cair, não pode mostrar explosão nem dar item (porque estão aparecendo no meio ou topo da tela)
- lista de gráficos de personagens movida para graphlib
- lista de gráficos de personagens revertida de ponteiro
    # se a versão do Wii tem problemas com isso, vamos achar outra forma de corrigir o problema no Wii
- AI move to player deve andar primeiro a distância maior (x oy y), para só quando estiverem iguais, começar a andar na diagonal
- inimigo em estado "disguise" não deve colidir com o jogador
- não está removendo charged shot ao terminar um estágio e começar um novo
    # ao terminar um estágio com turbo mode ligado, fica atirando sozinho ao recomeçar
    # as vezes, turbo mode fica atirando sozinho
    # provável efeito colateral das mudanças feitas para suportar o auto-fire
    # criar função que apenas determina se dee atirar
        # usa o estado anterior do botão de ataque e só dispara se 0=>1 ou 1=>0 e carregado
        # guarda tempo quando estado do botão passa de 1=>0 para verificar tiro carregado
        # retorna 0 (sem tiro), 1 (tiro normal), 2 (carregado)
- ANDROID: trocar imagens controle touch
- ANDROID: desabilitar menu config da SDL
- ANDROID: desabilitar por padrão o filtro de vídeo
- pulo do rockbot está curto (video fase valkyrie)
- tucano na fase da valkyrie impede de passar plataformas
- ANDROID: inimigos ainda estão caindo através do cenário, vide estágio valkyrie
    # só acontece no android
- acelerar texto dos dialogos
- AI: criar novo item AI, esperar tempo randomico
    # sorteia um delay-to-next entre 0 e parâmetro (1 a 10)
- está trancando ao pular na escada para cair (hitbox)
- se mudar direção rápido, tranca no cenário
    #deixar hitbox igual para duas direções
- fly to player deve mirar a parte de baixo (pés) do jogador
- configuração de botões não está funcionando
- configuração de botões deve mostrar tecla ou botão do joystick selecionado
- joe azul está com escudo pelas costas tb
- quando um inimigo/chefe tiver sprites de teleporte, ao chegar no chão deve mudar para stand
- add darkbot #1 to intro stage
- ao selecionar item na config, o cursor desce um nível
    # efeito colateral de mudar a posição por causa do return
    # quando entrar num item, deve resetar posição
- config buttons reset to default não está funcionando
- na configurações de botões, não pode mudar BACK, que é usado para sair para outra tecla
- não deixar sair da configuração de botões de pulo, tiro ou START estão como -1
- crash na luta contra seahorse
- melhorar AI Seahorsebot (virar para player para atacar)
- peixe azul da fase seahorse está piscando
- transição em estágio com auto-scroll não está funcionando direito
- está podendo entrar no menu de armas antes de aparecer o diálogo do estágio
- duplicar pontos de vida dos chefes, assim ficará bem difícil matar eles só com tiro normal
- cursor está ficando em new game novamente, mesmo quando tem save
- quando houver screen_adjust, deve mover apenas o mapa, não o fundo da tela
- implementar efeito "trem"
- as vezes, ao atirar rápido, aparece um semi-charged shot sem que tenha sido carregado
- slide parando quando não tem espaço acima
- em estágio com autoscroll, ao voltar da morte, deve esperar um pouco sem scroll, como faz no diálogo de entrada da fase
- criar sub-menu para cada plataforma na config
    # PC: fullscreen
    # PSP: keep aspect ratio
    # ANDROID: play services, touch controls hide, touch controls enabled
    # WII: controller type (gamecube, classic, wiimote)
    # PS2: resolution (poder escolher uma das que melhor se encaixam, mesmo que corte a tela um pouco)
        256x224 - good
        288x224 - good (strange colors?)
        256x256 - ?
        320x200 - distortion
        320x240 - distortion
        320x256 - distortion (small)
        400x256 - distortion
        512x448 - good but small


- fix spike immunity by adding new method only for spike-damage
- verificar se, ao sair de um estágio já completo, está salvando items (armor)
- checkpoint sala do ape no lugar errado
- esqueci de adicionar tiles de porta nas que aumentei altura
- adicionar função para converter save antigo (v1) para novo (v2) em save_exists
    # somente se em "Rockbot1"

###################### (release notes foi até aqui em cima) ######################

- separar leitura de input em uma thread
- EDITOR: permitir definir pontos do castelo
- fazer npcs não-voadores atingirem o chão ao carregar lista de npcs do mapa
- EDITOR::CENA: não pode adicionar a própria cena como sub-cena, pois cria loop infinito
- EDITOR::CENA: adicionar botão para recalcular w/h com base na imagem e recalcular ao mudar imagem
    # animation
    # viewpoint
    #image
- criar efeito wave (sinoidal) para ser usados sobre surfaces
- melhorar timing do efeito de fade-out
- GFX lighting-storm para estágios como o mummy
- cancela a thread em game::exit_game() e espera ela sair
- aviso de que precisa reiniciar o jogo, nas configs, não está aparecendo
- não está limpando direito a tela após aviso de "need restart" na config
- substituir chamadas a input.waittime por timer.delay
- melhor leitura de input com uso de microssegundos no lugar de SDL_Delay no loop da thread
- leitura de input na tela de seleção de armas está ruim (deve ter algum delay)
- draw centered text está fora de posição no PSP
- jogo está quebrando ao inicializar sem quickload
- adicionar read_input em todos os loops while que usem input
- não está conseguindo pular cenas na intro com velho método de input sem thread
- reverter para sistema sem thread na leitura de input, já que várias plataformas deixam de funcionar com ela
- quando pulo alto for iniciado só por água usar aceleração próxima à normal se não estiver na água
- vida deve mostrar apenas o rosto do jogador selecionado
- está podendo pular em meio ao air-dash
- ajustar tolerância para achar as cores e substituir nos jogadores de 5 para 6
- EDITOR: não está mais alterando as cores do personagem se ele usa um colorscape de 8-bits
- usar novamente SDL_DisplayFormat para imagens a fim de optimizar jogo
- jogo está travando nos diálogos
- editor está salvando diálogos com quebras a mais de linha
- se tem um muro acima, dash anda indefinidamente
- se dash (air) for bloqueado, deve encerrar imediatamente
- corrigir scroll do fundo quando vindo da esquerda para a direita
- EDITOR: remover BG2, deixar apenas um único fundo para performance.
- EDITOR: melhorar UI na groupBox de terrenos, npcs e objetos para ter scroll e mais área usada
- configuração de direções além dos botões
- resetar config se segurar dois botões quaisquer de joystick por 5 segundos na tela de game-start ou select-game
- config button não está mostrando tela de "pressione botão" e fica com enter ou sai direto
- correção memory leak em surfaces
- EDITOR: não está atualizando fundo ao mudar de mapa (rockbot1, daisie->seahorse)
- EDITOR: tornar color-key transparente nos fundos de tela
- ROCKBOT-1: ajuste dos pontos do castelo
- ROCKBOT-1: edição sala de chefe Searhorse tornando terro regular para evitar ficar trancado
- AI: adicionar fly to random x e fly to random y
- dash debaixo d'água parece estar mais lento que andar
- se tiver flag BETA_VERSION definida, mostra msg tipo "app contém erros"
- trocar #ifdef DEMO_VERSION por método em game que também verifica se o jogo escolhido é "Rockbot2"
- mover pasta games/rockbot2 para svn fechado
- DEMO deve ser intro + 2 fases apenas
- EDITOR: colocar diálogo de salvar ao sair no editor principal, assim como na janela de scenes e strings
- EDITOR::SCENES: está quebrando ao trocar seletor na tab de imagem (está apontando para anim_list e não img_list)
- EDITOR::SCENES: resetar campos quando janela for aberta (senão continua com anterior e dá crash)
- EDITOR: se muda de fase com fundo para uma sem fundo, não apaga
- não está desenhando dynamic-bg ao transicionar tela (usar mesma lógica do novo draw_dynamic no draw_in_surface)
- arquivo texto de créditos do jogo
- pode interromper créditos se estiver vendo pelo menu principal
- colisão ao inverter posição ainda está fazendo jogador "entrar" nas paredes
    # principalmente em escadas
    # quando mudar direção, só inverter flag, não mover
- diminuir pontos de vida dos chefes (x2 é muito, fazer x1.5)
- borda da barra de energia de chefes deve ser preta, não roxa
- EDITOR: não está recarregando cenas na aba game-scenes ao fechar janela de cenas nem trocar de aba
- EDITOR: botão de play-scene não está pegando a cena selecionada, mas a primeira da lista
- está ficando preso ao ser atingido (muda esquerda/direita sem parar)
- fases da demo: kurupira e snow
- criar chefe kurupira: 41x53 x 25 frames
- colocar inimigos na fase kurupira
- DEMO deve ter tela final agradecendo e pedindo comprar full-version
    # pressionando qualquer botão, volta à seleção
- última linha do diálogo de início de fase parece estar errada
- dash não está funcionando quando teto é baixo (kurupira)
- as vezes slide é interrompido e jogador é empurrado rapidamente para trás
- in free version, in stage-selections creen, user can't pick snow, but rather zodiac
- slide/dash not working underwater
- teleport frame without transparency
- new kind of teleporter that set scroll to the first lock on left or right from the destination point
- Fixes for Rockbot1:
    # Gamebit projectile too slow
    # Bat has too many hit points
    # missing tiles in Seahorse's boss room
    # castle5 teleporters get scroll out of position
- warning on intro about the free version
- remove final-boss flag from air-pusher
- setar destrin como final boss no rockbot1
- adicionar opção performance mode
    OK # HIGH: habilita background2 (que vira foreground)
    OK # HIGH: tiles de água ganham uma transparência azul por cima
    OK # LOW: desabilita background com autoscroll
    OK # LOW: target FPS setado para 30, velocidade de movimento x2 (criar global)
- fazer valkyrie ir no chão para soltar raio
- chefe trancando na porta
    # tem que impedir que eles entrem parcialmente dentro de terreno door, nem que expandindo área de colisão neste caso
    # parece que ao atirar projétil ele move para frente e depois para trás
- adicionar "to oposite wall" na IA de walk e dash (como de fly)
- dash de inimigos está muito lento
- criar diálogos para fases demo (intro, snow e kurupira)
- desabilitar opção do google play services por hora
- explosive flag in projectile
- button "R" not working on Abndroid build
- OPTIMIZATION - use a mix of tile-by-tile and screen saving
    # draw visible map (-1, +1) into a surface and use it until scroll changes more than TILESIZE
- map should not set GFX effects unless config is set to high-end performance mode
- high-end performance mode should be the default one
- fix Rockbot 1 projectile that was not converted to new format
- fix crash on player reference when used from classNPC, add method into map class to get player hitbox instead
- not removing GFX effect when returning to a map that does not have it
- fix errors in editor for projectile v2 format
- reenable PSP's turbo CPU mode
- EDITOR: add fix to remove invalid level 3 tiles
- do not try to show invalid surface areas
- fix ice slash graphic
- fix joe set was sub-boss in snow stage
- reset anim-type if one is invalid, not only anim-n
- remove duplicated level3 tiles code
- fix animation trying to show invalid position
- not removing GFX effect when returning to a map that does not have it
- EDITOR: zoom in/out using mouse wheel on editor-area
- music restarting twice when dying
- inferno effect crashes due to incorrect check of surface existance
- firey snake missing walk frames
- holding left+right at same time makes player float in middle-air
- hide GFX when transitioning between maps
- small increase in player movement speed
- made snowbot water jumping part easier
- use player first color of normal weapon as HP color, and first for weapon color also.
- EDITOR: removed weapon color picker
- EDITOR: weapon color preview not working
- there is a piece of another sprite in Rockbot's walk-attack animation
- candy blinking sprite has a small difference from the stand one
- fix not entering stages if finished stages is greater than 8 and in demo-mode
- do not leave game if can't draw an animated-tile
- add SDL_Quit() before all exit() calls, to prevent causing an exception that hides the actual error
- increase show_debug_msg() time to 4 seconds
- criar objeto tipo plataforma que faz dano no player caso esteja pisando após X tempo (garras megaman 3)
- plataforma tipo a active-disappearing, mas que player pode pular de baixo para cima sem colisão
- objeto item-coil deve parar sobre espinhos para que player possa pular sobre eles o usando
- primeira animação de objeto funciona, na segunda vai direto para último frame
- se habilitar animation reverse, não reseta slim-platform para estado hidden false
- se estiver em teleport, player deve ignorar colisão com objetos
- add adjust-y of +1 for object collision, so player walking from a platform won't be blocked when there is an object in same y
- player must be able to jump-up when inside obj_item_coil or obj_item_jet
- while teleporting, object must not collide with player or enemies
- EDITOR: copy/paste must also copy the tile3 and lock properties
- item teleporting colors are not being correctly set
- coil item jump acceleration is too slow
- coil item must jump ~6 tiles only
- increase slide speed
- damage platform don't need to be set as player platform for damage, just check if he is above it
- slim platform must block player only if he is above it, not on its middle
- player should not collide with object that is teleporting itself up/down
- change coil item colors to red/white
- coil/jet item animation is not working
- collision with item-jump must add 6px of tolerance in y (hardcoded for now, in the future needs a flag in editor)
- decrease bosses hit points do adjust difficulty
- map drawing ignoring adjust x/y for things like quake effect
- player selection is showing in demo and not in full-game (rockbot 1)
- 3rd level not showing problem
- ROCKBOT 1 issues:
    # charged projectile is slow
    # graphic glitch in intro stage's moon
    # intro stage's dialogs are broken in position
    # tamanduá not walking
    # giant fly graphic is blinking
    # adjust bosses weak points due to the greater number of hit points in Rockbot2 engine
    # shot crossing through mine cart without damaging it
    # spike won't move:  character::show_sprite_graphic(Spike Bot) #1 - no graphic for type (4):fra
    # game weapon screen must be updated to the positions used on rockbot 2
    # coil item not working
    # firing weapon when using coild/jet crashes the game
    # weapon colors aren't set in editor
- teto ape (castle 5)
- gráficos spike (castle 5)
- colocar umas cápsulas de recarga (castle 5)
- horizontal screen transition (door) missing pause
- spawn NPC crashes on android due to map not being set on new npc
    # use gameControl to handle loop-breaking instead of map
    # set the map on map::spawn_npc
- jumping on water is in normal speed (due to changes for coil)
- after a screen-transition, games become to fast. missing puase call
- objects falling should stop on spikes
- enemy dropping items rate is bad, big weapon pill drops a lot
- hit area do destrin só funciona quando ele está virado para a esquerda
- vulnerable area not working
- game's credits
    # editor (text-file)
- boss credits
    # editor (3 lines for each stage)
- EDITOR: set final boss in the game's properties instead of in the map
- no ending at all
- npc replace-itself reaction not continuing the boss fight
- ending: show each enemy with its name, not only bosses
- take more damage in hard difficulty mode, and less on easy
- add easy blocks in Rockbot1
- update player selection sprites
- fix player selection name position
- enemies should not be killed or damaged by death-ray
- effects, foreground and 3rd layer above HUD
- foreground stopped showing, use same alpha from first map if same image
- hit animation in bosses must be added into the middle of its hitarea
- use player face instead of skull in stage-select screen
- add map animation in stage-select screen
- add "press start" in stage-select screen
- disable language selection
- EDITOR: scenes clear-area color picker not getting RGB (gets a gray)
- when passing through a door, old hp-bar shows up
- chain projectile must not be reflected, must be interrupted instead
- lower SFX volume and change shot SFX
- add credits (stage-select): http://funky93.deviantart.com/art/Custom-Map-Tileset-86220256
- for player char that have simultaneous shots, armor special attack must become default, not charged
- air dash not working for candy with armor
- new sounds for hadouken, shouryuken and super shot
- set weakness default to 0 instead of 1 to make it work again
- add to credits:
    # http://modarchive.org/index.php?request=view_by_moduleid&query=76738 (sfx, stage select)
    # http://modarchive.org/index.php?request=view_by_moduleid&query=127339 (skull castle intro)
    # http://modarchive.org/index.php?request=view_by_moduleid&query=85147 (got weapon)
- remove increased damage taken by player in hard-mode difficulty as it makes impossible to play with candy
- save point godess status like mana or tiny dd
    # computer terminal (CHKPNT) that activates
    # https://opengameart.org/content/communication-terminal-32x32
- set player default projectile
- add "kitty" shot that apperars in select screen for kitty charged shot (or armor)
- new projectile types:
    # fibonacci spiral
    # ball bouncing
- player projectiles are being reflected in some enemies
    # it is testing hitbox first then hitartea, it should be the other way around
- add black border to hub ball points
- copy credits from v1 to Rockbot1/game_credits.txt
- ao trocar de mapa num estágio, deve limpar objetos temporários (dropped-items, for example)
- sub-boss not dropping item (must drop energy big always)
- EDITOR: map showing full-size (multiple frames) instead of just 1
- projectile generate left/right flipping surface instead of have the image with both
- add up until castle2 stage5 into the enum
- stage selector must show if stage was beaten
- add new stage-selection style to Rockbot1
- increase coil jump height back
- make train effect faster
- reset screen adjust when transitioning screens
- projectiles are still being reflected sometimes (beast walking on opposite direction)
- show HUD when transitioning screens (both door/horizontal as vertical)
- teleport-objects must be draw after player
- don't set player teleport when using link (not object) teleport link
    # after killing boss in catle 5 (rockbot2) it won't return from teleporter
    # this prevents player returning to the previous teleport-link after killing a boss
    # as now only object teleporters are meant to have this functionality, it is uneeded in links
- when placing a teleporter object, cursor does not leave destiny mode
- fix object teleporter destiny point number on editorarea
- player is teleporting out after beating boss, not stage-boss
- beastbot AI was reset
- don't show dialogs if not stage_boss
- chain projectile is inverted in rockbot1
- stage select shows all skull castle stages instead of just the first
- in free-version, stage select now won't allow you to enter stages that are not free
- new charged projectiles by kaithehedgefox10@deviantart
- new hadouken Bongwater-bandit@deviantart

##########################################################################################

- ending in android won't show player running
- flying bosses should not stop only in the ground, but middle-screen
- fix fly-to-random-point changing direction and always goind left
- set move-type to air-walk if boss presenting ends without reaching ground

########################################## 2.00.083 ##########################################

- new boss-intro style rokko chan's opening or X boss presentation
- improved HUD with 4 slices for each energy dot
- change to air-walk when flying
- add a check to avoid a button with zero size
- add multiple save file selection
- finish android's touch button size configuration
    # apply right when changed option
    # fix positions
- implement android's hide touch buttons
- add a flag in config called first_run. If is default (true), ask if want to enable play services and cloud save
- set android's touch buttons transparency to 40%
- finish cloud save load/write
    # separate option from play services
    # create warning when enabling the service
    # when loading/writting a save, show connectiong dialog
    # check all 5 slots if no save is present
    # when enabling the cloud save service, load data for all slots
    # when checking if enable load in main screen, try to get cloud data, if none
- fix teleport left/right/ahead leaving boss room
- add two more stages to the demo:
    # snowbot not showing as enabled
    # add Phantom and Gear stages
        * must add phantom boss
- remove 30 fps mode, it won't work well anyway
    # find other ways to improve speed
- fix spawn npc by adding to a temp list and only adding new enemies into npc_list at the end of loop
- flying enemies are missing shots: need to add walk/fly frames
- when enemy is teleporting, should not get hit while teleport animation isn't finished yet
- refactory teleport to avoid boss leaving room or teleporting inside walls
- android's touch controls always increasing when changing size
    # backup original_size when initializing
- make buttons small size as medium
 if stage runs too slow, automatically change to medium performance mode
- EDITOR: dialogs are being reset on editor
- EDITOR: when selecting cancel on leave dialog, must stay in app

########################################## 2.00.087 ##########################################
- finish file selection bar (show icons for all stages, e-tanks, lifes)
- add a warning that play services can crash the game in some devices when enabling it
- add show fps option (useful for players complaining about speed)
- remove the play services configuration from first boot
- fix AI teleport for bosses that are out of screen due to initial position Y
- fix enemies collision for unused frames, use sprite_pos and frame_size instead
- add auto-charge option in input config
- fix vulnerable area once again after fix for unused frames, return empty when not used
- [Rockbot1] fix missile direction graphics
- new projectile trajectory: out of screen to the npc/player
- remove jump and other moves FROM kurupira bot that uses frames without the boar
- add option to projectile to make possible for it not to disappear after hitting an NPC
- AI: morph into - becomes another NPC without changing HP and some other flags


########################################## 2.00.089 ##########################################
- new stage select screen based fighting games
- new sprites for energy/weapon
- super-fast after passing through a boss door
- door should activate transition only if py > link.y
- after passing through a scroll-lock, autoscroll needs a bit of delay before restarting
- dash + shield makes player move backwards and enter inside walls
- input config is reading for a command when leaving
- missing shield button in input config
- when returning from a config item in menu, place cursor on it
- adjust chances of item dropping (http://tasvideos.org/RandomGenerators.html)
- EDITOR: remove text from armor-edit, as if comes from game strings
- EDITOR: remove castle points
- fix spawn-npc executing twice in AI
- limit spawn npc in AI to avoid tons of spawned npcs (3 is a good number)
- 1-up dropping ratio is too high, use timer as seed for random generator
- problem with collision when w is smaller than max

########################################## 1.20.038 ##########################################
- convert save to new name
- add screens for bosses intros
- add fly sprites to enemies
- add teleport sprites to enemies that use teleport AI
- remove castle/path presentation
- not showing bosses names on credits
- returning to castle5 on new-game after beating the game
- na fase do mage, uma cartola faz span de coelhos que caem para dentro do cenário: https://drive.google.com/open?id=0B7z1XNbjQajDbFJaVXVGYndTNlRWbzdJMGU1eVEtTGIxLWxJ
- castle 5 - parafusos somem quando entram no chão e não voltam


###################################### 1.20.039/2.00.091 ######################################
- change map objects and enemies to a self-contained list
- add difficulty to object and enemies placing,s o you can add enemies that will appear only in hard-mode
- missing d-pad and A buttons on rockbot1 stage select screen
- fix controller button configuration
- intro text leaving a bit uncleared on the right side
- create draw_centered_text function that uses white font -> put colors into defines.h
- must clear text on the stage-select screen, when changing stages
- add Andrew Przelucki to credits
- disable the cloud-services in Android

########################################### 1.20.040 ##########################################
- increase castle stage number in pck_stage after beating one
- remove symbol conversion ins trings, as the issue with encoding seems to be fixed now
- disable languages other than english and portuguese in config
- in config, clear the whole area of text when creating a new config (full RES_W)
- ROCKBOT1: finish translation dialogs
- ROCKBOT1: adjust damage from weapons, make spike damage ape and lower damage ape takes from normal
- text about unlocked char appearing on credits on main menu
- credits on main mainu not working (not showing text)
- remove stars as it does not match the new visual identity
- save cursor position in main menu
- restore progressive text (use inputLib::waitScapeTime)
- EDITOR: fix problem with scenes text edit
- EDITOR: error changing weapon in armor edit
- if player has double-shot, special weapon (armor) must respect the number of projectiles as normal ones
- ready message is not centered
- in got armor dialogs, must use the weapon name, as we changed this from the old ability-type

########################################### 2.00.092 ###########################################

- translate "you got" text
- change "presents" image on intro
- add on intro text that game is homebrew
- ROCKBOT1: mispell ravok on intro, should be havok
- ROCKBOT1/2: change projectiles, weapons and enemies names to uppercase
- won't reset from walk-attack to stand-attack if keep firing even if not moving
- EDITOR: do now allow an enemy with player name
- AI: add fly-sin-y
- new type of shield walk + stand (is shielded in both cases)
- improve and translate for pt-BR the beta version warnings from intro
- dog boss gets locked on boss-intro/gravity due to water in castle1 stage
- can't attack if using shield
- increase speed in stairs
- after screen-transitioning, stairs animation (left/right) stops for a while due do pause
- fixes for enemy teleport animation and AI
- add check for android touch controls max-size value

###################################### 1.20.041/2.00.094 ######################################
- add reset timer to enemies and objects on game_unpause
- foreground layer get doubled and out of position when transitioning maps up/down
- objects and enemies must check for difficulty-ground terrain types
- EDITOR: show error in name when using one that already exists
- re-add spawn to gear bot's mecha AI
- coil frog respawning when you return to the map you used it
- new teleport animation for player without falling down on start-start
- new damage sprites for player
- new player death animation and fade-out effect
- press attack button to return from new/load game save selector
- sub-menus in config must remember picked option
- reload stage music if boss-music is playing, fixes #42
- better text for the "weapon acquired"
Fix #45: Beta can dash past leftmost screen side
Fix #48: BlueShield enemy takes frontal damage
Fix #49: Robot goes behind the save computer
Fix #51: Infoway: turret/cannon is too high
Fix #52: Infoway: pop-up enemies on stairs are displaced

###################################### 2.00.103 ######################################
- new animation for coil and jet teleport
#54: Infoway: pop-up enemies on stairs are displaced
#74: Change metools to attack on player direction
#77: Hero displacement at checkpoint restart
#80: Power-ups disappear when going into inventory
#83: Correct variable names in fly-to-ran(x/y/point)
#84: Dark Mine: secret area blocks are badly synced, no way to get back
#85, #86: Ground turrets displaced
#87: fading blocks get hero stuck
#88: When stage starts, horizontal ray shows cut
#89: When stage starts, vertical ray won't show animation
#96: Fixes for gamepad controller
#93: New projectile types: missile rain and double shot

###################################### 1.20.046 ######################################
=> same from [2.00.103]
- useSDL_gfx rotate in target_exact missiles, fixes #76, #71 and #55
- adjust proguard mapaing location in android's build script, fixes #98
- reset timer to zero for disappearing blocks, fix #64, fix #44
- add debug tools, fix #23
- remove projectiles and npc_freeze_effect when player changes weapon, fix #79
- remove old and deprecated get_hitbox from npc class, use the one from character instead, fix #99
- missing game_save on parameter, fixes #46
- set saved_point on first AI* execution
- implement solution for #70
- remove debug in file-io forgotten by accident
- add missing image for beam projectile
- move player to above platform to prevent him getting stuck, fixes #87
- finish bomb-rain projectile-type
- create large-beam (like a kamehameha) projectile-type
- fix object transition on stairs
- fixes for projectile spawning children
- add command-line parameter to select stage
- fixes for physical joystick config
- new graphics for Dr. Destrin from Boberatu
- make freeze effect stop objects, fixes #69
- missing adjust_y in some object types show method. fixes #68

======================
(2 only)
- set stage-bosses in rockbot2
- charged shot not disappearing once hitting enemy


###################################### 1.20.063 ######################################
make lighting effect transparent with alpha
make enemies projectiles appear above them
fall and up/down platforms must not stop on spikes
more items and checkpoints for easy difficulty
#105: reset jump when starting or restarting stage
#70: remove 3rd level showing on celebration
#95: reset charging sound and reset button state when changing weapons
#100: check direction for second projectiles
#106: do not call update screen when showing BG in boss_presentation
#108 implement crash report system for errors generated by the game-engine itself
#102: update save-slot selection images
#104: add RLE optimization in set_surface_alpha

################
Change drop ratio on enemies depending on picked difficulty.
Only clean confirm/jump button when starting stage.
