Golem::Golem(Vec2f _pos, Vec2f _size) : Enemy(_pos, _size) { std::string pattern("res/Texture/Enemy/golem_pattern.txt"); std::string action("res/Texture/Enemy/golem_animation.txt"); readPatterns(pattern); readAction(action); std::string register_key("golem"); std::string resourse("res/Texture/Enemy/golemMotion.png"); Textures::set(register_key, resourse); }
Slime::Slime(Vec2f _pos, Vec2f _size) : Enemy(_pos, _size) { std::string pattern("res/Texture/Enemy/slime_pattern.txt"); std::string action("res/Texture/Enemy/slime_animation.txt"); readPatterns(pattern); readAction(action); std::string register_key("slime"); std::string resourse("res/Texture/Enemy/slimeMotion.png"); Textures::set(register_key, resourse); vec_.x() = 0.5f; }
uint8_t matrix_scan(void) { uint8_t key; is_modified = false; key = m0110_recv_key(); #ifdef MATRIX_HAS_LOCKING_CAPS // Send Caps key up event if (matrix_is_on(ROW(CAPS), COL(CAPS))) { is_modified = true; register_key(CAPS_UP); } #endif if (key == M0110_NULL) { return 0; } else { #ifdef MATRIX_HAS_LOCKING_CAPS if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) { // CAPS LOCK on: // Ignore LockingCaps key down event if (key == CAPS) return 0; // Convert LockingCaps key up event into down event if (key == CAPS_UP) key = CAPS; } else { // CAPS LOCK off: // Ignore LockingCaps key up event if (key == CAPS_UP) return 0; } #endif is_modified = true; register_key(key); } if (debug_enable) { print("key: "); phex(key); print("\n"); } return 1; }
int T1145_persistent_reserve_access_check_wear(const char *initiator, const char *url) { struct iscsi_context *iscsi = NULL, *iscsi2 = NULL; int ret; int lun, lun2; const unsigned long long key = rand_key(); const unsigned long long key2 = rand_key(); const enum scsi_persistent_out_type pr_type = SCSI_PERSISTENT_RESERVE_TYPE_WRITE_EXCLUSIVE_ALL_REGISTRANTS; const char *pr_type_str = scsi_pr_type_str(pr_type); unsigned char *buf = NULL; printf("1145_persistent_reserve_access_check_wear:\n"); printf("=========================================\n"); if (show_info) { int idx = 1; printf("Test that access constrols are correct for %s Persistent Reservations\n", pr_type_str); printf("%d, %s Reservation Holder Read Access\n", idx++, pr_type_str); printf("%d, %s Reservation Holder Write Access\n", idx++, pr_type_str); printf("%d, non-%s Reservation Holder does not have read access\n", idx++, pr_type_str); printf("%d, non-%s Reservation Holder does not have write access\n", idx++, pr_type_str); return 0; } iscsi = iscsi_context_login(initiator, url, &lun); if (iscsi == NULL) { printf("Failed to login to target\n"); ret = -1; goto finished; } iscsi2 = iscsi_context_login(initiatorname2, url, &lun2); if (iscsi2 == NULL) { printf("Failed to login to target (2nd initiator)\n"); ret = -1; goto finished; } if (!data_loss) { printf("--dataloss flag is not set. Skipping test\n"); ret = -2; goto finished; } /* register our reservation key with the target */ ret = register_and_ignore(iscsi, lun, key); if (ret != 0) goto finished; ret = register_and_ignore(iscsi2, lun2, key2); if (ret != 0) goto finished; /* reserve the target through initiator 1 */ ret = reserve(iscsi, lun, key, pr_type); if (ret != 0) goto finished; /* verify target reservation */ ret = verify_reserved_as(iscsi, lun, pr_type_is_all_registrants(pr_type) ? 0 : key, pr_type); if (ret != 0) goto finished; buf = malloc(512); /* allocate a buffer */ if (buf == NULL) { printf("failed to allocate 512 byes of memory\n"); ret = -1; goto finished; } /* make sure init1 can read */ ret = verify_read_works(iscsi, lun, buf); if (ret != 0) goto finished; /* make sure init1 can write */ ret = verify_write_works(iscsi, lun, buf); if (ret != 0) goto finished; /* make sure init2 does have read access */ ret = verify_read_works(iscsi2, lun2, buf); if (ret != 0) goto finished; /* make sure init2 does have write access */ ret = verify_write_works(iscsi2, lun2, buf); if (ret != 0) goto finished; /* unregister init2 */ ret = register_key(iscsi2, lun2, 0, key); if (ret != 0) { goto finished; } /* make sure init2 does have read access */ ret = verify_read_works(iscsi2, lun2, buf); if (ret != 0) goto finished; /* make sure init2 does not have write access */ ret = verify_write_fails(iscsi2, lun2, buf); if (ret != 0) goto finished; /* release our reservation */ ret = release(iscsi, lun, key, pr_type); if (ret != 0) goto finished; /* remove our key from the target */ ret = register_key(iscsi, lun, 0, key); if (ret != 0) goto finished; finished: /* XXX should we clean up key if needed? */ if (iscsi) { iscsi_logout_sync(iscsi); iscsi_destroy_context(iscsi); } if (iscsi2) { iscsi_logout_sync(iscsi2); iscsi_destroy_context(iscsi2); } if (buf) free(buf); return ret; }