Author Topic: CaDanITE  (Read 20535 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #15 on: September 08, 2010, 05:14:47 pm »
* DJ Omnimaga hopes it's not all command-prompt-based, though D:
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: CaDanITE
« Reply #16 on: September 08, 2010, 05:59:41 pm »
I love those types of games!!!!

Nice to see there will be an editor. Some people (artsy types) :P could make some really awesome levels for it!

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: CaDanITE
« Reply #17 on: September 09, 2010, 09:56:27 pm »
It won't be a command-prompt. The project is going to be more menu-based than anything else. At the moment, I'm trying to get cross-page calling down. What I have is essentially a variation on the bcall routine. Just ... trying to get it to work.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #18 on: September 09, 2010, 10:28:04 pm »
Ah ok good :D . I hope you can get it to work soon.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: CaDanITE
« Reply #19 on: September 13, 2010, 04:44:05 pm »
Wow, cool!  Good luck Iambian.

* ZTrumpet hands Iambian some cherries. :)

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: CaDanITE
« Reply #20 on: September 16, 2010, 04:08:25 pm »
Slowly progressing. Initial menu now works. Working on an integrated help thing so you can press F1 (Y=) to get details on any menu item your cursor is hovering over. That should be fun.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline JustCause

  • CoT Emeritus
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 810
  • Rating: +115/-5
    • View Profile
Re: CaDanITE
« Reply #21 on: September 16, 2010, 04:10:49 pm »
Excellent. Danmaku editor FTW. If you release this, we may just make your levels for you.
See you, space cowboy...

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #22 on: September 16, 2010, 04:30:16 pm »
Slowly progressing. Initial menu now works. Working on an integrated help thing so you can press F1 (Y=) to get details on any menu item your cursor is hovering over. That should be fun.
Very nice :D

Just make sure that the help isn't too large, though. It would be bad if like 8 KB of the game was just help x.x
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: CaDanITE
« Reply #23 on: September 16, 2010, 09:37:23 pm »
Slowly progressing. Initial menu now works. Working on an integrated help thing so you can press F1 (Y=) to get details on any menu item your cursor is hovering over. That should be fun.
Very nice :D

Just make sure that the help isn't too large, though. It would be bad if like 8 KB of the game was just help x.x
Oh no. This level editor isn't going to be part of CaDan. It's going in its own app, which means I can use as much space as I want for it. I plan for the thing to be 2 pages, but that's for all the text that I'm going to be throwing in. Two pages is probably overdoing it but I wanted something more than just a level editor. I wanted to practice a better way of doing things that might later be incorporated into E:SoR or some other project.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #24 on: September 17, 2010, 01:30:43 am »
Ah ok cool :D. I think it's best to keep editors separate, else people who don't need it ends up wasting 16 additional KB for it x.x
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: CaDanITE
« Reply #25 on: September 20, 2010, 07:32:22 pm »
Help system now works for the most part. You can hit F1 (Y=) to get help topics on just about anything and everything. As I add in more routines, you'd be seeing more stuff come up. After this mess, I'm going to throw together file operations and I'll somehow have to define a data structure for these projects. Ugh.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #26 on: September 20, 2010, 08:03:56 pm »
Good luck!
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: CaDanITE
« Reply #27 on: September 20, 2010, 08:44:17 pm »
Sounds cool.  * ZTrumpet throws Iambian some cherries to help the coding process. ^-^  Good luck! ;D

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: CaDanITE
« Reply #28 on: September 22, 2010, 12:37:37 pm »
Thought of how I am going to store all this data in a sane manner in this CaDanITE project. So I figured I'd go with sort of a miniature file system. The details are below in this code box thinger. I just wanna know if it looks like I'm missing anything, or if you can suggest a better or easier way to do it. Coz right now, I'm not entirely liking the fact that I have to have pretty much a file system for a CaDanITE project file, but it's the best thing I can come up with at the moment.
Code: [Select]
CaDanITE project file structure
Objects not part of the initial table structure gets a preallocated 8 byte name.

;----START OF FILE HEADER
.db $BB,$6D     ;denotes a compiled ASM program
.db $C9         ;If you attempt to run this as an ASM program it exits.
.db "CaDanITE:" ;9 characters that identify this as a CaDanITE level
.db 24chars     ;24 character description header for the project
;----START OF THE DATA FILE TABLE
.org $0000      ;addresses are with respect to this for relocatability
.db NN          ;number of 256-height screens
.dw ScreenDat1  ;address of screen data (specified far below)
.dw ...         ;Every 256 height screen has a boss assigned to it and their
.dw ScreenDatN  ;data pointers will be defined with the screen data
;---
.db NN          ;number of scripts
.dw ScriptDat1  ;address of script data (also defined far below)
.dw ...
.dw ScriptDatN
;---
.db NN          ;number of enemies that can be done
.dw EnemyDat1   ;address of enemy data (defined really far below)
.dw ...
.dw EnemyDatN
;---
.db NN          ;number of path data streams
.dw PathDat1    ;address of path data (uhm...)
.dw ...
.dw PathDatN
;---

;Filetype details:
;ScreenDATA    = 01 ;21 bytes total data size. Contains pointers to other files
;ScreenBITMAP  = 02 ;521 bytes total data size.
;BossAddress   = 03 ;16+1+N(2) bytes where N is # of spellcards. Points to other files
;SplCrdDATA    = 04 ;42 bytes total data size.
;BossGRAPHIC   = 05 ;129 bytes total data size
;BossCharSPR   = 06 ;9 bytes total data size
;BossTEXT      = 07 ;1+2+NN bytes where NN is data stream byte size
;ScriptDATA    = 08 ;1+2+NN bytes where NN is data stream byte size. Pts 2 othr files
;EnemyDATA     = 09 ;8 bytes total data size
;PathDATA      = 0A ;9+1+N bytes, where N is number of step pairs in movement path.

;-----BEGINNING OF CADANITE PROJECT FILE SYSTEM
;ScreenDATA
.db 1 byte      ;FILETYPE
.db 8 bytes     ;name of this data
.dw BossAdr     ;address of boss details ($0000=not set yet)
.dw ScreenBtm   ;address of 64x64 area indicating bottom screen
.dw ScreenBtmLp ;address of 64x64 area indicating bottom loop
.dw ScreenTopLp ;address of 64x64 area indicating bottom loop
.dw ScreenTop   ;address of 64x64 area indicating bottom screen (boss)
.db ScrollDelay ;A value between 1-9. A higher value means slower scroll.
.db LevelLoop   ;A value between 1-128. A higher value means the stage loops more.

;ScreenBITMAP
.db 1 byte      ;FILETYPE
.db 8 bytes     ;name of this 512 byte chunk of data
.db 512 bytes   ;screen data

;BossAddress
.db 1 byte      ;FILETYPE
.db 8 bytes     ;name of this entity
.db BossScript  ;Address to the boss script. lumped together with scripts
.dw BossGraphic ;Address to 32x32 boss graphic
.dw BossCharSpr ;Address to 8x8 boss sprite
.dw BossText    ;Address to boss dialog text
.db NN          ;number of spellcards in the game
.dw SplCrdAdr1  ;Address to the spellcard graphic
.dw ...
.dw SplCrdAdrN

;SplCrdDATA
.db 1 byte      ;FILETYPE
.db 8 bytes     ;8 bytes for spellcard graphic name
.db 1 byte      ;indicates normal bracket or special bracket for spells
.db 4*8 bytes   ;32 bytes for spellcard text underlay (overlay will be autobuilt)

;BossGraphic
.db 1 byte      ;FILETYPE
.db 128 bytes   ;graphic. Tied to name of boss

;BossCharSpr
.db 1 byte      ;FILETYPE
.db 8 bytes     ;graphic. Tied to name of boss

;BossText
.db 1 byte      ;FILETYPE
.dw StreamSize  ;size of text file unknown. Tied to name of boss.
.db "textdata"  ;formatted for whatever. Uh. Details unknown. Won't get to it soon :P

;ScriptDATA
.db 1 byte      ;FILETYPE (boss and stage scripts gets a different filetype)
.dw StreamSize  ;size of the script file
.db N bytes     ;Script contents

;EnemyDATA
.db 1 byte      ;FILETYPE
.db 1 byte      ;enemy type flags
.db 2 bytes     ;Starting (x,y) position
.db 1 byte      ;Initial HP
.db 1 byte      ;Script ID
.dw cyclecount  ;Initialize this enemy at this cycle count (0-65535)

;PathDATA
.db 1 byte      ;FILETYPE
.db 8 bytes     ;Name of this path
.db StreamSize  ;number of bytes that this path can take. Up to 128 (256 steps)
.db N bytes     ;bytes in the path stream
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55858
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CaDanITE
« Reply #29 on: September 22, 2010, 12:58:06 pm »
Mhmm that's a bit long x.x, Idk if I'Lll be able to figure out myself if stuff is missing, especially since there's a lot of z80 in there x.x
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify