void init_all(int argc, char **argv) { cpu_info(); char *config = 0, *bpx = 0, *labels = 0; char opt; while ((opt = getopt(argc, argv, "i:l:b:")) != EOF) switch (opt) { case 'i': config = optarg; break; case 'b': bpx = optarg; break; case 'l': labels = optarg; } temp.Minimized = false; init_z80tables(); init_ie_help(); load_config(config); //make_samples(); #ifdef MOD_GS init_gs(); #endif init_leds(); init_tape(); init_hdd_cd(); start_dx(); init_debug(); applyconfig(); main_reset(); autoload(); init_bpx(bpx); init_labels(labels); temp.Gdiplus = GdiplusStartup(); if (!temp.Gdiplus) { color(CONSCLR_WARNING); printf("warning: gdiplus.dll was not loaded, only SCR and BMP screenshots available\n"); } if (comp.ts.vdac2) { if (!vdac2::open_ft8xx()) { color(CONSCLR_WARNING); printf("warning: ft8xx library was not loaded\n"); comp.ts.vdac2 = false; } } load_errors = 0; trd_toload = 0; *(DWORD*)trd_loaded = 0; // clear loaded flags, don't see autoload'ed images for (; optind < argc; optind++) { char fname[0x200], *temp; GetFullPathName(argv[optind], sizeof fname, fname, &temp); trd_toload = DefaultDrive; // auto-select if (!loadsnap(fname)) errmsg("error loading <%s>", argv[optind]), load_errors = 1; } if (load_errors) { int code = MessageBox(wnd, "Some files, specified in\r\ncommand line, failed to load\r\n\r\nContinue emulation?", "File loading error", MB_YESNO | MB_ICONWARNING); if (code != IDYES) exit(); } SetCurrentDirectory(conf.workdir); // timeBeginPeriod(1); InitializeCriticalSection(&tsu_toggle_cr); }
/** * @param argc: Number of command line arguments supplied. * @param argv: Char* array containing the command line arguments supplied. * @return: To the system, normally 0. * @brief: The first function once enotes is called. */ int main(int argc, char *argv[]) { int note_count; /* IPC Check */ ecore_ipc_init(); dml("IPC Initiated Successfully", 1); /* loading will increment this if there are notes if not we may need to * create a blank one */ note_count = 0; if ((ecore_config_init("enotes")) == ECORE_CONFIG_ERR_FAIL) { ecore_ipc_shutdown(); return (-1); } ecore_app_args_set(argc, (const char **) argv); ecore_config_app_describe("E-Notes - Sticky Notes for Enlightenment\n\ Copyright (c) Thomas Fletcher\n\ Usage: enotes [options]"); /* Read the Usage and Configurations */ main_config = mainconfig_new(); if (read_configuration(main_config) != ECORE_CONFIG_PARSE_CONTINUE) { ecore_config_shutdown(); ecore_ipc_shutdown(); ecore_shutdown(); mainconfig_free(main_config); return (-1); } dml("Successfully Read Configurations and Usage", 1); process_note_storage_locations(); if (find_server() != 0) { if (remotecmd != NULL) send_to_server(remotecmd); else send_to_server("DEFNOTE"); } else { dml("Server wasn't found.. Creating one", 1); /* Setup Server */ setup_server(); /* Initialise the E-Libs */ ecore_init(); ecore_x_init(NULL); ecore_app_args_set(argc, (const char **) argv); if (!ecore_evas_init()) { mainconfig_free(main_config); return -1; } ewl_init(&argc, argv); edje_init(); dml("Efl Successfully Initiated", 1); autoload(); /* create autosave timer */ update_autosave(); if (remotecmd != NULL) handle_ipc_message(remotecmd); /* Begin the Control Centre */ if (main_config->controlcentre == 1) { setup_cc(); dml("Control Centre Setup", 1); } else { dml("No Control Centre - Displaying Notice", 1); if (get_note_count() == 0) new_note(); } if (main_config->welcome == 1) { open_welcome(); } /* Begin the main loop */ dml("Starting Main Loop", 1); ecore_main_loop_begin(); dml("Main Loop Ended", 1); /* Save Controlcentre Settings */ set_cc_pos(); autosave(); if (autosave_timer) ecore_timer_del(autosave_timer); /* Save and Free the Configuration */ ecore_config_save(); dml("Configuration Saved", 1); mainconfig_free(main_config); dml("Configuration Structure Free'd", 1); /* Shutdown the E-Libs */ edje_shutdown(); ecore_evas_shutdown(); ecore_x_shutdown(); ecore_shutdown(); dml("Efl Shutdown", 1); } /* End IPC */ ecore_ipc_shutdown(); dml("IPC Shutdown", 1); dml("Leaving.", 1); return (0); }