⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 our_3d_load_mtk.c

📁 mtk 3D 游戏移植 试玩 带引擎源码
💻 C
字号:
#include "our_all.h"
#include "our_cpu.h"
typedef struct 
{
    UCHAR *video_buffer2;
    OUR_EVENT* our_event;
    int* INFO;
    char **   our_spase;
    UINT   windows_id;
    UINT   time_next;
    UINT  x_re,y_re,w_re,h_re;
    //OUR_SHOW_TEXT our_show_text;
    void *FUN_OTHER[100];
} OUR_DATA_OUT1;
OUR_DATA_OUT1 data_out1;
typedef int (*OUR_OUT_FUN_)(int a,OUR_DATA_OUT1*,int b);
OUR_OUT_FUN_ OUR_OUT_FUN_game=0;
extern void *med_alloc_ext_mem_ext(int size,char* file_p, long line_p);
extern     void med_free_ext_mem_ext(void **pointer,char* file_p, long line_p);
/*
extern void* SetKeyHandler;
extern  void* gui_cancel_timer;
extern void*gui_start_timer;
extern void*gui_BLT_double_buffer;
extern void*wgui_register_pen_down_handler;
extern void*wgui_register_pen_up_handler;
extern void*wgui_register_pen_move_handler;
extern void*EntryNewScreen;
extern void*GoBackHistory;
extern void*drv_get_duration_ms;

extern void*gui_print_text;
extern void*gui_move_text_cursor;
extern void*gui_set_text_color;
extern void*gui_measure_string;*/
//==================================================
void INIT_OTHER_FUN_MTK()
{
    int i;
    data_out1.FUN_OTHER[0]=(void*)SetKeyHandler;
    data_out1.FUN_OTHER[1]=(void*)gui_cancel_timer;
    data_out1.FUN_OTHER[2]=(void*)gui_start_timer;
    data_out1.FUN_OTHER[3]=(void*)gui_BLT_double_buffer;
    data_out1.FUN_OTHER[4]=(void*)wgui_register_pen_down_handler;
    data_out1.FUN_OTHER[5]=(void*)wgui_register_pen_up_handler;
    data_out1.FUN_OTHER[6]=(void*)wgui_register_pen_move_handler;
    data_out1.FUN_OTHER[7]=(void*)EntryNewScreen;
    data_out1.FUN_OTHER[8]=(void*)GoBackHistory;
    data_out1.FUN_OTHER[9]=(void*)drv_get_duration_ms;
    data_out1.FUN_OTHER[10]=(void*)med_alloc_ext_mem_ext;
    data_out1.FUN_OTHER[11]=(void*)med_free_ext_mem_ext;
   
    data_out1.FUN_OTHER[12]=(void*)gui_print_text;
    data_out1.FUN_OTHER[13]=(void*)gui_move_text_cursor;
    data_out1.FUN_OTHER[14]=(void*)gui_set_text_color;
    data_out1.FUN_OTHER[15]=(void*)gui_measure_string;
    
}
char * our_spase=0;
int read_time1=-200;
//char OUR_extern_main[450<<10];//-----------------------------------OUR_extern_main
//MED_EXT_MEM_SIZE
#define MEM_SIZE_OUR (450<<10)
int OUR_DO_OUR_out_bin()
{  
    char filename[]="c:\\data.our";   
    //char filename[]="d:\\Game\\data.our";   
    //our_spase=med_alloc_ext_mem(3<<19);
    if(our_spase==0)
    {
        our_spase= (char*)med_alloc_ext_mem_ext(MEM_SIZE_OUR,__FILE__,__LINE__);
    }
    if(our_spase!=0)
    {
        memset(our_spase,0,MEM_SIZE_OUR);
        read_time1=OUR_get_bin(filename,(char*)our_spase,MEM_SIZE_OUR);
        //------------------------
        if(read_time1>0)
        {    
            OUR_OUT_FUN_game=(OUR_OUT_FUN_)our_spase;
            data_out1.video_buffer2=gdi_act_layer->buf_ptr;
            data_out1.our_event=0;
            data_out1.INFO=0;
            data_out1.windows_id=OUR_MMI_IDLE;
            data_out1.our_spase=&our_spase;
            INIT_OTHER_FUN_MTK();
            return OUR_OUT_FUN_game(((UINT)our_spase),&data_out1,2);
            //return our_call_out(((UINT)our_spase),&data_out1,2);
        }
        else
        {
            //med_free_ext_mem(&our_spase);
            med_free_ext_mem_ext((void **)&our_spase,__FILE__,__LINE__);
                DisplayPopup(
                    (U8*)L"can't read the file",
                    IMG_GLOBAL_ERROR,
                    1,
                    1000,
                    1);
        }        
    }
    else
    {
                DisplayPopup(
                    (U8*)L"alloc mem fail",
                    IMG_GLOBAL_ERROR,
                    1,
                    1000,
                    1);
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -