Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
25 May, 2013, 06:35:46 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: 1 ... 9 10 [11] 12   Go Down
  Print  
Author Topic: DOA -  (Read 12682 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #150 on: 26 February, 2012, 07:11:57 »
+2

PROGRESS UPDATE:

I've been spending a ton of time optimizing the game, and so far I've gotten the game engine compiling down to 49816 bytes, and it's faster than ever!

Hopefully when I have the yet again rewritten save and load game features working, I'll be ready to release another alpha for testing. Right now, the save game feature works, but the code to load the game from the save file does not! :O

I'm not really sure what's going wrong right now either. Undecided
Logged
Xeda112358
Xombie. I am it.
Coder Of Tomorrow
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Last Login: 23 May, 2013, 22:01:23
Date Registered: 31 October, 2010, 08:46:36
Location: Land of Little Cubes and Tea, NY
Posts: 3760


Total Post Ratings: +610

View Profile
« Reply #151 on: 26 February, 2012, 17:54:33 »
0

Well, my initial reaction was Ü and then it went to ö. That is really awesome! shocked I hope you can figure out where stuff got broken! Cheesy
Logged



Grammer Download (2.29.04.12)
Latest update (possibly incomplete)
My pastebin
Spoiler for FileSyst:
FileSyst is an application that provides a folder and filesystem for the TI-83+/84+ calculators. It is designed to be easy to access and use in BASIC, and it can be used to access game files and save data, or to create a command prompt, among other things:

Spoiler for Graphiti:
This is a graph explorer for graph theory. It will require lots of work to finish. Currently you can:
Add/delete vertices
Add edges (direction not shown, but they are directed)
Arrange vertices in a circle (in the future, you will be able to define levels of rings and the number of nodes in each)
Create complete graphs quickly

Plans:
Add adjacency matrix viewer
Deleting edges
Multiple graphs support
Arrows for directed graphs
Planarity testing
Matrix operations
Weighted edges
Chromatic polynomials
Chromatic numbers

Spoiler for Stats:

Samocal             [o---------]
Virtual Processor   [o---------]
EnG                 [oo--------]
Grammer             [ooo-------]
AsmComp             [ooo-------]
Partex              [oooo------]
BatLib              [oooooooo--]
Grammer82           [----------]
Grammer68000        [----------]


Pseudonyms:  Zeda, Xeda, Thunderbolt
Languages:   English, français
Programming: z80 Assmebly
             Grammer
             TI-BASIC (83/84/+/SE, 89/89t/92)
Known For:   -Creator of the Grammer programming language
              (Winning program of zContest2011)
             -BatLib- One of the most feature packed libraries for BASIC programmers available
              with over 100 functions and a simple programming language
             -Learning to program z80 in hexadecimal before using an assembler (no computer was
              available!)
╔═╦╗░╠═╬╣▒║ ║║▓╚═╩╝█


Jim Bauwens
Lua! Nspire! Linux!
Editor
LV10 31337 u53r (Next: 2000)
*
Offline Offline

Gender: Male
Last Login: Today at 00:26:08
Date Registered: 28 February, 2011, 22:32:12
Location: Belgium
Posts: 1733


Total Post Ratings: +180

View Profile WWW
« Reply #152 on: 26 February, 2012, 22:42:44 »
0

Nice too see progress!
Maybe you could post the saving code, so maybe we can look into it? Cheesy
Logged

AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #153 on: 27 February, 2012, 01:39:25 »
0

If any of you can spot what I did wrong, I would greatly appreciate it. I'm not sure what's going on with this, but I haven't looked into it too deeply yet. 

This part works, it generates the file, with the correct tag and all that stuff.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
void SaveGame(short type_of_game)
{

short i,x,y;
const char const* filename = type_of_game ? "doasava" : "doasavb";

// size of file:
short totalDataSize =
sizeof(gameglobals) + 21 +
(8 * MAX_LEVEL_SPRITES) +
((14 * NR_SPRITE_TYPE_DEFS) * 2) +
(sizeof(FATSPRITE) * MAX_SPRITES) +
(sizeof(SpriteStruct) * MAX_SPRITES) +
(sizeof(SwitchStruct) * MAX_NR_SWITCHES) +
(sizeof(GlassWall) * MAX_GLASS_WALLS) +
(sizeof(ExplodingFalseWall) * MAX_NR_DOORS) +
(sizeof(PushableWall) * MAX_NR_DOORS) +
(sizeof(LockedDoor) * MAX_NR_DOORS) +
(4 * TOTAL_NR_WEAPONS) +
(4 * gg.nr_doors);

HSym hsym = SymAddMain(SYMSTR (filename));
if (hsym.folder == 0) return;
SYM_ENTRY *SymPtr = (DerefSym(hsym));
SymPtr->handle = HeapAlloc(totalDataSize);
if (SymPtr->handle == H_NULL) return;

unsigned char *VarPtr = HLock(SymPtr->handle);

if (VarPtr == NULL) return;


*(unsigned short*)VarPtr = (totalDataSize - 2);
VarPtr+=2; // 2

*(unsigned short*)VarPtr = fc.cam_xpos;
VarPtr+=2;  // 4
*(unsigned short*)VarPtr = fc.cam_xpos;
VarPtr+=2; // 6
*(unsigned short*)VarPtr = fc.cam_orientation;
VarPtr+=2; // 8

*(short*)VarPtr = nr_item_sprites;
VarPtr+=2; // 10
*(short*)VarPtr = nr_static_sprites;
VarPtr +=2; // 12
*(short*)VarPtr = nr_dynamic_sprites;
VarPtr +=2; // 14

memcpy(VarPtr,&gg,sizeof(gameglobals));
VarPtr += sizeof(gameglobals);

for (i = 0; i <MAX_LEVEL_SPRITES; i++)
{
*(short*)VarPtr = item_sprites[i];
VarPtr+=2;
*(short*)VarPtr = static_sprites[i];
VarPtr+=2;
*(short*)VarPtr = dynamic_sprites[i];
VarPtr+=2;
*(short*)VarPtr = sprite_checked[i];
VarPtr+=2;
}

for (y = 0; y < NR_SPRITE_TYPE_DEFS; y++)
{
for (x = 0; x < 7; x++)
{
*(short*)VarPtr = sprite_action_steps[y][x];
VarPtr+=2;
*(short*)VarPtr = sprite_action_nr_sprites[y][x];
VarPtr+=2;
}
}

for (i = 0; i < MAX_SPRITES; i++)
{
memcpy(VarPtr,&sprites[i],sizeof(FATSPRITE));
VarPtr+=sizeof(FATSPRITE);
memcpy(VarPtr,&sprt_data[i],sizeof(SpriteStruct));
VarPtr+=sizeof(SpriteStruct);
}

for (i = 0; i < MAX_NR_SWITCHES; i++)
{
memcpy(VarPtr,&Switches[i],sizeof(SwitchStruct));
VarPtr+=sizeof(SwitchStruct);
}

for (i = 0; i < MAX_GLASS_WALLS; i++)
{
memcpy(VarPtr,&glass_walls[i],sizeof(GlassWall));
VarPtr+=sizeof(GlassWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(VarPtr,&exploding_false_walls[i],sizeof(ExplodingFalseWall));
VarPtr+=sizeof(ExplodingFalseWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(VarPtr,&push_walls[i],sizeof(PushableWall));
VarPtr+=sizeof(PushableWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(VarPtr,&lockedDoors[i],sizeof(LockedDoor));
VarPtr+=sizeof(LockedDoor);
}

for (i = 0; i < TOTAL_NR_WEAPONS; i++)
{
*(short*)VarPtr = weapon_array[i]->have_weapon;
VarPtr+=2;
*(short*)VarPtr = weapon_array[i]->ammo;
VarPtr+=2;
}

FATDOOR *doorsarray = FAT_GetDoorsArray();

for (i = 0; i < gg.nr_doors; i++)
{
*VarPtr = doorsarray[i].type;
VarPtr++;
*VarPtr = doorsarray[i].state;
VarPtr++;
*(unsigned short*)VarPtr = doorsarray[i].position;
VarPtr+=2;
}


*VarPtr = 0;       // 15
VarPtr++;
*VarPtr = 'd';     // 16
VarPtr++;
*VarPtr = 'o';     // 17
VarPtr++;
*VarPtr = 'a';     // 18
VarPtr++;
*VarPtr = 's';     // 19
VarPtr++;
*VarPtr = 0;       // 20
VarPtr++;
*VarPtr = OTH_TAG; // 21


HeapUnlock(SymPtr->handle);
}

This part always generates a protected memory violation.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
short LoadGame(short type_of_game)
{
short i,x,y;
const char const* filename = type_of_game ? "doasava" : "doasavb";

        // open file returns the pointer to the actual data in the file, past the size bytes.
unsigned char* VarPtr = OpenFile(filename);

if (VarPtr == NULL) return 0;

fc.cam_xpos = *(unsigned short*)VarPtr;
VarPtr+=2;  // 4
fc.cam_xpos = *(unsigned short*)VarPtr;
VarPtr+=2; // 6
fc.cam_orientation = *(unsigned short*)VarPtr;
VarPtr+=2; // 8

nr_item_sprites = *(short*)VarPtr;
VarPtr+=2; // 10
nr_static_sprites = *(short*)VarPtr;
VarPtr +=2; // 12
nr_dynamic_sprites = *(short*)VarPtr;
VarPtr +=2; // 14

memcpy(&gg,VarPtr,sizeof(gameglobals));
VarPtr += sizeof(gameglobals);

for (i = 0; i <MAX_LEVEL_SPRITES; i++)
{
item_sprites[i] = *(short*)VarPtr;
VarPtr+=2;
static_sprites[i] = *(short*)VarPtr;
VarPtr+=2;
dynamic_sprites[i] = *(short*)VarPtr;
VarPtr+=2;
sprite_checked[i] = *(short*)VarPtr;
VarPtr+=2;
}

for (y = 0; y < NR_SPRITE_TYPE_DEFS; y++)
{
for (x = 0; x < 7; x++)
{
sprite_action_steps[y][x] = *(short*)VarPtr;
VarPtr+=2;
sprite_action_nr_sprites[y][x] = *(short*)VarPtr;
VarPtr+=2;
}
}

for (i = 0; i < MAX_SPRITES; i++)
{
memcpy(&sprites[i],VarPtr,sizeof(FATSPRITE));
VarPtr+=sizeof(FATSPRITE);
memcpy(&sprt_data[i],VarPtr,sizeof(SpriteStruct));
VarPtr+=sizeof(SpriteStruct);
}

for (i = 0; i < MAX_NR_SWITCHES; i++)
{
memcpy(&Switches[i],VarPtr,sizeof(SwitchStruct));
VarPtr+=sizeof(SwitchStruct);
}

for (i = 0; i < MAX_GLASS_WALLS; i++)
{
memcpy(&glass_walls[i],VarPtr,sizeof(GlassWall));
VarPtr+=sizeof(GlassWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(&exploding_false_walls[i],VarPtr,sizeof(ExplodingFalseWall));
VarPtr+=sizeof(ExplodingFalseWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(&push_walls[i],VarPtr,sizeof(PushableWall));
VarPtr+=sizeof(PushableWall);
}

for (i = 0; i < MAX_NR_DOORS; i++)
{
memcpy(&lockedDoors[i],VarPtr,sizeof(LockedDoor));
VarPtr+=sizeof(LockedDoor);
}

for (i = 0; i < TOTAL_NR_WEAPONS; i++)
{
weapon_array[i]->have_weapon = *(short*)VarPtr;
VarPtr+=2;
weapon_array[i]->ammo = *(short*)VarPtr;
VarPtr+=2;
}

FATDOOR *doorsarray = FAT_GetDoorsArray();

for (i = 0; i < gg.nr_doors; i++)
{
doorsarray[i].type = *VarPtr;
VarPtr++;
doorsarray[i].state= *VarPtr;
VarPtr++;
doorsarray[i].position = *(unsigned short*)VarPtr;
VarPtr+=2;
}

CloseFile(filename);

// the game engine may not have the correct number of sprites to work with, so
// set it to what we loaded from the file.
fc.nr_sprites = gg.number_total_sprites;

// this part here has to be here, because the texconfig pointers for each sprite
// may be pointing to some random place in archive memory, that may not correspond
// to the textures anymore, so I just use the function I already have to
// set the current texture frame for the current animation, to set the
// pointers back to what they should be.

for (i = 0; i < fc.nr_sprites; i++)
{
SetSpriteToCurrentAnimationFrame(&sprites[i],&sprt_data[i]);
}

return 1;
}

Logged
Lionel Debroux
LV10 31337 u53r (Next: 2000)
**********
Offline Offline

Gender: Male
Last Login: Yesterday at 22:19:32
Date Registered: 17 December, 2009, 09:37:25
Location: France
Posts: 1854

Total Post Ratings: +208

View Profile WWW
« Reply #154 on: 27 February, 2012, 08:14:48 »
0

Protected Memory Violation is triggered when writing to NULL or nearby addresses (where the vector table is)...
I cannot see any mistakes that are all too obvious here. Check that all structs you save and restore through memcpy do not contain pointers, which must be reinitialized to match the new runtime conditions in a different run of DOA.
Logged

Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.
DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Offline Offline

Gender: Male
Last Login: Today at 04:23:20
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50233


Total Post Ratings: +2615

View Profile WWW
« Reply #155 on: 22 March, 2012, 22:25:32 »
0

I'm glad this was still progressing. Hopefully the coding issue is resolved without too much hassle. Smiley
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #156 on: 27 March, 2012, 04:25:23 »
0

PROGRESS FINALLY:

I now have the save/load feature working as long as you save/load while the game is already running. Now the task is to get it working for when you start the game up and want to continue from where you left off. It's proving difficult due to the large amount of data that has to be stored/recalled and not have any of it screw up a sequence in the loading. To give you an idea of the amount of data that needs to be stored:

Saving the game on the first level generates a save file of 15295 bytes.

That's a bit more than half of the entire ram of a ti-82. This game has a ton going on internally.

EDIT:

Turns out, the loading is pretty quirky. It works in certain situations, but there are problems in other situations. I  have some ideas on how to fix it though, so I may have a solution before too long. We'll see.
« Last Edit: 27 March, 2012, 04:37:35 by AaroneusTheGreat » Logged
DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Offline Offline

Gender: Male
Last Login: Today at 04:23:20
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50233


Total Post Ratings: +2615

View Profile WWW
« Reply #157 on: 27 March, 2012, 04:42:01 »
0

Glad to see you (and some progress) again Smiley

Yeah saving can be annoying, plus you have to be careful about dependencies on variables and stuff. X.x
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #158 on: 15 April, 2012, 07:10:39 »
0

Good to see you as always too DJ.

Progress update:

Well I made a little progress. I've got the story mode game saving/loading working 100% now, but in the process I decided it was best to take away the ability to save during the mini-game. It kind of defeats the purpose of the mini-game to be able to save, the object is to stay alive as long as possible.

I'm also working on fixing a little feature that got broken during the major rewrite. When you kill a robotic enemy, they are supposed to drop items, but it's not working quite right. When they do drop the items, you can't pick them up for whatever reason. I'm probably missing some minute detail, but haven't figured out what that could be yet.

Next on the list is more levels and tasks. I'm open to suggestions as to different types of tasks to accomplish to make the game more dynamic.

Hopefully there will be more to come soon! I am trying to focus on getting something significant done each week with this, we'll see how well it goes. :p I'll let you all know when I do though.
Logged
DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Offline Offline

Gender: Male
Last Login: Today at 04:23:20
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50233


Total Post Ratings: +2615

View Profile WWW
« Reply #159 on: 15 April, 2012, 08:22:05 »
0

Yeah I still visit the chat and sometimes the forums, although not as much as a few years ago and often take breaks. I'm glad more progress was done. Hopefully you can fix the bugs without too much hassle.


New screenshot soon? Tongue
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
Lionel Debroux
LV10 31337 u53r (Next: 2000)
**********
Offline Offline

Gender: Male
Last Login: Yesterday at 22:19:32
Date Registered: 17 December, 2009, 09:37:25
Location: France
Posts: 1854

Total Post Ratings: +208

View Profile WWW
« Reply #160 on: 15 April, 2012, 08:47:04 »
0

Good to see more progress Smiley
Logged

Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.
AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #161 on: 16 April, 2012, 17:42:36 »
0

Thanks guys, here's a screenshot of the current little detail I added. When you die in the minigame, there is now a screen telling you how many rounds you survived.

I can't really do animated screenshots right now, I've had trouble with CalcCapture lately.

I'm working on a few other details right now, but they're not really visible things at the moment. Mostly internal bug fixes. As it is there's not really any major bugs. I haven't been able to make the code crash, but there's some quirks here and there I'm working out. I'll keep you posted if I make any more progress.


* screenshot000.png (14.43 KB, 484x258 - viewed 52 times.)
Logged
Xeda112358
Xombie. I am it.
Coder Of Tomorrow
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Last Login: 23 May, 2013, 22:01:23
Date Registered: 31 October, 2010, 08:46:36
Location: Land of Little Cubes and Tea, NY
Posts: 3760


Total Post Ratings: +610

View Profile
« Reply #162 on: 16 April, 2012, 17:44:58 »
0

Nice o.o I like the fonts, by the way Smiley
Logged



Grammer Download (2.29.04.12)
Latest update (possibly incomplete)
My pastebin
Spoiler for FileSyst:
FileSyst is an application that provides a folder and filesystem for the TI-83+/84+ calculators. It is designed to be easy to access and use in BASIC, and it can be used to access game files and save data, or to create a command prompt, among other things:

Spoiler for Graphiti:
This is a graph explorer for graph theory. It will require lots of work to finish. Currently you can:
Add/delete vertices
Add edges (direction not shown, but they are directed)
Arrange vertices in a circle (in the future, you will be able to define levels of rings and the number of nodes in each)
Create complete graphs quickly

Plans:
Add adjacency matrix viewer
Deleting edges
Multiple graphs support
Arrows for directed graphs
Planarity testing
Matrix operations
Weighted edges
Chromatic polynomials
Chromatic numbers

Spoiler for Stats:

Samocal             [o---------]
Virtual Processor   [o---------]
EnG                 [oo--------]
Grammer             [ooo-------]
AsmComp             [ooo-------]
Partex              [oooo------]
BatLib              [oooooooo--]
Grammer82           [----------]
Grammer68000        [----------]


Pseudonyms:  Zeda, Xeda, Thunderbolt
Languages:   English, français
Programming: z80 Assmebly
             Grammer
             TI-BASIC (83/84/+/SE, 89/89t/92)
Known For:   -Creator of the Grammer programming language
              (Winning program of zContest2011)
             -BatLib- One of the most feature packed libraries for BASIC programmers available
              with over 100 functions and a simple programming language
             -Learning to program z80 in hexadecimal before using an assembler (no computer was
              available!)
╔═╦╗░╠═╬╣▒║ ║║▓╚═╩╝█


AaroneusTheGreat
Anti-Riot Squad
LV6 Super Member (Next: 500)
*
Offline Offline

Last Login: 19 May, 2013, 23:50:14
Date Registered: 30 August, 2008, 16:17:37
Posts: 309

Topic starter
Total Post Ratings: +23

View Profile
« Reply #163 on: 17 April, 2012, 03:45:21 »
0

The credit for the font goes to David Randall. He designed them and wrote the function for drawing them to the screen. I was focusing on gameplay stuff at the time and he volunteered to do the font stuff. Several people's hands have been at this game besides my own. All of which will be mentioned in the credits/readme when it comes time to release the game.
Logged
Xeda112358
Xombie. I am it.
Coder Of Tomorrow
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Last Login: 23 May, 2013, 22:01:23
Date Registered: 31 October, 2010, 08:46:36
Location: Land of Little Cubes and Tea, NY
Posts: 3760


Total Post Ratings: +610

View Profile
« Reply #164 on: 17 April, 2012, 03:49:59 »
0

Oh, cool Smiley
Logged



Grammer Download (2.29.04.12)
Latest update (possibly incomplete)
My pastebin
Spoiler for FileSyst:
FileSyst is an application that provides a folder and filesystem for the TI-83+/84+ calculators. It is designed to be easy to access and use in BASIC, and it can be used to access game files and save data, or to create a command prompt, among other things:

Spoiler for Graphiti:
This is a graph explorer for graph theory. It will require lots of work to finish. Currently you can:
Add/delete vertices
Add edges (direction not shown, but they are directed)
Arrange vertices in a circle (in the future, you will be able to define levels of rings and the number of nodes in each)
Create complete graphs quickly

Plans:
Add adjacency matrix viewer
Deleting edges
Multiple graphs support
Arrows for directed graphs
Planarity testing
Matrix operations
Weighted edges
Chromatic polynomials
Chromatic numbers

Spoiler for Stats:

Samocal             [o---------]
Virtual Processor   [o---------]
EnG                 [oo--------]
Grammer             [ooo-------]
AsmComp             [ooo-------]
Partex              [oooo------]
BatLib              [oooooooo--]
Grammer82           [----------]
Grammer68000        [----------]


Pseudonyms:  Zeda, Xeda, Thunderbolt
Languages:   English, français
Programming: z80 Assmebly
             Grammer
             TI-BASIC (83/84/+/SE, 89/89t/92)
Known For:   -Creator of the Grammer programming language
              (Winning program of zContest2011)
             -BatLib- One of the most feature packed libraries for BASIC programmers available
              with over 100 functions and a simple programming language
             -Learning to program z80 in hexadecimal before using an assembler (no computer was
              available!)
╔═╦╗░╠═╬╣▒║ ║║▓╚═╩╝█


Pages: 1 ... 9 10 [11] 12   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.325 seconds with 31 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.