dos33fsprogs/gr-sim/tfv/tfv.c

96 lines
1.5 KiB
C
Raw Normal View History

2017-05-03 14:53:27 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
2017-05-03 14:53:27 +00:00
#include "gr-sim.h"
2017-08-13 00:15:34 +00:00
#include "tfv_utils.h"
#include "tfv_zp.h"
2018-07-07 19:18:08 +00:00
#include "tfv_definitions.h"
2018-07-14 04:04:03 +00:00
#include "tfv_dialog.h"
2017-05-04 18:32:41 +00:00
/* stats */
2017-08-13 00:15:34 +00:00
unsigned char level=0;
2018-07-16 17:41:04 +00:00
unsigned char hp=95,max_hp=100;
unsigned char mp=45,max_mp=50;
2018-07-03 04:37:15 +00:00
unsigned char limit=1;
2018-07-16 17:41:04 +00:00
unsigned char money=10,experience=0;
2017-08-13 00:15:34 +00:00
unsigned char time_hours=0,time_minutes=0;
2018-07-16 02:37:57 +00:00
//unsigned char items1=0xff,items2=0xff,items3=0x07;
unsigned char items1=0,items2=0,items3=0;
2017-08-13 00:15:34 +00:00
unsigned char steps=0;
2017-07-22 20:45:53 +00:00
/* location */
//unsigned char map_x=5;
char tfv_x=15,tfv_y=20; // tfv_y should always be even
2017-08-13 00:15:34 +00:00
unsigned char ground_color;
2017-07-08 21:06:43 +00:00
2017-08-13 19:38:49 +00:00
char nameo[9];
2017-07-08 21:06:43 +00:00
int main(int argc, char **argv) {
2017-07-20 17:16:37 +00:00
int result;
2018-07-14 04:04:03 +00:00
init_dialog();
2017-07-08 21:06:43 +00:00
grsim_init();
home();
gr();
2017-08-13 00:35:36 +00:00
/* Clear bottom of zero page */
apple_memset(&ram[0],0,16);
/* clear top page0 */
/* clear top page1 */
//clear_top(PAGE0);
//clear_top(PAGE1);
2017-08-13 00:35:36 +00:00
/* clear bottom page0 */
/* clear bottom page1 */
//clear_bottom(PAGE0);
//clear_bottom(PAGE1);
clear_screens();
2017-08-13 00:35:36 +00:00
2017-07-08 21:06:43 +00:00
/* Do Opening */
opening();
/* Title Screen */
2017-07-20 17:16:37 +00:00
title_loop:
result=title();
2018-07-07 19:18:08 +00:00
if (result==0) goto play_game;
2018-07-07 20:24:06 +00:00
if (result==2) credits();
2018-07-07 19:18:08 +00:00
goto title_loop;
2017-07-08 21:06:43 +00:00
2018-07-07 19:18:08 +00:00
play_game:
nameo[0]=0;
2018-07-18 04:11:55 +00:00
/* Get player */
player_select();
2017-07-08 21:06:43 +00:00
/* Get Name */
name_screen();
if (nameo[0]==0) {
strcpy(nameo,"DEATER");
}
2017-07-08 21:06:43 +00:00
/* Flying */
2017-07-20 18:06:13 +00:00
home();
2018-06-24 05:01:44 +00:00
back_to_flying:
2017-07-08 21:06:43 +00:00
flying();
/* World Map */
2018-06-24 05:01:44 +00:00
result=world_map();
if (result!=0) goto back_to_flying;
2017-07-08 21:06:43 +00:00
2017-07-10 04:39:38 +00:00
/* Game Over, Man */
game_over();
2017-07-08 21:06:43 +00:00
return 0;
}