diff --git a/SuperCbr.g1a b/SuperCbr.g1a index 54b5da4..db763e5 100644 Binary files a/SuperCbr.g1a and b/SuperCbr.g1a differ diff --git a/assets-fx/img/carapace_verte.png b/assets-fx/img/carapace_verte.png new file mode 100644 index 0000000..adff626 Binary files /dev/null and b/assets-fx/img/carapace_verte.png differ diff --git a/assets-fx/img/koopa_verte.png b/assets-fx/img/koopa_verte.png new file mode 100644 index 0000000..4670032 Binary files /dev/null and b/assets-fx/img/koopa_verte.png differ diff --git a/build-fx/SuperCbr.bin b/build-fx/SuperCbr.bin index 480ff1b..3a96da3 100755 Binary files a/build-fx/SuperCbr.bin and b/build-fx/SuperCbr.bin differ diff --git a/build-fx/SuperCbr.elf b/build-fx/SuperCbr.elf index 1f41775..83decdd 100755 Binary files a/build-fx/SuperCbr.elf and b/build-fx/SuperCbr.elf differ diff --git a/build-fx/assets/img/carapace_verte.png.o b/build-fx/assets/img/carapace_verte.png.o new file mode 100644 index 0000000..0e0417c Binary files /dev/null and b/build-fx/assets/img/carapace_verte.png.o differ diff --git a/build-fx/assets/img/koopa_verte.png.o b/build-fx/assets/img/koopa_verte.png.o new file mode 100644 index 0000000..6d338a8 Binary files /dev/null and b/build-fx/assets/img/koopa_verte.png.o differ diff --git a/build-fx/map b/build-fx/map index ddc42f8..2ed5bfa 100644 --- a/build-fx/map +++ b/build-fx/map @@ -189,7 +189,9 @@ LOAD build-fx/assets/img/error.png.o LOAD build-fx/assets/img/1up.png.o LOAD build-fx/assets/img/tuyau.png.o LOAD build-fx/assets/img/bullet.png.o +LOAD build-fx/assets/img/carapace_verte.png.o LOAD build-fx/assets/img/nuage.png.o +LOAD build-fx/assets/img/koopa_verte.png.o LOAD build-fx/assets/img/level.png.o LOAD build-fx/assets/img/goomba.png.o LOAD build-fx/assets/img/fleur.png.o @@ -199,7 +201,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x0000000000009cec _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x000000000000a3a8 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -239,7 +241,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300ad0 _etors = . -.text 0x0000000000300ad0 0x5000 +.text 0x0000000000300ad0 0x5290 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -261,353 +263,361 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300db8 _score_display .text 0x0000000000300ef8 0x40 build-fx/src/tile.c.o 0x0000000000300ef8 _draw_tile - .text 0x0000000000300f38 0x2f8 build-fx/src/box.c.o + .text 0x0000000000300f38 0x370 build-fx/src/box.c.o 0x0000000000300f38 _sgn - 0x0000000000300f4a _box_move - 0x00000000003011d0 _box_jump - .text 0x0000000000301230 0x544 build-fx/src/world.c.o - 0x0000000000301230 _world_get_width - 0x0000000000301240 _world_get - 0x00000000003012a4 _display_cell - 0x00000000003015e4 _world_get_ctg - 0x000000000030161c _world_get_real_x0 - 0x0000000000301654 _world_get_real_y0 - 0x0000000000301668 _world_draw - .text 0x0000000000301774 0x40c build-fx/src/bonus.c.o - 0x0000000000301774 _lance_bullet - 0x00000000003017cc _bullet_display - 0x0000000000301920 _bonus_set - 0x0000000000301950 _bonus_move - 0x0000000000301abc _bonus_draw - .text 0x0000000000301b80 0x6c4 build-fx/src/mario.c.o - 0x0000000000301b90 _mario_bigger - 0x0000000000301bb0 _mario_smaller - 0x0000000000301be8 _mario_draw - 0x0000000000301d5c _test_sol_le_plus_proche - 0x0000000000301dc8 _mario_move - .text 0x0000000000302244 0x40 build-fx/src/main.c.o - 0x0000000000302244 _callback - 0x000000000030224c _system_error - .text.startup 0x0000000000302284 0x1c0 build-fx/src/main.c.o - 0x0000000000302284 _main - .text 0x0000000000302444 0x278 build-fx/src/keyboard.c.o - 0x0000000000302444 _menu_pause - 0x00000000003025cc _update_keyboard - .text 0x00000000003026bc 0x3e4 build-fx/src/ennemi.c.o - 0x00000000003026bc _display_ennemi - 0x00000000003027ac _ennemi_check_collision - 0x0000000000302800 _hurt_mario - 0x0000000000302834 _move_ennemi - 0x0000000000302a60 _display_ennemi_table - .text 0x0000000000302aa0 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x000000000030349c _kprint_opt - 0x00000000003035e4 _kprint - 0x00000000003036bc _kvsprint - 0x0000000000303704 _sprintf - 0x000000000030372c _vsprintf - 0x000000000030374c _snprintf - 0x000000000030376c _vsnprintf - .text 0x0000000000303784 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000303784 _memcpy - 0x000000000030383e __memmove - 0x0000000000303842 __memcmp - 0x0000000000303846 _memset - .text 0x0000000000303860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .text 0x0000000000303860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .text 0x0000000000303860 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x0000000000303860 _dupdate - 0x0000000000303878 _dupdate_noint - .text 0x0000000000303884 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000303884 _dimage - 0x00000000003038d8 _dsubimage - .text 0x000000000030394c 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x000000000030394c _dclear - .text 0x0000000000303998 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000303b40 _pollevent - 0x0000000000303c84 _waitevent - 0x0000000000303cd0 _clearevents - 0x0000000000303cf0 _keydown - 0x0000000000303d1c _keydown_all - 0x0000000000303d58 _keydown_any - .text 0x0000000000303d94 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x0000000000303da0 _iokbd_row - 0x0000000000303e88 _iokbd_scan - .text 0x0000000000303eb8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x0000000000303eb8 _getkey_opt - 0x0000000000304064 _getkey - 0x0000000000304070 _getkey_repeat - .text 0x00000000003040ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .text 0x00000000003040ac 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x000000000030423c _gint_panic - 0x000000000030424c _gint_panic_set - 0x0000000000304258 _gint_exc_catch - 0x0000000000304264 _gint_exc_skip - .text 0x0000000000304270 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .text 0x0000000000304270 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000304324 _gint_install - 0x00000000003043d4 _gint_unload - .text 0x00000000003043ec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .text 0x00000000003043ec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .text 0x00000000003043ec 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x00000000003043ec _tlb_addr - 0x0000000000304400 _tlb_data - 0x0000000000304414 _tlb_mapped_memory - 0x00000000003044e8 _utlb_addr - 0x00000000003044f8 _utlb_data - 0x0000000000304508 _utlb_mapped_memory - .text 0x00000000003045e0 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x00000000003045e0 _dsize - .text 0x000000000030467c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x000000000030467c _dprint - .text 0x00000000003046d4 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003049f4 _timer_setup - 0x0000000000304a84 _timer_delay - 0x0000000000304ae4 _timer_start - 0x0000000000304b18 _timer_reload - 0x0000000000304b38 _timer_pause - 0x0000000000304b6c _timer_stop - 0x0000000000304bc8 _timer_timeout - 0x0000000000304bd4 _timer_address - 0x0000000000304c10 _timer_clear - .text 0x0000000000304c40 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x0000000000304c40 _sleep_us - .text 0x0000000000304c98 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000304d30 _t6k11_display - 0x0000000000304e04 _t6k11_contrast - 0x0000000000304e30 _t6k11_backlight - .text 0x0000000000304e70 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000304fb4 _clock_freq - .text 0x0000000000304fc0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .text 0x0000000000304fc0 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - 0x0000000000304fc0 _bopti_asm_mono - 0x0000000000304fe6 _bopti_asm_mono_alpha - .text 0x0000000000305018 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x0000000000305018 _bopti_grid - 0x000000000030518c _bopti_render - 0x00000000003052bc _bopti_render_clip - 0x00000000003053d0 _bopti_render_noclip - .text 0x0000000000305428 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x0000000000305428 _masks - .text 0x00000000003054c4 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x00000000003054c4 _gint_setvbr - .text 0x00000000003054f0 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x00000000003054f0 _gint_intlevel - 0x0000000000305544 _gint_inthandler - .text 0x0000000000305568 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .text 0x0000000000305568 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .text 0x0000000000305568 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000305568 ___movstr - 0x0000000000305568 ___movmem - 0x000000000030559c ___movmemSI64 - 0x000000000030559c ___movstrSI64 - 0x00000000003055a0 ___movstrSI60 - 0x00000000003055a0 ___movmemSI60 - 0x00000000003055a4 ___movmemSI56 - 0x00000000003055a4 ___movstrSI56 - 0x00000000003055a8 ___movstrSI52 - 0x00000000003055a8 ___movmemSI52 - 0x00000000003055ac ___movstrSI48 - 0x00000000003055ac ___movmemSI48 - 0x00000000003055b0 ___movstrSI44 - 0x00000000003055b0 ___movmemSI44 - 0x00000000003055b4 ___movstrSI40 - 0x00000000003055b4 ___movmemSI40 - 0x00000000003055b8 ___movstrSI36 - 0x00000000003055b8 ___movmemSI36 - 0x00000000003055bc ___movmemSI32 - 0x00000000003055bc ___movstrSI32 - 0x00000000003055c0 ___movmemSI28 - 0x00000000003055c0 ___movstrSI28 - 0x00000000003055c4 ___movstrSI24 - 0x00000000003055c4 ___movmemSI24 - 0x00000000003055c8 ___movmemSI20 - 0x00000000003055c8 ___movstrSI20 - 0x00000000003055cc ___movstrSI16 - 0x00000000003055cc ___movmemSI16 - 0x00000000003055d0 ___movmemSI12 - 0x00000000003055d0 ___movstrSI12 - 0x00000000003055d4 ___movmemSI8 - 0x00000000003055d4 ___movstrSI8 - 0x00000000003055d8 ___movmemSI4 - 0x00000000003055d8 ___movstrSI4 - .text 0x00000000003055e0 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x00000000003055e0 ___udivdi3 - .text 0x00000000003057d0 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x00000000003057d0 ___umoddi3 - .text 0x0000000000305a04 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000305a26 ___udivsi3 - .text 0x0000000000305a70 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000305a70 ___udiv_qrnnd_16 - .text 0x0000000000305ad0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300f4a _check_collision + 0x0000000000300fc4 _box_move + 0x0000000000301248 _box_jump + .text 0x00000000003012a8 0x544 build-fx/src/world.c.o + 0x00000000003012a8 _world_get_width + 0x00000000003012b8 _world_get + 0x000000000030131c _display_cell + 0x000000000030165c _world_get_ctg + 0x0000000000301694 _world_get_real_x0 + 0x00000000003016cc _world_get_real_y0 + 0x00000000003016e0 _world_draw + .text 0x00000000003017ec 0x40c build-fx/src/bonus.c.o + 0x00000000003017ec _lance_bullet + 0x0000000000301844 _bullet_display + 0x0000000000301998 _bonus_set + 0x00000000003019c8 _bonus_move + 0x0000000000301b34 _bonus_draw + .text 0x0000000000301bf8 0x6b4 build-fx/src/mario.c.o + 0x0000000000301c08 _mario_bigger + 0x0000000000301c24 _mario_smaller + 0x0000000000301c50 _mario_draw + 0x0000000000301dc4 _test_sol_le_plus_proche + 0x0000000000301e30 _mario_move + .text 0x00000000003022ac 0x40 build-fx/src/main.c.o + 0x00000000003022ac _callback + 0x00000000003022b4 _system_error + .text.startup 0x00000000003022ec 0x1c0 build-fx/src/main.c.o + 0x00000000003022ec _main + .text 0x00000000003024ac 0x288 build-fx/src/keyboard.c.o + 0x00000000003024ac _menu_pause + 0x0000000000302644 _update_keyboard + .text 0x0000000000302734 0x5f8 build-fx/src/ennemi.c.o + 0x0000000000302734 _display_ennemi + 0x00000000003028d0 _ennemi_check_collision + 0x000000000030292c _hurt_mario + 0x0000000000302960 _move_ennemi + 0x0000000000302cec _display_ennemi_table + .text 0x0000000000302d2c 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000303728 _kprint_opt + 0x0000000000303870 _kprint + 0x0000000000303948 _kvsprint + 0x0000000000303990 _sprintf + 0x00000000003039b8 _vsprintf + 0x00000000003039d8 _snprintf + 0x00000000003039f8 _vsnprintf + .text 0x0000000000303a10 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x0000000000303a10 _memcpy + 0x0000000000303aca __memmove + 0x0000000000303ace __memcmp + 0x0000000000303ad2 _memset + .text 0x0000000000303aec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .text 0x0000000000303aec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .text 0x0000000000303aec 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x0000000000303aec _dupdate + 0x0000000000303b04 _dupdate_noint + .text 0x0000000000303b10 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000303b10 _dimage + 0x0000000000303b64 _dsubimage + .text 0x0000000000303bd8 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x0000000000303bd8 _dclear + .text 0x0000000000303c24 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000303dcc _pollevent + 0x0000000000303f10 _waitevent + 0x0000000000303f5c _clearevents + 0x0000000000303f7c _keydown + 0x0000000000303fa8 _keydown_all + 0x0000000000303fe4 _keydown_any + .text 0x0000000000304020 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x000000000030402c _iokbd_row + 0x0000000000304114 _iokbd_scan + .text 0x0000000000304144 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x0000000000304144 _getkey_opt + 0x00000000003042f0 _getkey + 0x00000000003042fc _getkey_repeat + .text 0x0000000000304338 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .text 0x0000000000304338 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x00000000003044c8 _gint_panic + 0x00000000003044d8 _gint_panic_set + 0x00000000003044e4 _gint_exc_catch + 0x00000000003044f0 _gint_exc_skip + .text 0x00000000003044fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .text 0x00000000003044fc 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x00000000003045b0 _gint_install + 0x0000000000304660 _gint_unload + .text 0x0000000000304678 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .text 0x0000000000304678 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .text 0x0000000000304678 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000304678 _tlb_addr + 0x000000000030468c _tlb_data + 0x00000000003046a0 _tlb_mapped_memory + 0x0000000000304774 _utlb_addr + 0x0000000000304784 _utlb_data + 0x0000000000304794 _utlb_mapped_memory + .text 0x000000000030486c 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x000000000030486c _dsize + .text 0x0000000000304908 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000304908 _dprint + .text 0x0000000000304960 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000304c80 _timer_setup + 0x0000000000304d10 _timer_delay + 0x0000000000304d70 _timer_start + 0x0000000000304da4 _timer_reload + 0x0000000000304dc4 _timer_pause + 0x0000000000304df8 _timer_stop + 0x0000000000304e54 _timer_timeout + 0x0000000000304e60 _timer_address + 0x0000000000304e9c _timer_clear + .text 0x0000000000304ecc 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x0000000000304ecc _sleep_us + .text 0x0000000000304f24 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000304fbc _t6k11_display + 0x0000000000305090 _t6k11_contrast + 0x00000000003050bc _t6k11_backlight + .text 0x00000000003050fc 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305240 _clock_freq + .text 0x000000000030524c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .text 0x000000000030524c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + 0x000000000030524c _bopti_asm_mono + 0x0000000000305272 _bopti_asm_mono_alpha + .text 0x00000000003052a4 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x00000000003052a4 _bopti_grid + 0x0000000000305418 _bopti_render + 0x0000000000305548 _bopti_render_clip + 0x000000000030565c _bopti_render_noclip + .text 0x00000000003056b4 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x00000000003056b4 _masks + .text 0x0000000000305750 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000305750 _gint_setvbr + .text 0x000000000030577c 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x000000000030577c _gint_intlevel + 0x00000000003057d0 _gint_inthandler + .text 0x00000000003057f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .text 0x00000000003057f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .text 0x00000000003057f4 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x00000000003057f4 ___movstr + 0x00000000003057f4 ___movmem + 0x0000000000305828 ___movmemSI64 + 0x0000000000305828 ___movstrSI64 + 0x000000000030582c ___movstrSI60 + 0x000000000030582c ___movmemSI60 + 0x0000000000305830 ___movmemSI56 + 0x0000000000305830 ___movstrSI56 + 0x0000000000305834 ___movstrSI52 + 0x0000000000305834 ___movmemSI52 + 0x0000000000305838 ___movstrSI48 + 0x0000000000305838 ___movmemSI48 + 0x000000000030583c ___movstrSI44 + 0x000000000030583c ___movmemSI44 + 0x0000000000305840 ___movstrSI40 + 0x0000000000305840 ___movmemSI40 + 0x0000000000305844 ___movstrSI36 + 0x0000000000305844 ___movmemSI36 + 0x0000000000305848 ___movmemSI32 + 0x0000000000305848 ___movstrSI32 + 0x000000000030584c ___movmemSI28 + 0x000000000030584c ___movstrSI28 + 0x0000000000305850 ___movstrSI24 + 0x0000000000305850 ___movmemSI24 + 0x0000000000305854 ___movmemSI20 + 0x0000000000305854 ___movstrSI20 + 0x0000000000305858 ___movstrSI16 + 0x0000000000305858 ___movmemSI16 + 0x000000000030585c ___movmemSI12 + 0x000000000030585c ___movstrSI12 + 0x0000000000305860 ___movmemSI8 + 0x0000000000305860 ___movstrSI8 + 0x0000000000305864 ___movmemSI4 + 0x0000000000305864 ___movstrSI4 + .text 0x000000000030586c 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x000000000030586c ___udivdi3 + .text 0x0000000000305a5c 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000305a5c ___umoddi3 + .text 0x0000000000305c90 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x0000000000305cb2 ___udivsi3 + *fill* 0x0000000000305cfc 0x4 + .text 0x0000000000305d00 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000305d00 ___udiv_qrnnd_16 + .text 0x0000000000305d60 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(C P) -.gint.blocks 0x0000000000305ad0 0x120 +.gint.blocks 0x0000000000305d60 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000305ad0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x0000000000305ad0 _gint_inth_7305 - 0x0000000000305af0 _gint_inth_7705 - .gint.blocks 0x0000000000305b10 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000305b10 _inth_tmu - 0x0000000000305b90 _inth_etmu2 - 0x0000000000305bb0 _inth_etmu_help - 0x0000000000305bd0 _inth_etmux + .gint.blocks 0x0000000000305d60 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000305d60 _gint_inth_7305 + 0x0000000000305d80 _gint_inth_7705 + .gint.blocks 0x0000000000305da0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x0000000000305da0 _inth_tmu + 0x0000000000305e20 _inth_etmu2 + 0x0000000000305e40 _inth_etmu_help + 0x0000000000305e60 _inth_etmux -.gint.drivers 0x0000000000305bf0 0x90 - 0x0000000000305bf0 _bdrv = . +.gint.drivers 0x0000000000305e80 0x90 + 0x0000000000305e80 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000305bf0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000305bf0 _drv_cpg + 0x0000000000305e80 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305e80 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000305c14 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000305c14 _drv_tmu + 0x0000000000305ea4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000305ea4 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000305c38 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000305c38 _drv_keysc + 0x0000000000305ec8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000305ec8 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000305c5c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000305c5c _drv_t6k11 + 0x0000000000305eec 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000305eec _drv_t6k11 *(.gint.drivers.6) - 0x0000000000305c80 _edrv = . + 0x0000000000305f10 _edrv = . -.rodata 0x0000000000305c80 0x493c +.rodata 0x0000000000305f10 0x4d68 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000305c80 0x158c build-fx/src/level.c.o + .rodata 0x0000000000305f10 0x190c build-fx/src/level.c.o .rodata.str1.4 - 0x000000000030720c 0x1e build-fx/src/score.c.o + 0x000000000030781c 0x1e build-fx/src/score.c.o .rodata.str1.4 - 0x000000000030722a 0x3 build-fx/src/main.c.o - *fill* 0x000000000030722a 0x2 - .rodata 0x000000000030722c 0x28 build-fx/src/keyboard.c.o - .rodata 0x0000000000307254 0x10 build-fx/src/ennemi.c.o - .rodata 0x0000000000307264 0x204 build-fx/assets/fonts/mario.png.o - 0x0000000000307264 _font_mario - 0x0000000000307468 _font_mario_end - .rodata 0x0000000000307468 0x20 build-fx/assets/img/bonus.png.o - 0x0000000000307468 _img_bonus - 0x0000000000307488 _img_bonus_end - .rodata 0x0000000000307488 0x24 build-fx/assets/img/bloc.png.o - 0x0000000000307488 _img_bloc - 0x00000000003074ac _img_bloc_end - .rodata 0x00000000003074ac 0x404 build-fx/assets/img/ram.png.o - 0x00000000003074ac _img_ram - 0x00000000003078b0 _img_ram_end - .rodata 0x00000000003078b0 0x64 build-fx/assets/img/mario.png.o - 0x00000000003078b0 _img_mario - 0x0000000000307914 _img_mario_end - .rodata 0x0000000000307914 0x404 build-fx/assets/img/main.png.o - 0x0000000000307914 _img_main - 0x0000000000307d18 _img_main_end - .rodata 0x0000000000307d18 0x404 build-fx/assets/img/new_level.png.o - 0x0000000000307d18 _img_new_level - 0x000000000030811c _img_new_level_end - .rodata 0x000000000030811c 0x4c build-fx/assets/img/brick.png.o - 0x000000000030811c _img_brick - 0x0000000000308168 _img_brick_end - .rodata 0x0000000000308168 0x84 build-fx/assets/img/menu_pause.png.o - 0x0000000000308168 _img_menu_pause - 0x00000000003081ec _img_menu_pause_end - .rodata 0x00000000003081ec 0x18 build-fx/assets/img/select_arrow.png.o - 0x00000000003081ec _img_select_arrow - 0x0000000000308204 _img_select_arrow_end - .rodata 0x0000000000308204 0x804 build-fx/assets/img/dev.png.o - 0x0000000000308204 _img_dev - 0x0000000000308a08 _img_dev_end - .rodata 0x0000000000308a08 0x24 build-fx/assets/img/death.png.o - 0x0000000000308a08 _img_death - 0x0000000000308a2c _img_death_end - .rodata 0x0000000000308a2c 0x404 build-fx/assets/img/time_over.png.o - 0x0000000000308a2c _img_time_over - 0x0000000000308e30 _img_time_over_end - .rodata 0x0000000000308e30 0x4c build-fx/assets/img/coin.png.o - 0x0000000000308e30 _img_coin - 0x0000000000308e7c _img_coin_end - .rodata 0x0000000000308e7c 0x24 build-fx/assets/img/champi.png.o - 0x0000000000308e7c _img_champi - 0x0000000000308ea0 _img_champi_end - .rodata 0x0000000000308ea0 0xdc build-fx/assets/img/mariosmall.png.o - 0x0000000000308ea0 _img_mariosmall - 0x0000000000308f7c _img_mariosmall_end - .rodata 0x0000000000308f7c 0x28 build-fx/assets/img/gift.png.o - 0x0000000000308f7c _img_gift - 0x0000000000308fa4 _img_gift_end - .rodata 0x0000000000308fa4 0x24 build-fx/assets/img/buisson.png.o - 0x0000000000308fa4 _img_buisson - 0x0000000000308fc8 _img_buisson_end - .rodata 0x0000000000308fc8 0x44 build-fx/assets/img/colline.png.o - 0x0000000000308fc8 _img_colline - 0x000000000030900c _img_colline_end - .rodata 0x000000000030900c 0x114 build-fx/assets/img/mariobig.png.o - 0x000000000030900c _img_mariobig - 0x0000000000309120 _img_mariobig_end - .rodata 0x0000000000309120 0x404 build-fx/assets/img/error.png.o - 0x0000000000309120 _img_error - 0x0000000000309524 _img_error_end - .rodata 0x0000000000309524 0x24 build-fx/assets/img/1up.png.o - 0x0000000000309524 _img_1up - 0x0000000000309548 _img_1up_end - .rodata 0x0000000000309548 0xb8 build-fx/assets/img/tuyau.png.o - 0x0000000000309548 _img_tuyau - 0x0000000000309600 _img_tuyau_end - .rodata 0x0000000000309600 0x14 build-fx/assets/img/bullet.png.o - 0x0000000000309600 _img_bullet - 0x0000000000309614 _img_bullet_end - .rodata 0x0000000000309614 0x44 build-fx/assets/img/nuage.png.o - 0x0000000000309614 _img_nuage - 0x0000000000309658 _img_nuage_end - .rodata 0x0000000000309658 0x404 build-fx/assets/img/level.png.o - 0x0000000000309658 _img_level - 0x0000000000309a5c _img_level_end - .rodata 0x0000000000309a5c 0x4c build-fx/assets/img/goomba.png.o - 0x0000000000309a5c _img_goomba - 0x0000000000309aa8 _img_goomba_end - .rodata 0x0000000000309aa8 0x24 build-fx/assets/img/fleur.png.o - 0x0000000000309aa8 _img_fleur - 0x0000000000309acc _img_fleur_end - .rodata 0x0000000000309acc 0x4c build-fx/assets/img/stone.png.o - 0x0000000000309acc _img_stone - 0x0000000000309b18 _img_stone_end - .rodata 0x0000000000309b18 0x404 build-fx/assets/img/lvl0.png.o - 0x0000000000309b18 _img_lvl0 - 0x0000000000309f1c _img_lvl0_end + 0x000000000030783a 0x3 build-fx/src/main.c.o + *fill* 0x000000000030783a 0x2 + .rodata 0x000000000030783c 0x28 build-fx/src/keyboard.c.o + .rodata 0x0000000000307864 0x30 build-fx/src/ennemi.c.o + .rodata 0x0000000000307894 0x204 build-fx/assets/fonts/mario.png.o + 0x0000000000307894 _font_mario + 0x0000000000307a98 _font_mario_end + .rodata 0x0000000000307a98 0x20 build-fx/assets/img/bonus.png.o + 0x0000000000307a98 _img_bonus + 0x0000000000307ab8 _img_bonus_end + .rodata 0x0000000000307ab8 0x24 build-fx/assets/img/bloc.png.o + 0x0000000000307ab8 _img_bloc + 0x0000000000307adc _img_bloc_end + .rodata 0x0000000000307adc 0x404 build-fx/assets/img/ram.png.o + 0x0000000000307adc _img_ram + 0x0000000000307ee0 _img_ram_end + .rodata 0x0000000000307ee0 0x64 build-fx/assets/img/mario.png.o + 0x0000000000307ee0 _img_mario + 0x0000000000307f44 _img_mario_end + .rodata 0x0000000000307f44 0x404 build-fx/assets/img/main.png.o + 0x0000000000307f44 _img_main + 0x0000000000308348 _img_main_end + .rodata 0x0000000000308348 0x404 build-fx/assets/img/new_level.png.o + 0x0000000000308348 _img_new_level + 0x000000000030874c _img_new_level_end + .rodata 0x000000000030874c 0x4c build-fx/assets/img/brick.png.o + 0x000000000030874c _img_brick + 0x0000000000308798 _img_brick_end + .rodata 0x0000000000308798 0x84 build-fx/assets/img/menu_pause.png.o + 0x0000000000308798 _img_menu_pause + 0x000000000030881c _img_menu_pause_end + .rodata 0x000000000030881c 0x18 build-fx/assets/img/select_arrow.png.o + 0x000000000030881c _img_select_arrow + 0x0000000000308834 _img_select_arrow_end + .rodata 0x0000000000308834 0x804 build-fx/assets/img/dev.png.o + 0x0000000000308834 _img_dev + 0x0000000000309038 _img_dev_end + .rodata 0x0000000000309038 0x24 build-fx/assets/img/death.png.o + 0x0000000000309038 _img_death + 0x000000000030905c _img_death_end + .rodata 0x000000000030905c 0x404 build-fx/assets/img/time_over.png.o + 0x000000000030905c _img_time_over + 0x0000000000309460 _img_time_over_end + .rodata 0x0000000000309460 0x4c build-fx/assets/img/coin.png.o + 0x0000000000309460 _img_coin + 0x00000000003094ac _img_coin_end + .rodata 0x00000000003094ac 0x24 build-fx/assets/img/champi.png.o + 0x00000000003094ac _img_champi + 0x00000000003094d0 _img_champi_end + .rodata 0x00000000003094d0 0xdc build-fx/assets/img/mariosmall.png.o + 0x00000000003094d0 _img_mariosmall + 0x00000000003095ac _img_mariosmall_end + .rodata 0x00000000003095ac 0x28 build-fx/assets/img/gift.png.o + 0x00000000003095ac _img_gift + 0x00000000003095d4 _img_gift_end + .rodata 0x00000000003095d4 0x24 build-fx/assets/img/buisson.png.o + 0x00000000003095d4 _img_buisson + 0x00000000003095f8 _img_buisson_end + .rodata 0x00000000003095f8 0x44 build-fx/assets/img/colline.png.o + 0x00000000003095f8 _img_colline + 0x000000000030963c _img_colline_end + .rodata 0x000000000030963c 0x114 build-fx/assets/img/mariobig.png.o + 0x000000000030963c _img_mariobig + 0x0000000000309750 _img_mariobig_end + .rodata 0x0000000000309750 0x404 build-fx/assets/img/error.png.o + 0x0000000000309750 _img_error + 0x0000000000309b54 _img_error_end + .rodata 0x0000000000309b54 0x24 build-fx/assets/img/1up.png.o + 0x0000000000309b54 _img_1up + 0x0000000000309b78 _img_1up_end + .rodata 0x0000000000309b78 0xb8 build-fx/assets/img/tuyau.png.o + 0x0000000000309b78 _img_tuyau + 0x0000000000309c30 _img_tuyau_end + .rodata 0x0000000000309c30 0x14 build-fx/assets/img/bullet.png.o + 0x0000000000309c30 _img_bullet + 0x0000000000309c44 _img_bullet_end + .rodata 0x0000000000309c44 0x28 build-fx/assets/img/carapace_verte.png.o + 0x0000000000309c44 _img_carapace_verte + 0x0000000000309c6c _img_carapace_verte_end + .rodata 0x0000000000309c6c 0x44 build-fx/assets/img/nuage.png.o + 0x0000000000309c6c _img_nuage + 0x0000000000309cb0 _img_nuage_end + .rodata 0x0000000000309cb0 0x64 build-fx/assets/img/koopa_verte.png.o + 0x0000000000309cb0 _img_koopa_verte + 0x0000000000309d14 _img_koopa_verte_end + .rodata 0x0000000000309d14 0x404 build-fx/assets/img/level.png.o + 0x0000000000309d14 _img_level + 0x000000000030a118 _img_level_end + .rodata 0x000000000030a118 0x4c build-fx/assets/img/goomba.png.o + 0x000000000030a118 _img_goomba + 0x000000000030a164 _img_goomba_end + .rodata 0x000000000030a164 0x24 build-fx/assets/img/fleur.png.o + 0x000000000030a164 _img_fleur + 0x000000000030a188 _img_fleur_end + .rodata 0x000000000030a188 0x4c build-fx/assets/img/stone.png.o + 0x000000000030a188 _img_stone + 0x000000000030a1d4 _img_stone_end + .rodata 0x000000000030a1d4 0x404 build-fx/assets/img/lvl0.png.o + 0x000000000030a1d4 _img_lvl0 + 0x000000000030a5d8 _img_lvl0_end .rodata.str1.4 - 0x0000000000309f1c 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - *fill* 0x0000000000309f4d 0x3 - .rodata 0x0000000000309f50 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x000000000030a5d8 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + *fill* 0x000000000030a609 0x3 + .rodata 0x000000000030a60c 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) .rodata.str1.4 - 0x0000000000309f58 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - *fill* 0x0000000000309f5e 0x2 + 0x000000000030a614 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + *fill* 0x000000000030a61a 0x2 .rodata.str1.4 - 0x0000000000309f60 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x000000000030a61c 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) 0x11e (size before relaxing) - *fill* 0x000000000030a07a 0x2 - .rodata 0x000000000030a07c 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + *fill* 0x000000000030a736 0x2 + .rodata 0x000000000030a738 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) .rodata.str1.4 - 0x000000000030a094 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .rodata 0x000000000030a098 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x000000000030a098 _gint_font5x7 - 0x000000000030a4a0 _gint_font5x7_end + 0x000000000030a750 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .rodata 0x000000000030a754 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x000000000030a754 _gint_font5x7 + 0x000000000030ab5c _gint_font5x7_end .rodata.str1.4 - 0x000000000030a4a0 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - *fill* 0x000000000030a4a6 0x2 + 0x000000000030ab5c 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000000030ab62 0x2 .rodata.str1.4 - 0x000000000030a4a8 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .rodata 0x000000000030a4ac 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .rodata 0x000000000030a4bc 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x000000000030a4bc ___clz_tab + 0x000000000030ab64 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .rodata 0x000000000030ab68 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .rodata 0x000000000030ab78 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x000000000030ab78 ___clz_tab -.rela.dyn 0x000000000030a5bc 0x0 - .rela.text 0x000000000030a5bc 0x0 build-fx/src/score.c.o +.rela.dyn 0x000000000030ac78 0x0 + .rela.text 0x000000000030ac78 0x0 build-fx/src/score.c.o .rela.text.startup - 0x000000000030a5bc 0x0 build-fx/src/score.c.o + 0x000000000030ac78 0x0 build-fx/src/score.c.o .rela.pretext.entry - 0x000000000030a5bc 0x0 build-fx/src/score.c.o + 0x000000000030ac78 0x0 build-fx/src/score.c.o 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x5c0 @@ -690,8 +700,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *fill* 0x00000000081005bc 0x4 0x00000000000005c0 _sbss = SIZEOF (.bss) -.data 0x00000000081005c0 0x210 load address 0x000000000030a5bc - 0x000000000030a5bc _ldata = LOADADDR (.data) +.data 0x00000000081005c0 0x210 load address 0x000000000030ac78 + 0x000000000030ac78 _ldata = LOADADDR (.data) 0x00000000081005c0 _rdata = . *(.data .data.*) .data 0x00000000081005c0 0x0 build-fx/src/level.c.o @@ -767,28 +777,28 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(D) 0x00000000081007d0 . = ALIGN (0x10) -.data.4 0x00000000081007d0 0x0 load address 0x000000000030a7cc +.data.4 0x00000000081007d0 0x0 load address 0x000000000030ae88 *(.data.4) 0x00000000081007d0 . = ALIGN (0x10) 0x0000000000000210 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -798,8 +808,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800df00 _gint_vbr = 0x8800df00 0x000000008800f400 . = ORIGIN (rram) -.gint.data 0x000000008800f400 0x140 load address 0x000000000030a7cc - 0x000000000030a7cc _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x000000000030ae88 + 0x000000000030ae88 _lgdata = LOADADDR (.gint.data) 0x000000008800f400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008800f400 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) @@ -820,7 +830,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800f540 . = ALIGN (0x10) 0x0000000000000140 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008800f540 0x290 load address 0x000000000030a90c +.gint.bss 0x000000008800f540 0x290 load address 0x000000000030afc8 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008800f540 0x180 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) .gint.bss 0x000000008800f6c0 0x1c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) diff --git a/build-fx/src/bonus.c.o b/build-fx/src/bonus.c.o index 6a17e6a..7eed611 100644 Binary files a/build-fx/src/bonus.c.o and b/build-fx/src/bonus.c.o differ diff --git a/build-fx/src/box.c.o b/build-fx/src/box.c.o index 08cbc87..943e562 100644 Binary files a/build-fx/src/box.c.o and b/build-fx/src/box.c.o differ diff --git a/build-fx/src/ennemi.c.o b/build-fx/src/ennemi.c.o index 0fd60fe..501a6aa 100644 Binary files a/build-fx/src/ennemi.c.o and b/build-fx/src/ennemi.c.o differ diff --git a/build-fx/src/keyboard.c.o b/build-fx/src/keyboard.c.o index f634599..76eea8f 100644 Binary files a/build-fx/src/keyboard.c.o and b/build-fx/src/keyboard.c.o differ diff --git a/build-fx/src/level.c.o b/build-fx/src/level.c.o index cfb4d90..cf6bad1 100644 Binary files a/build-fx/src/level.c.o and b/build-fx/src/level.c.o differ diff --git a/build-fx/src/mario.c.o b/build-fx/src/mario.c.o index 47d0df1..30be578 100644 Binary files a/build-fx/src/mario.c.o and b/build-fx/src/mario.c.o differ diff --git a/build-fx/src/world.c.o b/build-fx/src/world.c.o index a26327f..3ee8929 100644 Binary files a/build-fx/src/world.c.o and b/build-fx/src/world.c.o differ diff --git a/src/bonus.c b/src/bonus.c index 07d3b59..f3629ce 100644 --- a/src/bonus.c +++ b/src/bonus.c @@ -57,7 +57,7 @@ void bullet_display() if (bullets[i].type==BULLET) { box_jump(&bullets[i].b,4); - box_move(&bullets[i].b); + box_move(&bullets[i].b,0); draw_tile(bullets[i].b.x-world_get_real_x0(), bullets[i].b.y-world_get_real_y0(), &bullet, (1+sgn(bullets[i].b.vy))/2, 0); if (bullets[i].b.vx==0) bullets[i].type=0; @@ -111,7 +111,7 @@ void bonus_move() //+collision { box_jump(&bonus.b,5); } - box_move(&bonus.b); + box_move(&bonus.b,0); if (bonus.type==BONUS_CHAMPI || bonus.type==BONUS_1UP || bonus.type==BONUS_STAR) { diff --git a/src/box.c b/src/box.c index 740826e..12ffa2d 100755 --- a/src/box.c +++ b/src/box.c @@ -11,6 +11,25 @@ int sgn(int x) return -1; } + +int check_collision(box_t *b) +{ + for (int i=0; ix<=b->x && b->xx+t->w) || (t->x<=b->x+b->w-1 && b->x+b->wx+t->w); + int y_collide= (t->y<=b->y && b->yy+t->h) || (t->y<=b->y+b->h-1 && b->y+b->hy+t->h); + if (x_collide&&y_collide) + return 1; + } + } + return 0; +} + + + static void move_x(box_t * b) { int sgn_vx=sgn(b->vx); @@ -109,7 +128,7 @@ static void move_y(box_t * b) } -int box_move(box_t * b) +int box_move(box_t * b, int c) { //velx move_x(b); diff --git a/src/box.h b/src/box.h index 2f97fde..e31e7c2 100755 --- a/src/box.h +++ b/src/box.h @@ -16,7 +16,7 @@ typedef struct //int is_mario; } box_t; -int box_move(box_t * b); +int box_move(box_t * b, int collide); int box_jump(box_t * b, int height); // hauteur du saut #endif \ No newline at end of file diff --git a/src/ennemi.c b/src/ennemi.c index 503b2f5..8cf14fe 100644 --- a/src/ennemi.c +++ b/src/ennemi.c @@ -19,18 +19,32 @@ void display_ennemi(ennemi_t * e) if (e->type==GOOMBA) { extern image_t img_goomba; - tileset_t goomba={&img_goomba, 8, 8, 1}; + tileset_t goomba={&img_goomba, GOOMBA_X, GOOMBA_Y, 1}; if (e->life==1) draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &goomba, 1+(time_id/10)%2, 0); if (e->life==0) draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &goomba, 0, 0); } + if (e->type==KOOPA_VERTE) + { + extern image_t img_koopa_verte; + tileset_t koopa_verte={&img_koopa_verte, KOOPA_X, KOOPA_Y, 1}; + if (e->life==1) + draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &koopa_verte, (1+e->p1)+(time_id/8)%2, 0); + } + if (e->type==CARAPACE_VERTE) + { + extern image_t img_carapace_verte; + tileset_t carapace_verte={&img_carapace_verte, CARAPACE_X, CARAPACE_Y, 1}; + draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &carapace_verte, 0, 0); + } + } bool ennemi_check_collision(ennemi_t *e) { - bool x_collide= (mario.p.x<=e->b.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x-e->b.w>world_get_real_x0() && e->b.xb.x-e->b.w>world_get_real_x0() && e->b.xdiscovered=1; if (e->b.x+e->b.w<=world_get_real_x0()) e->type=NONE; @@ -72,15 +86,33 @@ void move_ennemi(ennemi_t *e) bool y_collide= (t->b.y<=e->b.y+e->b.vy && e->b.y+e->b.vyb.y+t->b.h) || (t->b.y<=e->b.y+e->b.h-1+e->b.vy && e->b.y+e->b.h+e->b.vyb.y+t->b.h); if (x_collide&&y_collide) { - e->b.vx=0; - e->b.vy=0; + if (e->type!=CARAPACE_VERTE && e->type!=CARAPACE_ROUGE) + { + e->b.vx=0; + e->b.vy=0; + } + else + { + if (t->type==CARAPACE_VERTE || t->type==CARAPACE_ROUGE) + { + e->p1*=-1; + e->b.vx=3*e->p1; + } + else + { + e->life=DEAD; + e->p1=time_id; + score_add(200); + } + + } } int sol=0; for (int j=0; jb.h; j++) { gift_t * c=world_get(e->b.x+j ,e->b.y-1); - if ((c->type==GIFT || c->type==BRICK) && c->time_hit_id) + if ((c->type==GIFT || c->type==BRICK) && (c->time_hit_id || c->state)) { e->life=DEAD; e->p1=time_id; @@ -99,7 +131,7 @@ void move_ennemi(ennemi_t *e) if (time_id%2) e->b.vx=0; - box_move(&e->b); + box_move(&e->b,1); if (time_id%2) e->b.vx=old_vx; @@ -125,8 +157,9 @@ void move_ennemi(ennemi_t *e) { e->life=DEAD; e->p1=time_id; - score_add(100); + score_add(200); mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_X; } else hurt_mario(); @@ -138,6 +171,93 @@ void move_ennemi(ennemi_t *e) e->life=DEAD; } } + + if (e->type==KOOPA_VERTE) + { + if (e->life==1) + { + int old_vx=e->b.vx; + if (time_id%2) + e->b.vx=0; + + box_move(&e->b,1); + + if (time_id%2) + e->b.vx=old_vx; + + if (e->b.vx==0) + { + if (e->p1==0) + { + e->b.vx=-1; + e->p1=-1; + } + else + { + e->p1*=-1; + e->b.vx=e->p1; + } + } + if (e->b.y<0) + e->type=NONE; + if (ennemi_check_collision(e)) + { + if (mario.p.vy<=-2) + { + e->type=CARAPACE_VERTE; + e->b.h=CARAPACE_Y; + e->p1=0; + e->b.vx=0; + score_add(200); + mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_Y+1; + } + else + hurt_mario(); + } + } + else + e->life=DEAD; + } + if (e->type==CARAPACE_VERTE) + { + if (e->life==1) + { + box_move(&e->b,0); + + if (e->b.vx==0) + { + e->p1*=-1; + e->b.vx=e->p1; + } + if (e->b.y<0) + e->type=NONE; + + if (ennemi_check_collision(e)) + { + if (e->p1==0) + { + if (mario.p.x>=e->b.x) + e->p1=-1; + if (mario.p.vy<=e->b.x) + e->p1=1; + e->b.vx=3*e->p1; + } + else + { + if (mario.p.vy<=-2) + { + e->p1=0; + e->b.vx=0; + mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_Y+1; + } + else + hurt_mario(); + } + } + } + } display_ennemi(e); } diff --git a/src/ennemi.h b/src/ennemi.h index 0d9e2c9..e2d6a4a 100644 --- a/src/ennemi.h +++ b/src/ennemi.h @@ -3,14 +3,31 @@ #include "box.h" -#define NONE 0 -#define GOOMBA 1 +#define NONE 0 +#define GOOMBA 1 +#define KOOPA_VERTE 2 +#define CARAPACE_VERTE 3 +#define KOOPA_ROUGE 4 +#define CARAPACE_ROUGE 5 + #define DEAD -1 #define STATE1 0 #define STATE2 1 #define STATE3 2 +// Dimensions pr les boites + +#define GOOMBA_X 8 +#define GOOMBA_Y 8 + +#define KOOPA_X 8 +#define KOOPA_Y 12 + +#define CARAPACE_X 8 +#define CARAPACE_Y 9 + + typedef struct { int type; diff --git a/src/keyboard.c b/src/keyboard.c index 5b9da3a..025b8b9 100755 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -39,6 +39,8 @@ int menu_pause() // 1 exit, 0 continue choice=1; if (keydown(KEY_EXIT)) return 0; + if (keydown(KEY_MENU)) + return 1; if (keydown(KEY_F1)) { e=pollevent(); diff --git a/src/level.c b/src/level.c index 378b40f..3627c96 100644 --- a/src/level.c +++ b/src/level.c @@ -154,31 +154,49 @@ void set_level(int n) {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0x15}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0x41}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {GIFT,0x21}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, }; lvl=&level_0; extern image_t img_lvl0; w_fond=&img_lvl0; - w_current_x=101; + w_current_x=114; w_current_y=13; mario_x_max=0; mario.p.x=25; mario.p.y=16; init_level(lvl); - ennemis_global_size=6; + ennemis_global_size=10; ennemi_t ennemies0[]= { - {GOOMBA,{176,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{321,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{409,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{421,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{640,72,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{656,72,8,8,-1,0,1},-1,0,1} + {GOOMBA,{176,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{321,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{409,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{421,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{640,80,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{656,80,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{776,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{788,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {KOOPA_VERTE,{856,16,KOOPA_X,KOOPA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{912,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{924,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1} }; init_ennemies(ennemies0); diff --git a/src/mario.c b/src/mario.c index ca88fe9..7671b08 100755 --- a/src/mario.c +++ b/src/mario.c @@ -45,15 +45,12 @@ int mario_immunity=0; void mario_bigger() { mario.p.h=16; - mario.p.y-=7; mario.size=M_BIG; mario_has_bullets=0; } void mario_smaller() { - if (mario.size==M_BIG) - mario.p.y-=8; mario.p.h=8; mario.size=M_SMALL; mario_has_bullets=0; @@ -195,7 +192,7 @@ void mario_move() if (mario.p.x+mario.p.vx + gravity + box_move(&mario.p,1); // <-> + gravity if (mario.p.y<0) mario_dead=1; diff --git a/src/world.c b/src/world.c index ccc28a7..211c256 100755 --- a/src/world.c +++ b/src/world.c @@ -13,7 +13,7 @@ int w_mario_starty=0; int world_get_width() { - return w_current_x*8; + return w_current_x*8; } world_t death={0,0}; @@ -22,7 +22,7 @@ world_t* world_get(int x, int y) { x/=8; y/=8; - if (0<=x && xtype==TUYAU) { - tuyau_t* i=(tuyau_t*)cell; + tuyau_t* i=(tuyau_t*)cell; draw_tile(sx, sy, &tuyau, i->x, i->y); } if (cell->type==EARTH) { - earth_t* i=(earth_t*)cell; + earth_t* i=(earth_t*)cell; draw_tile(sx, sy, &earth, i->x, i->y); } if (cell->type==BLOC) { - draw_tile(sx, sy, &bloc, 0, 0); + draw_tile(sx, sy, &bloc, 0, 0); } if (cell->type==BRICK) { - brick_t* i=(brick_t*)cell; + brick_t* i=(brick_t*)cell; if (i->time_hit_id) { i->time_hit_id++; @@ -73,9 +73,9 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) else draw_tile(sx, sy, &gift, 1, 0); if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); + draw_tile(sx, sy+8, &coin, 0, 0); } - } + } if (cell->type==GIFT) { @@ -94,7 +94,7 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) else draw_tile(sx, sy, &gift, 1, 0); if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); + draw_tile(sx, sy+8, &coin, 0, 0); } } } @@ -103,7 +103,7 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) if (cell->type==COIN) { coin_t* i=cell; - draw_tile(sx, sy, &coin, i->taken, 0); + draw_tile(sx, sy, &coin, i->taken, 0); } if (cell->type==BUISSON || cell->type==NUAGE || cell->type==COLLINE) @@ -122,11 +122,11 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) int world_get_ctg(int x, int y) { world_t *c=world_get(x,y); - if (c==0) + if (c==0) { return CTG_DEATH; } - switch (c->type) + switch (c->type) { case TUYAU: case GIFT: @@ -140,21 +140,22 @@ int world_get_ctg(int x, int y) static int max(const int x, const int y) { - return (xy?y:x); + return (x>y?y:x); } int world_get_real_x0() //mario delta en 0,0 -{ if (mario.p.x>mario_x_max) +{ if (mario.p.x>mario_x_max) mario_x_max=mario.p.x; - return min(max(mario_x_max-54,0),w_current_x*8-128);} + return min(max(mario_x_max-32,0),w_current_x*8-128); +} int world_get_real_y0() //mario delta en 0,0 -{return /*min(*/max(mario.p.y-32,0)/*,w_current_y*8-64)*/;} +{return /*min(*/max(mario.p.y-24,0)/*,w_current_y*8-64)*/;} @@ -168,12 +169,12 @@ void world_draw(int x, int y) for (int i=0; i<=17; i++) { int my=my0; - for (int j=0; j<=9; j++) + for (int j=0; j<=9; j++) { display_cell(mx, my, 8*i-sx0, 8*j-sy0,0); //ap my+=8; } - mx+=8; + mx+=8; } bonus_draw(); @@ -188,7 +189,7 @@ void world_draw(int x, int y) for (int i=0; i<=17; i++) { int my=my0; - for (int j=0; j<=9; j++) + for (int j=0; j<=9; j++) { display_cell(mx, my, 8*i-sx0, 8*j-sy0,1); //pp my+=8;