Mercurial > hg > old > magoroku_racing
diff ps2util.c @ 91:cb6c6de125dc
halfway
author | Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 26 May 2011 14:44:03 +0900 |
parents | |
children | b0249b856488 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ps2util.c Thu May 26 14:44:03 2011 +0900 @@ -0,0 +1,246 @@ +#include <stdio.h> +#include <stdlib.h> +#include "libps2.h" +#include "ps2util.h" + + +/* + たぶん、本当は読み込んだ xml file から情報を取得するとかそんなんだと思う + どんな処理か分からないので、とりあえず、初期化している。 +*/ + +OBJECT *ps2util_obj_Create_fromXML(char *filename) +{ + OBJECT *body; + /* + body->xyz = {0,0,0,0}; + body->angle = {0,0,0,0}; + body->transfer = { {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} }; + body->*name = filename; + body->*free_me = NULL; + */ + return body; +} + + + +void ps2util_obj_Set_effect(OBJECT *body, int def) +{ + //none +} + + +void ps2_vu0_copy_vector(FVECTOR directionA, FVECTOR directionB) +{ + //none +} + + +void ps2util_obj_Renew_transMatrix(OBJECT *car){ + //none +} + + +/* + ps2 内の texture.c から +*/ +TEXTURE* read_png_file(char *texname) +{ + //とりあえず戻り値を返してエラーをどうにか + TEXTURE* tex; + return tex; +} + + + +void ps2util_tex_Set(TEXTURE* tex) +{ + //none +} + + +void ps2util_obj_Set_texture(OBJECT* car_body, TEXTURE *tex) +{ + //none +} + +void ps2_vu0_unit_matrix(FMATRIX rot) +{ + //none +} + +void ps2_vu0_rot_matrix_y(FMATRIX rot1, FMATRIX rot2, float radian) +{ + //none +} + + +void ps2_vu0_apply_matrix(FVECTOR direction, FMATRIX rot, FVECTOR v) +{ + //none +} + + +void ps2_vu0_scale_vector(FVECTOR mov, FVECTOR car_direction, float car_speed) +{ + //none +} + +void ps2_vu0_add_vector(FVECTOR car_location1, FVECTOR car_location2,FVECTOR mov) +{ + //none +} + + +void ps2_vu0_outer_product(FVECTOR rotaxis, FVECTOR car_vertical, FVECTOR yd) +{ + //none +} + + +float ps2_vu0_inner_product(FVECTOR yd, FVECTOR car_vertical) +{ + float ret; + return ret; +} + + +void ps2_vu0_mul_matrix(FMATRIX pose1, FMATRIX yrot, FMATRIX pose2) +{ + //none +} + +void ps2_vu0_copy_matrix(FMATRIX car_body_transfer, FMATRIX pose) +{ + //none +} + + +void ps2util_tex_Exclude(TEXTURE* t) +{ + //none +} + +void ps2util_obj_Free(OBJECT* p_body) +{ + //none +} + + + +void ps2_vu0_sub_vector(FVECTOR o0, FVECTOR p, FVECTOR p0) +{ + //none +} + + + + +void ps2_vu0_normalize(FVECTOR colface_normal1, FVECTOR colface_normal2) +{ + //none +} + + +void xml_free(PolygonInfo xml) +{ + //none +} + + +void ps2util_obj_Draw(OBJECT *object) +{ + //none +} + + +void gSprite_Init() +{ + //none +} + + +void ps2util_sprite_Destroy(ps2utilSprite *title_sprite ) +{ + //none +} + + + + + + + +/* + からの関数 + ps2 依存関係にあったけど、( name_dictionary.c ) の中のもの + だけど、他にも持ってくるものが増えるので、とりあえず、からの関数に +*/ +void delete_name_dictionary(const char *string) +{ + /* + int number; + NAME_DIC *dic_ptr; + + if (string == NULL) return; + + number = hash_func(string,NAME_HASH_SIZE); + + for (dic_ptr=name_hash+number;dic_ptr->name;dic_ptr=name_hash+number) { + if (!strcmp(string,dic_ptr->name)) { + dic_ptr->ref_num--; + if (dic_ptr->ref_num == 0) { + free(dic_ptr->name); + dic_ptr->name = NULL; + } + return; + } else { + number += REHASH_NUM; + if (number > NAME_HASH_SIZE) number -= NAME_HASH_SIZE; + } + } + */ +} + + + +/* + ps2 依存関係から持ってきた。 + テクスチャに割り振ったメモリの解放処理? + 元ファイル:texture.c +*/ +void free_texture(TEXTURE *tex) +{ + if (tex == NULL) return; + + delete_name_dictionary(tex->name); + free(tex->free_texenv); + free(tex->free_image); + free(tex); +} + + +/* + ps2 依存関係内の、texture.c から拝借 + この malloc によるメモリ取得をあちこちで行っているっぽい +*/ +int malloc_align16(void *free, void *aligned, int size) +{ + char *index; + unsigned int *f=(unsigned int *)free,*a=(unsigned int *)aligned; + + if (free == NULL || aligned == NULL || size <= 0) return(-1); + + index = (char *)malloc(size + ALIGN_16BYTE); + if (index == NULL) { + return(-1); + } + + *f = *a = (unsigned long int)index; + if (((unsigned long int)index % ALIGN_16BYTE) != 0) { + index += ALIGN_16BYTE - ((unsigned long int)index % ALIGN_16BYTE); + *a = (unsigned long int)index; + } + + return(0); +}