diff --git a/SuperCbr.g1a b/SuperCbr.g1a index 3624745..5548a7d 100644 Binary files a/SuperCbr.g1a and b/SuperCbr.g1a differ diff --git a/assets-fx/img/bloc.png b/assets-fx/img/bloc.png new file mode 100644 index 0000000..a438992 Binary files /dev/null and b/assets-fx/img/bloc.png differ diff --git a/assets-fx/img/buisson.png b/assets-fx/img/buisson.png new file mode 100644 index 0000000..19c08b0 Binary files /dev/null and b/assets-fx/img/buisson.png differ diff --git a/assets-fx/img/bullet.png b/assets-fx/img/bullet.png new file mode 100644 index 0000000..fc0acb8 Binary files /dev/null and b/assets-fx/img/bullet.png differ diff --git a/assets-fx/img/champi.png b/assets-fx/img/champi.png new file mode 100644 index 0000000..a7a57d7 Binary files /dev/null and b/assets-fx/img/champi.png differ diff --git a/assets-fx/img/colline.png b/assets-fx/img/colline.png new file mode 100644 index 0000000..b08ad14 Binary files /dev/null and b/assets-fx/img/colline.png differ diff --git a/assets-fx/img/fleur.png b/assets-fx/img/fleur.png new file mode 100644 index 0000000..f273bb5 Binary files /dev/null and b/assets-fx/img/fleur.png differ diff --git a/assets-fx/img/mariobig.png b/assets-fx/img/mariobig.png new file mode 100644 index 0000000..05aa263 Binary files /dev/null and b/assets-fx/img/mariobig.png differ diff --git a/assets-fx/img/nuage.png b/assets-fx/img/nuage.png new file mode 100644 index 0000000..03cc139 Binary files /dev/null and b/assets-fx/img/nuage.png differ diff --git a/build-fx/SuperCbr.bin b/build-fx/SuperCbr.bin index f4e14d8..af9cf80 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 6a6b973..0fe3b5c 100755 Binary files a/build-fx/SuperCbr.elf and b/build-fx/SuperCbr.elf differ diff --git a/build-fx/assets/img/bloc.png.o b/build-fx/assets/img/bloc.png.o new file mode 100644 index 0000000..25ead2d Binary files /dev/null and b/build-fx/assets/img/bloc.png.o differ diff --git a/build-fx/assets/img/buisson.png.o b/build-fx/assets/img/buisson.png.o new file mode 100644 index 0000000..5b93a75 Binary files /dev/null and b/build-fx/assets/img/buisson.png.o differ diff --git a/build-fx/assets/img/bullet.png.o b/build-fx/assets/img/bullet.png.o new file mode 100644 index 0000000..58cf7e9 Binary files /dev/null and b/build-fx/assets/img/bullet.png.o differ diff --git a/build-fx/assets/img/champi.png.o b/build-fx/assets/img/champi.png.o new file mode 100644 index 0000000..f5c302e Binary files /dev/null and b/build-fx/assets/img/champi.png.o differ diff --git a/build-fx/assets/img/colline.png.o b/build-fx/assets/img/colline.png.o new file mode 100644 index 0000000..2b95054 Binary files /dev/null and b/build-fx/assets/img/colline.png.o differ diff --git a/build-fx/assets/img/fleur.png.o b/build-fx/assets/img/fleur.png.o new file mode 100644 index 0000000..7c06f72 Binary files /dev/null and b/build-fx/assets/img/fleur.png.o differ diff --git a/build-fx/assets/img/mariobig.png.o b/build-fx/assets/img/mariobig.png.o new file mode 100644 index 0000000..447d5a6 Binary files /dev/null and b/build-fx/assets/img/mariobig.png.o differ diff --git a/build-fx/assets/img/nuage.png.o b/build-fx/assets/img/nuage.png.o new file mode 100644 index 0000000..2ad3952 Binary files /dev/null and b/build-fx/assets/img/nuage.png.o differ diff --git a/build-fx/map b/build-fx/map index afe5190..e882ea7 100644 --- a/build-fx/map +++ b/build-fx/map @@ -65,7 +65,7 @@ Archive member included to satisfy reference by file (symbol) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) (_inth_tmu) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - build-fx/src/level.c.o (___movmemSI44) + /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) (___movmemSI24) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) (___udivdi3) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) @@ -84,6 +84,7 @@ Discarded input sections .comment 0x0000000000000000 0x12 build-fx/src/tile.c.o .comment 0x0000000000000000 0x12 build-fx/src/box.c.o .comment 0x0000000000000000 0x12 build-fx/src/world.c.o + .comment 0x0000000000000000 0x12 build-fx/src/bonus.c.o .comment 0x0000000000000000 0x12 build-fx/src/mario.c.o .comment 0x0000000000000000 0x12 build-fx/src/main.c.o .comment 0x0000000000000000 0x12 build-fx/src/keyboard.c.o @@ -159,12 +160,14 @@ LOAD build-fx/src/score.c.o LOAD build-fx/src/tile.c.o LOAD build-fx/src/box.c.o LOAD build-fx/src/world.c.o +LOAD build-fx/src/bonus.c.o LOAD build-fx/src/mario.c.o LOAD build-fx/src/main.c.o LOAD build-fx/src/keyboard.c.o LOAD build-fx/src/ennemi.c.o LOAD build-fx/assets/fonts/mario.png.o LOAD build-fx/assets/img/bonus.png.o +LOAD build-fx/assets/img/bloc.png.o LOAD build-fx/assets/img/ram.png.o LOAD build-fx/assets/img/mario.png.o LOAD build-fx/assets/img/main.png.o @@ -175,19 +178,26 @@ LOAD build-fx/assets/img/new_level.png.o LOAD build-fx/assets/img/death.png.o LOAD build-fx/assets/img/time_over.png.o LOAD build-fx/assets/img/coin.png.o +LOAD build-fx/assets/img/champi.png.o LOAD build-fx/assets/img/mariosmall.png.o LOAD build-fx/assets/img/gift.png.o +LOAD build-fx/assets/img/buisson.png.o +LOAD build-fx/assets/img/colline.png.o +LOAD build-fx/assets/img/mariobig.png.o LOAD build-fx/assets/img/error.png.o LOAD build-fx/assets/img/tuyau.png.o +LOAD build-fx/assets/img/bullet.png.o +LOAD build-fx/assets/img/nuage.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 LOAD build-fx/assets/img/stone.png.o LOAD build-fx/assets/img/lvl0.png.o 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 - 0x00000000000074fc _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000008f6c _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -227,7 +237,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 0x4800 +.text 0x0000000000300ad0 0x4d98 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -235,328 +245,361 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300ad0 _gint_exch_tlbh 0x000000000000004c _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) *(.text .text.*) - .text 0x0000000000300b1c 0x388 build-fx/src/level.c.o + .text 0x0000000000300b1c 0x1e0 build-fx/src/level.c.o 0x0000000000300b1c _malloc_error 0x0000000000300b54 _init_level 0x0000000000300bc8 _init_ennemies 0x0000000000300c28 _set_level - 0x0000000000300e74 _get_lvl_id - .text 0x0000000000300ea4 0x218 build-fx/src/score.c.o - 0x0000000000300ef4 _new_level - 0x0000000000300f18 _new_game - 0x0000000000300f50 _score_add_coin - 0x0000000000300f68 _score_add - 0x0000000000300f7c _score_display - .text 0x00000000003010bc 0x40 build-fx/src/tile.c.o - 0x00000000003010bc _draw_tile - .text 0x00000000003010fc 0x198 build-fx/src/box.c.o - 0x00000000003010fc _sgn - 0x000000000030110e _box_move - 0x0000000000301234 _box_jump - .text 0x0000000000301294 0x3e4 build-fx/src/world.c.o - 0x0000000000301294 _world_get_width - 0x00000000003012a4 _world_get - 0x0000000000301308 _display_cell - 0x0000000000301528 _world_get_ctg - 0x0000000000301564 _world_get_real_x0 - 0x000000000030158c _world_get_real_y0 - 0x00000000003015ac _world_draw - .text 0x0000000000301678 0x588 build-fx/src/mario.c.o - 0x0000000000301688 _mario_draw - 0x0000000000301770 _test_sol_le_plus_proche - 0x00000000003017dc _mario_move - .text 0x0000000000301c00 0x40 build-fx/src/main.c.o - 0x0000000000301c00 _callback - 0x0000000000301c08 _system_error - .text.startup 0x0000000000301c40 0x1b8 build-fx/src/main.c.o - 0x0000000000301c40 _main - .text 0x0000000000301df8 0x1f4 build-fx/src/keyboard.c.o - 0x0000000000301df8 _menu_pause - 0x0000000000301efc _update_keyboard - .text 0x0000000000301fec 0x2b0 build-fx/src/ennemi.c.o - 0x0000000000301fec _display_ennemi - 0x00000000003020dc _ennemi_check_collision - 0x0000000000302130 _move_ennemi - 0x000000000030225c _display_ennemi_table - .text 0x000000000030229c 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x0000000000302c98 _kprint_opt - 0x0000000000302de0 _kprint - 0x0000000000302eb8 _kvsprint - 0x0000000000302f00 _sprintf - 0x0000000000302f28 _vsprintf - 0x0000000000302f48 _snprintf - 0x0000000000302f68 _vsnprintf - .text 0x0000000000302f80 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000302f80 _memcpy - 0x000000000030303a __memmove - 0x000000000030303e __memcmp - 0x0000000000303042 _memset - .text 0x000000000030305c 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 0x000000000030305c 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 0x000000000030305c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x000000000030305c _dupdate - 0x0000000000303074 _dupdate_noint - .text 0x0000000000303080 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000303080 _dimage - 0x00000000003030d4 _dsubimage - .text 0x0000000000303148 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x0000000000303148 _dclear - .text 0x0000000000303194 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x000000000030333c _pollevent - 0x0000000000303480 _waitevent - 0x00000000003034cc _clearevents - 0x00000000003034ec _keydown - 0x0000000000303518 _keydown_all - 0x0000000000303554 _keydown_any - .text 0x0000000000303590 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x000000000030359c _iokbd_row - 0x0000000000303684 _iokbd_scan - .text 0x00000000003036b4 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x00000000003036b4 _getkey_opt - 0x0000000000303860 _getkey - 0x000000000030386c _getkey_repeat - .text 0x00000000003038a8 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 0x00000000003038a8 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x0000000000303a38 _gint_panic - 0x0000000000303a48 _gint_panic_set - 0x0000000000303a54 _gint_exc_catch - 0x0000000000303a60 _gint_exc_skip - .text 0x0000000000303a6c 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 0x0000000000303a6c 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000303b20 _gint_install - 0x0000000000303bd0 _gint_unload - .text 0x0000000000303be8 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 0x0000000000303be8 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 0x0000000000303be8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x0000000000303be8 _tlb_addr - 0x0000000000303bfc _tlb_data - 0x0000000000303c10 _tlb_mapped_memory - 0x0000000000303ce4 _utlb_addr - 0x0000000000303cf4 _utlb_data - 0x0000000000303d04 _utlb_mapped_memory - .text 0x0000000000303ddc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000000303ddc _dsize - .text 0x0000000000303e78 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x0000000000303e78 _dprint - .text 0x0000000000303ed0 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003041f0 _timer_setup - 0x0000000000304280 _timer_delay - 0x00000000003042e0 _timer_start - 0x0000000000304314 _timer_reload - 0x0000000000304334 _timer_pause - 0x0000000000304368 _timer_stop - 0x00000000003043c4 _timer_timeout - 0x00000000003043d0 _timer_address - 0x000000000030440c _timer_clear - .text 0x000000000030443c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x000000000030443c _sleep_us - .text 0x0000000000304494 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030452c _t6k11_display - 0x0000000000304600 _t6k11_contrast - 0x000000000030462c _t6k11_backlight - .text 0x000000000030466c 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x00000000003047b0 _clock_freq - .text 0x00000000003047bc 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 0x00000000003047bc 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) - 0x00000000003047bc _bopti_asm_mono - 0x00000000003047e2 _bopti_asm_mono_alpha - .text 0x0000000000304814 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x0000000000304814 _bopti_grid - 0x0000000000304988 _bopti_render - 0x0000000000304ab8 _bopti_render_clip - 0x0000000000304bcc _bopti_render_noclip - .text 0x0000000000304c24 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x0000000000304c24 _masks - .text 0x0000000000304cc0 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x0000000000304cc0 _gint_setvbr - .text 0x0000000000304cec 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x0000000000304cec _gint_intlevel - 0x0000000000304d40 _gint_inthandler - .text 0x0000000000304d64 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 0x0000000000304d64 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 0x0000000000304d64 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000304d64 ___movstr - 0x0000000000304d64 ___movmem - 0x0000000000304d98 ___movmemSI64 - 0x0000000000304d98 ___movstrSI64 - 0x0000000000304d9c ___movstrSI60 - 0x0000000000304d9c ___movmemSI60 - 0x0000000000304da0 ___movmemSI56 - 0x0000000000304da0 ___movstrSI56 - 0x0000000000304da4 ___movstrSI52 - 0x0000000000304da4 ___movmemSI52 - 0x0000000000304da8 ___movstrSI48 - 0x0000000000304da8 ___movmemSI48 - 0x0000000000304dac ___movstrSI44 - 0x0000000000304dac ___movmemSI44 - 0x0000000000304db0 ___movstrSI40 - 0x0000000000304db0 ___movmemSI40 - 0x0000000000304db4 ___movstrSI36 - 0x0000000000304db4 ___movmemSI36 - 0x0000000000304db8 ___movmemSI32 - 0x0000000000304db8 ___movstrSI32 - 0x0000000000304dbc ___movmemSI28 - 0x0000000000304dbc ___movstrSI28 - 0x0000000000304dc0 ___movstrSI24 - 0x0000000000304dc0 ___movmemSI24 - 0x0000000000304dc4 ___movmemSI20 - 0x0000000000304dc4 ___movstrSI20 - 0x0000000000304dc8 ___movstrSI16 - 0x0000000000304dc8 ___movmemSI16 - 0x0000000000304dcc ___movmemSI12 - 0x0000000000304dcc ___movstrSI12 - 0x0000000000304dd0 ___movmemSI8 - 0x0000000000304dd0 ___movstrSI8 - 0x0000000000304dd4 ___movmemSI4 - 0x0000000000304dd4 ___movstrSI4 - .text 0x0000000000304ddc 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x0000000000304ddc ___udivdi3 - .text 0x0000000000304fcc 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x0000000000304fcc ___umoddi3 - .text 0x0000000000305200 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000305222 ___udivsi3 - *fill* 0x000000000030526c 0x4 - .text 0x0000000000305270 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000305270 ___udiv_qrnnd_16 - .text 0x00000000003052d0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300ccc _get_lvl_id + .text 0x0000000000300cfc 0x200 build-fx/src/score.c.o + 0x0000000000300cfc _new_level + 0x0000000000300d20 _new_game + 0x0000000000300d58 _score_add_coin + 0x0000000000300d68 _score_add + 0x0000000000300dbc _score_display + .text 0x0000000000300efc 0x40 build-fx/src/tile.c.o + 0x0000000000300efc _draw_tile + .text 0x0000000000300f3c 0x2f8 build-fx/src/box.c.o + 0x0000000000300f3c _sgn + 0x0000000000300f4e _box_move + 0x00000000003011d4 _box_jump + .text 0x0000000000301234 0x514 build-fx/src/world.c.o + 0x0000000000301234 _world_get_width + 0x0000000000301244 _world_get + 0x00000000003012a8 _display_cell + 0x00000000003015b6 _world_get_ctg + 0x00000000003015ec _world_get_real_x0 + 0x0000000000301614 _world_get_real_y0 + 0x000000000030163c _world_draw + .text 0x0000000000301748 0x324 build-fx/src/bonus.c.o + 0x0000000000301748 _lance_bullet + 0x0000000000301794 _bullet_display + 0x000000000030185c _bonus_set + 0x000000000030188c _bonus_move + 0x00000000003019d4 _bonus_draw + .text 0x0000000000301a6c 0x664 build-fx/src/mario.c.o + 0x0000000000301a7c _mario_bigger + 0x0000000000301a9c _mario_smaller + 0x0000000000301ac0 _mario_draw + 0x0000000000301c34 _test_sol_le_plus_proche + 0x0000000000301ca0 _mario_move + .text 0x00000000003020d0 0x40 build-fx/src/main.c.o + 0x00000000003020d0 _callback + 0x00000000003020d8 _system_error + .text.startup 0x0000000000302110 0x1b8 build-fx/src/main.c.o + 0x0000000000302110 _main + .text 0x00000000003022c8 0x1f4 build-fx/src/keyboard.c.o + 0x00000000003022c8 _menu_pause + 0x00000000003023cc _update_keyboard + .text 0x00000000003024bc 0x378 build-fx/src/ennemi.c.o + 0x00000000003024bc _display_ennemi + 0x00000000003025ac _ennemi_check_collision + 0x0000000000302610 _hurt_mario + 0x0000000000302624 _move_ennemi + 0x00000000003027f4 _display_ennemi_table + .text 0x0000000000302834 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000303230 _kprint_opt + 0x0000000000303378 _kprint + 0x0000000000303450 _kvsprint + 0x0000000000303498 _sprintf + 0x00000000003034c0 _vsprintf + 0x00000000003034e0 _snprintf + 0x0000000000303500 _vsnprintf + .text 0x0000000000303518 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x0000000000303518 _memcpy + 0x00000000003035d2 __memmove + 0x00000000003035d6 __memcmp + 0x00000000003035da _memset + .text 0x00000000003035f4 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 0x00000000003035f4 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 0x00000000003035f4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x00000000003035f4 _dupdate + 0x000000000030360c _dupdate_noint + .text 0x0000000000303618 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000303618 _dimage + 0x000000000030366c _dsubimage + .text 0x00000000003036e0 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x00000000003036e0 _dclear + .text 0x000000000030372c 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x00000000003038d4 _pollevent + 0x0000000000303a18 _waitevent + 0x0000000000303a64 _clearevents + 0x0000000000303a84 _keydown + 0x0000000000303ab0 _keydown_all + 0x0000000000303aec _keydown_any + .text 0x0000000000303b28 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x0000000000303b34 _iokbd_row + 0x0000000000303c1c _iokbd_scan + .text 0x0000000000303c4c 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x0000000000303c4c _getkey_opt + 0x0000000000303df8 _getkey + 0x0000000000303e04 _getkey_repeat + .text 0x0000000000303e40 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 0x0000000000303e40 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x0000000000303fd0 _gint_panic + 0x0000000000303fe0 _gint_panic_set + 0x0000000000303fec _gint_exc_catch + 0x0000000000303ff8 _gint_exc_skip + .text 0x0000000000304004 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 0x0000000000304004 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x00000000003040b8 _gint_install + 0x0000000000304168 _gint_unload + .text 0x0000000000304180 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 0x0000000000304180 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 0x0000000000304180 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000304180 _tlb_addr + 0x0000000000304194 _tlb_data + 0x00000000003041a8 _tlb_mapped_memory + 0x000000000030427c _utlb_addr + 0x000000000030428c _utlb_data + 0x000000000030429c _utlb_mapped_memory + .text 0x0000000000304374 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x0000000000304374 _dsize + .text 0x0000000000304410 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000304410 _dprint + .text 0x0000000000304468 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000304788 _timer_setup + 0x0000000000304818 _timer_delay + 0x0000000000304878 _timer_start + 0x00000000003048ac _timer_reload + 0x00000000003048cc _timer_pause + 0x0000000000304900 _timer_stop + 0x000000000030495c _timer_timeout + 0x0000000000304968 _timer_address + 0x00000000003049a4 _timer_clear + .text 0x00000000003049d4 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x00000000003049d4 _sleep_us + .text 0x0000000000304a2c 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000304ac4 _t6k11_display + 0x0000000000304b98 _t6k11_contrast + 0x0000000000304bc4 _t6k11_backlight + .text 0x0000000000304c04 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000304d48 _clock_freq + .text 0x0000000000304d54 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 0x0000000000304d54 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) + 0x0000000000304d54 _bopti_asm_mono + 0x0000000000304d7a _bopti_asm_mono_alpha + .text 0x0000000000304dac 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x0000000000304dac _bopti_grid + 0x0000000000304f20 _bopti_render + 0x0000000000305050 _bopti_render_clip + 0x0000000000305164 _bopti_render_noclip + .text 0x00000000003051bc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x00000000003051bc _masks + .text 0x0000000000305258 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000305258 _gint_setvbr + .text 0x0000000000305284 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x0000000000305284 _gint_intlevel + 0x00000000003052d8 _gint_inthandler + .text 0x00000000003052fc 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 0x00000000003052fc 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 0x00000000003052fc 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x00000000003052fc ___movstr + 0x00000000003052fc ___movmem + 0x0000000000305330 ___movmemSI64 + 0x0000000000305330 ___movstrSI64 + 0x0000000000305334 ___movstrSI60 + 0x0000000000305334 ___movmemSI60 + 0x0000000000305338 ___movmemSI56 + 0x0000000000305338 ___movstrSI56 + 0x000000000030533c ___movstrSI52 + 0x000000000030533c ___movmemSI52 + 0x0000000000305340 ___movstrSI48 + 0x0000000000305340 ___movmemSI48 + 0x0000000000305344 ___movstrSI44 + 0x0000000000305344 ___movmemSI44 + 0x0000000000305348 ___movstrSI40 + 0x0000000000305348 ___movmemSI40 + 0x000000000030534c ___movstrSI36 + 0x000000000030534c ___movmemSI36 + 0x0000000000305350 ___movmemSI32 + 0x0000000000305350 ___movstrSI32 + 0x0000000000305354 ___movmemSI28 + 0x0000000000305354 ___movstrSI28 + 0x0000000000305358 ___movstrSI24 + 0x0000000000305358 ___movmemSI24 + 0x000000000030535c ___movmemSI20 + 0x000000000030535c ___movstrSI20 + 0x0000000000305360 ___movstrSI16 + 0x0000000000305360 ___movmemSI16 + 0x0000000000305364 ___movmemSI12 + 0x0000000000305364 ___movstrSI12 + 0x0000000000305368 ___movmemSI8 + 0x0000000000305368 ___movstrSI8 + 0x000000000030536c ___movmemSI4 + 0x000000000030536c ___movstrSI4 + .text 0x0000000000305374 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x0000000000305374 ___udivdi3 + .text 0x0000000000305564 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000305564 ___umoddi3 + .text 0x0000000000305798 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x00000000003057ba ___udivsi3 + *fill* 0x0000000000305804 0x4 + .text 0x0000000000305808 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000305808 ___udiv_qrnnd_16 + .text 0x0000000000305868 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 0x00000000003052d0 0x120 +.gint.blocks 0x0000000000305870 0x120 *(.gint.blocks) - .gint.blocks 0x00000000003052d0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x00000000003052d0 _gint_inth_7305 - 0x00000000003052f0 _gint_inth_7705 - .gint.blocks 0x0000000000305310 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000305310 _inth_tmu - 0x0000000000305390 _inth_etmu2 - 0x00000000003053b0 _inth_etmu_help - 0x00000000003053d0 _inth_etmux + .gint.blocks 0x0000000000305870 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000305870 _gint_inth_7305 + 0x0000000000305890 _gint_inth_7705 + .gint.blocks 0x00000000003058b0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x00000000003058b0 _inth_tmu + 0x0000000000305930 _inth_etmu2 + 0x0000000000305950 _inth_etmu_help + 0x0000000000305970 _inth_etmux -.gint.drivers 0x00000000003053f0 0x90 - 0x00000000003053f0 _bdrv = . +.gint.drivers 0x0000000000305990 0x90 + 0x0000000000305990 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x00000000003053f0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x00000000003053f0 _drv_cpg + 0x0000000000305990 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305990 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000305414 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000305414 _drv_tmu + 0x00000000003059b4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x00000000003059b4 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000305438 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000305438 _drv_keysc + 0x00000000003059d8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x00000000003059d8 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x000000000030545c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030545c _drv_t6k11 + 0x00000000003059fc 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x00000000003059fc _drv_t6k11 *(.gint.drivers.6) - 0x0000000000305480 _edrv = . + 0x0000000000305a20 _edrv = . -.rodata 0x0000000000305480 0x294c +.rodata 0x0000000000305a20 0x3e24 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000305480 0x2c build-fx/src/level.c.o + .rodata 0x0000000000305a20 0x12c4 build-fx/src/level.c.o .rodata.str1.4 - 0x00000000003054ac 0x1e build-fx/src/score.c.o + 0x0000000000306ce4 0x1e build-fx/src/score.c.o .rodata.str1.4 - 0x00000000003054ca 0x3 build-fx/src/main.c.o - *fill* 0x00000000003054ca 0x2 - .rodata 0x00000000003054cc 0x10 build-fx/src/ennemi.c.o - .rodata 0x00000000003054dc 0x204 build-fx/assets/fonts/mario.png.o - 0x00000000003054dc _font_mario - 0x00000000003056e0 _font_mario_end - .rodata 0x00000000003056e0 0x20 build-fx/assets/img/bonus.png.o - 0x00000000003056e0 _img_bonus - 0x0000000000305700 _img_bonus_end - .rodata 0x0000000000305700 0x404 build-fx/assets/img/ram.png.o - 0x0000000000305700 _img_ram - 0x0000000000305b04 _img_ram_end - .rodata 0x0000000000305b04 0x64 build-fx/assets/img/mario.png.o - 0x0000000000305b04 _img_mario - 0x0000000000305b68 _img_mario_end - .rodata 0x0000000000305b68 0x404 build-fx/assets/img/main.png.o - 0x0000000000305b68 _img_main - 0x0000000000305f6c _img_main_end - .rodata 0x0000000000305f6c 0x4c build-fx/assets/img/brick.png.o - 0x0000000000305f6c _img_brick - 0x0000000000305fb8 _img_brick_end - .rodata 0x0000000000305fb8 0x84 build-fx/assets/img/menu_pause.png.o - 0x0000000000305fb8 _img_menu_pause - 0x000000000030603c _img_menu_pause_end - .rodata 0x000000000030603c 0x18 build-fx/assets/img/select_arrow.png.o - 0x000000000030603c _img_select_arrow - 0x0000000000306054 _img_select_arrow_end - .rodata 0x0000000000306054 0x404 build-fx/assets/img/new_level.png.o - 0x0000000000306054 _img_new_level - 0x0000000000306458 _img_new_level_end - .rodata 0x0000000000306458 0x24 build-fx/assets/img/death.png.o - 0x0000000000306458 _img_death - 0x000000000030647c _img_death_end - .rodata 0x000000000030647c 0x404 build-fx/assets/img/time_over.png.o - 0x000000000030647c _img_time_over - 0x0000000000306880 _img_time_over_end - .rodata 0x0000000000306880 0x4c build-fx/assets/img/coin.png.o - 0x0000000000306880 _img_coin - 0x00000000003068cc _img_coin_end - .rodata 0x00000000003068cc 0xdc build-fx/assets/img/mariosmall.png.o - 0x00000000003068cc _img_mariosmall - 0x00000000003069a8 _img_mariosmall_end - .rodata 0x00000000003069a8 0x28 build-fx/assets/img/gift.png.o - 0x00000000003069a8 _img_gift - 0x00000000003069d0 _img_gift_end - .rodata 0x00000000003069d0 0x404 build-fx/assets/img/error.png.o - 0x00000000003069d0 _img_error - 0x0000000000306dd4 _img_error_end - .rodata 0x0000000000306dd4 0xb8 build-fx/assets/img/tuyau.png.o - 0x0000000000306dd4 _img_tuyau - 0x0000000000306e8c _img_tuyau_end - .rodata 0x0000000000306e8c 0x404 build-fx/assets/img/level.png.o - 0x0000000000306e8c _img_level - 0x0000000000307290 _img_level_end - .rodata 0x0000000000307290 0x4c build-fx/assets/img/goomba.png.o - 0x0000000000307290 _img_goomba - 0x00000000003072dc _img_goomba_end - .rodata 0x00000000003072dc 0x4c build-fx/assets/img/stone.png.o - 0x00000000003072dc _img_stone - 0x0000000000307328 _img_stone_end - .rodata 0x0000000000307328 0x404 build-fx/assets/img/lvl0.png.o - 0x0000000000307328 _img_lvl0 - 0x000000000030772c _img_lvl0_end + 0x0000000000306d02 0x3 build-fx/src/main.c.o + *fill* 0x0000000000306d02 0x2 + .rodata 0x0000000000306d04 0x10 build-fx/src/ennemi.c.o + .rodata 0x0000000000306d14 0x204 build-fx/assets/fonts/mario.png.o + 0x0000000000306d14 _font_mario + 0x0000000000306f18 _font_mario_end + .rodata 0x0000000000306f18 0x20 build-fx/assets/img/bonus.png.o + 0x0000000000306f18 _img_bonus + 0x0000000000306f38 _img_bonus_end + .rodata 0x0000000000306f38 0x24 build-fx/assets/img/bloc.png.o + 0x0000000000306f38 _img_bloc + 0x0000000000306f5c _img_bloc_end + .rodata 0x0000000000306f5c 0x404 build-fx/assets/img/ram.png.o + 0x0000000000306f5c _img_ram + 0x0000000000307360 _img_ram_end + .rodata 0x0000000000307360 0x64 build-fx/assets/img/mario.png.o + 0x0000000000307360 _img_mario + 0x00000000003073c4 _img_mario_end + .rodata 0x00000000003073c4 0x404 build-fx/assets/img/main.png.o + 0x00000000003073c4 _img_main + 0x00000000003077c8 _img_main_end + .rodata 0x00000000003077c8 0x4c build-fx/assets/img/brick.png.o + 0x00000000003077c8 _img_brick + 0x0000000000307814 _img_brick_end + .rodata 0x0000000000307814 0x84 build-fx/assets/img/menu_pause.png.o + 0x0000000000307814 _img_menu_pause + 0x0000000000307898 _img_menu_pause_end + .rodata 0x0000000000307898 0x18 build-fx/assets/img/select_arrow.png.o + 0x0000000000307898 _img_select_arrow + 0x00000000003078b0 _img_select_arrow_end + .rodata 0x00000000003078b0 0x404 build-fx/assets/img/new_level.png.o + 0x00000000003078b0 _img_new_level + 0x0000000000307cb4 _img_new_level_end + .rodata 0x0000000000307cb4 0x24 build-fx/assets/img/death.png.o + 0x0000000000307cb4 _img_death + 0x0000000000307cd8 _img_death_end + .rodata 0x0000000000307cd8 0x404 build-fx/assets/img/time_over.png.o + 0x0000000000307cd8 _img_time_over + 0x00000000003080dc _img_time_over_end + .rodata 0x00000000003080dc 0x4c build-fx/assets/img/coin.png.o + 0x00000000003080dc _img_coin + 0x0000000000308128 _img_coin_end + .rodata 0x0000000000308128 0x24 build-fx/assets/img/champi.png.o + 0x0000000000308128 _img_champi + 0x000000000030814c _img_champi_end + .rodata 0x000000000030814c 0xdc build-fx/assets/img/mariosmall.png.o + 0x000000000030814c _img_mariosmall + 0x0000000000308228 _img_mariosmall_end + .rodata 0x0000000000308228 0x28 build-fx/assets/img/gift.png.o + 0x0000000000308228 _img_gift + 0x0000000000308250 _img_gift_end + .rodata 0x0000000000308250 0x24 build-fx/assets/img/buisson.png.o + 0x0000000000308250 _img_buisson + 0x0000000000308274 _img_buisson_end + .rodata 0x0000000000308274 0x44 build-fx/assets/img/colline.png.o + 0x0000000000308274 _img_colline + 0x00000000003082b8 _img_colline_end + .rodata 0x00000000003082b8 0x114 build-fx/assets/img/mariobig.png.o + 0x00000000003082b8 _img_mariobig + 0x00000000003083cc _img_mariobig_end + .rodata 0x00000000003083cc 0x404 build-fx/assets/img/error.png.o + 0x00000000003083cc _img_error + 0x00000000003087d0 _img_error_end + .rodata 0x00000000003087d0 0xb8 build-fx/assets/img/tuyau.png.o + 0x00000000003087d0 _img_tuyau + 0x0000000000308888 _img_tuyau_end + .rodata 0x0000000000308888 0x14 build-fx/assets/img/bullet.png.o + 0x0000000000308888 _img_bullet + 0x000000000030889c _img_bullet_end + .rodata 0x000000000030889c 0x44 build-fx/assets/img/nuage.png.o + 0x000000000030889c _img_nuage + 0x00000000003088e0 _img_nuage_end + .rodata 0x00000000003088e0 0x404 build-fx/assets/img/level.png.o + 0x00000000003088e0 _img_level + 0x0000000000308ce4 _img_level_end + .rodata 0x0000000000308ce4 0x4c build-fx/assets/img/goomba.png.o + 0x0000000000308ce4 _img_goomba + 0x0000000000308d30 _img_goomba_end + .rodata 0x0000000000308d30 0x24 build-fx/assets/img/fleur.png.o + 0x0000000000308d30 _img_fleur + 0x0000000000308d54 _img_fleur_end + .rodata 0x0000000000308d54 0x4c build-fx/assets/img/stone.png.o + 0x0000000000308d54 _img_stone + 0x0000000000308da0 _img_stone_end + .rodata 0x0000000000308da0 0x404 build-fx/assets/img/lvl0.png.o + 0x0000000000308da0 _img_lvl0 + 0x00000000003091a4 _img_lvl0_end .rodata.str1.4 - 0x000000000030772c 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* 0x000000000030775d 0x3 - .rodata 0x0000000000307760 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x00000000003091a4 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* 0x00000000003091d5 0x3 + .rodata 0x00000000003091d8 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 - 0x0000000000307768 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* 0x000000000030776e 0x2 + 0x00000000003091e0 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* 0x00000000003091e6 0x2 .rodata.str1.4 - 0x0000000000307770 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x00000000003091e8 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* 0x000000000030788a 0x2 - .rodata 0x000000000030788c 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* 0x0000000000309302 0x2 + .rodata 0x0000000000309304 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 - 0x00000000003078a4 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 0x00000000003078a8 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x00000000003078a8 _gint_font5x7 - 0x0000000000307cb0 _gint_font5x7_end + 0x000000000030931c 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 0x0000000000309320 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x0000000000309320 _gint_font5x7 + 0x0000000000309728 _gint_font5x7_end .rodata.str1.4 - 0x0000000000307cb0 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* 0x0000000000307cb6 0x2 + 0x0000000000309728 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* 0x000000000030972e 0x2 .rodata.str1.4 - 0x0000000000307cb8 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 0x0000000000307cbc 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 0x0000000000307ccc 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x0000000000307ccc ___clz_tab + 0x0000000000309730 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 0x0000000000309734 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 0x0000000000309744 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000309744 ___clz_tab -.rela.dyn 0x0000000000307dcc 0x0 - .rela.text 0x0000000000307dcc 0x0 build-fx/src/score.c.o +.rela.dyn 0x0000000000309844 0x0 + .rela.text 0x0000000000309844 0x0 build-fx/src/score.c.o .rela.text.startup - 0x0000000000307dcc 0x0 build-fx/src/score.c.o + 0x0000000000309844 0x0 build-fx/src/score.c.o .rela.pretext.entry - 0x0000000000307dcc 0x0 build-fx/src/score.c.o + 0x0000000000309844 0x0 build-fx/src/score.c.o 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x5c0 @@ -579,65 +622,68 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000008100024 _w_current_x 0x0000000008100028 _w_fond 0x000000000810002c _w_current - .bss 0x0000000008100030 0x20 build-fx/src/mario.c.o + .bss 0x0000000008100030 0x0 build-fx/src/bonus.c.o + .bss 0x0000000008100030 0x28 build-fx/src/mario.c.o 0x0000000008100030 _global_quit - 0x0000000008100034 _mario_accel - 0x0000000008100038 _last_bonus - 0x000000000810003c _mario_coins - 0x0000000008100040 _mario_dead - 0x0000000008100044 _mario_time_accel - 0x0000000008100048 _mario_x_max - 0x000000000810004c _id_frame - .bss 0x0000000008100050 0x0 build-fx/src/main.c.o - .bss 0x0000000008100050 0x18 build-fx/src/keyboard.c.o - 0x0000000008100050 _keys - .bss 0x0000000008100068 0x8 build-fx/src/ennemi.c.o - 0x0000000008100068 _ennemis_global_size - 0x000000000810006c _ennemis_global - .bss 0x0000000008100070 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x0000000008100184 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .bss 0x0000000008100584 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .bss 0x0000000008100584 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .bss 0x0000000008100584 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .bss 0x00000000081005a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .bss 0x00000000081005a8 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .bss 0x00000000081005b4 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) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000008100034 _mario_immunity + 0x0000000008100038 _mario_accel + 0x000000000810003c _last_bonus + 0x0000000008100040 _mario_coins + 0x0000000008100044 _mario_dead + 0x0000000008100048 _mario_time_accel + 0x000000000810004c _mario_has_bullets + 0x0000000008100050 _mario_x_max + 0x0000000008100054 _id_frame + .bss 0x0000000008100058 0x0 build-fx/src/main.c.o + .bss 0x0000000008100058 0x18 build-fx/src/keyboard.c.o + 0x0000000008100058 _keys + .bss 0x0000000008100070 0x8 build-fx/src/ennemi.c.o + 0x0000000008100070 _ennemis_global_size + 0x0000000008100074 _ennemis_global + .bss 0x0000000008100078 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x000000000810018c 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .bss 0x000000000810058c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .bss 0x000000000810058c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .bss 0x000000000810058c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .bss 0x00000000081005b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .bss 0x00000000081005b0 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .bss 0x00000000081005bc 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) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(B R) 0x00000000081005c0 . = ALIGN (0x10) - *fill* 0x00000000081005b4 0xc + *fill* 0x00000000081005bc 0x4 0x00000000000005c0 _sbss = SIZEOF (.bss) -.data 0x00000000081005c0 0x120 load address 0x0000000000307dcc - 0x0000000000307dcc _ldata = LOADADDR (.data) +.data 0x00000000081005c0 0x200 load address 0x0000000000309844 + 0x0000000000309844 _ldata = LOADADDR (.data) 0x00000000081005c0 _rdata = . *(.data .data.*) .data 0x00000000081005c0 0x0 build-fx/src/level.c.o @@ -645,87 +691,95 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x00000000081005c0 _end_level 0x00000000081005c4 _combo_id 0x00000000081005c8 _lifes - .data 0x00000000081005cc 0x50 build-fx/src/tile.c.o - 0x00000000081005cc _coin - 0x00000000081005dc _gift - 0x00000000081005ec _earth - 0x00000000081005fc _brick - 0x000000000810060c _tuyau - .data 0x000000000810061c 0x0 build-fx/src/box.c.o - .data 0x000000000810061c 0x0 build-fx/src/world.c.o - .data 0x000000000810061c 0x40 build-fx/src/mario.c.o - 0x000000000810061c _last_vx_sign - 0x0000000008100620 _mario - 0x000000000810064c _mario_small - .data 0x000000000810065c 0x0 build-fx/src/main.c.o - .data 0x000000000810065c 0x0 build-fx/src/keyboard.c.o - .data 0x000000000810065c 0x0 build-fx/src/ennemi.c.o - .data 0x000000000810065c 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x000000000810065c _kprint_formatters - .data 0x00000000081006c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .data 0x00000000081006c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .data 0x00000000081006c4 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x00000000081006c4 _topti_font - 0x00000000081006c8 _gint_default_font - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .data 0x00000000081006cc 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .data 0x00000000081006d4 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) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + .data 0x00000000081005cc 0xc0 build-fx/src/tile.c.o + 0x00000000081005cc _bullet + 0x00000000081005dc _fleur + 0x00000000081005ec _champi + 0x00000000081005fc _bloc + 0x000000000810060c _colline + 0x000000000810061c _buisson + 0x000000000810062c _nuage + 0x000000000810063c _coin + 0x000000000810064c _gift + 0x000000000810065c _earth + 0x000000000810066c _brick + 0x000000000810067c _tuyau + .data 0x000000000810068c 0x0 build-fx/src/box.c.o + .data 0x000000000810068c 0x0 build-fx/src/world.c.o + .data 0x000000000810068c 0x6c build-fx/src/bonus.c.o + .data 0x00000000081006f8 0x50 build-fx/src/mario.c.o + 0x00000000081006f8 _last_vx_sign + 0x00000000081006fc _mario + 0x0000000008100728 _mario_big + 0x0000000008100738 _mario_small + .data 0x0000000008100748 0x0 build-fx/src/main.c.o + .data 0x0000000008100748 0x0 build-fx/src/keyboard.c.o + .data 0x0000000008100748 0x0 build-fx/src/ennemi.c.o + .data 0x0000000008100748 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000008100748 _kprint_formatters + .data 0x00000000081007b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .data 0x00000000081007b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .data 0x00000000081007b0 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x00000000081007b0 _topti_font + 0x00000000081007b4 _gint_default_font + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .data 0x00000000081007b8 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .data 0x00000000081007c0 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) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(D) - 0x00000000081006e0 . = ALIGN (0x10) - *fill* 0x00000000081006d4 0xc + 0x00000000081007c0 . = ALIGN (0x10) -.data.4 0x00000000081006e0 0x0 load address 0x0000000000307eec +.data.4 0x00000000081007c0 0x0 load address 0x0000000000309a44 *(.data.4) - 0x00000000081006e0 . = ALIGN (0x10) - 0x0000000000000120 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) + 0x00000000081007c0 . = ALIGN (0x10) + 0x0000000000000200 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -735,8 +789,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 0x0000000000307eec - 0x0000000000307eec _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x0000000000309a44 + 0x0000000000309a44 _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) @@ -757,7 +811,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 0x000000000030802c +.gint.bss 0x000000008800f540 0x290 load address 0x0000000000309b84 *(.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.d b/build-fx/src/bonus.c.d new file mode 100644 index 0000000..0baf814 --- /dev/null +++ b/build-fx/src/bonus.c.d @@ -0,0 +1,12 @@ +build-fx/src/bonus.c.o: src/bonus.c src/bonus.h src/box.h src/mario.h \ + src/world.h src/tile.h + +src/bonus.h: + +src/box.h: + +src/mario.h: + +src/world.h: + +src/tile.h: diff --git a/build-fx/src/bonus.c.o b/build-fx/src/bonus.c.o new file mode 100644 index 0000000..85270d8 Binary files /dev/null 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 b4b6963..08cbc87 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 4c98a25..341dce8 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/level.c.o b/build-fx/src/level.c.o index 04fbd29..c66bec7 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/main.c.o b/build-fx/src/main.c.o index 29be9f2..a911f56 100644 Binary files a/build-fx/src/main.c.o and b/build-fx/src/main.c.o differ diff --git a/build-fx/src/mario.c.d b/build-fx/src/mario.c.d index 80da69a..26d2e4f 100644 --- a/build-fx/src/mario.c.d +++ b/build-fx/src/mario.c.d @@ -1,5 +1,5 @@ build-fx/src/mario.c.o: src/mario.c src/mario.h src/box.h src/tile.h \ - src/world.h src/keyboard.h src/score.h + src/world.h src/keyboard.h src/score.h src/bonus.h src/mario.h: @@ -12,3 +12,5 @@ src/world.h: src/keyboard.h: src/score.h: + +src/bonus.h: diff --git a/build-fx/src/mario.c.o b/build-fx/src/mario.c.o index d1686df..fbc97a9 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/score.c.o b/build-fx/src/score.c.o index abcbd0e..8d0ba0c 100644 Binary files a/build-fx/src/score.c.o and b/build-fx/src/score.c.o differ diff --git a/build-fx/src/tile.c.o b/build-fx/src/tile.c.o index 61ed66b..ac1d45e 100644 Binary files a/build-fx/src/tile.c.o and b/build-fx/src/tile.c.o differ diff --git a/build-fx/src/world.c.d b/build-fx/src/world.c.d index 9ed6b10..c8c7ba5 100644 --- a/build-fx/src/world.c.d +++ b/build-fx/src/world.c.d @@ -1,5 +1,5 @@ build-fx/src/world.c.o: src/world.c src/world.h src/tile.h src/mario.h \ - src/box.h src/ennemi.h + src/box.h src/ennemi.h src/bonus.h src/world.h: @@ -10,3 +10,5 @@ src/mario.h: src/box.h: src/ennemi.h: + +src/bonus.h: diff --git a/build-fx/src/world.c.o b/build-fx/src/world.c.o index 1a46236..1315791 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 new file mode 100644 index 0000000..7538243 --- /dev/null +++ b/src/bonus.c @@ -0,0 +1,144 @@ +#include "bonus.h" +#include "box.h" +#include "mario.h" +#include "world.h" +#include "tile.h" +#include + +#define BONUS_FLEUR 4 // interne, généré depuis champi +#define BULLET 1 +typedef struct +{ + int type; + box_t b; + int p1; +} bonus_t; + +static int sgn(int x) +{ + if (x>0) + return 1; + else if (x<0) + return -1; + else + return 0; +} + + +static bonus_t bonus ={BONUS_NONE, {0,0,8,8,0,0,1}, 0}; +/* Les balles ont les memes propriétés que les boulets et sont donc gérées ici */ +static bonus_t bullets[2] ={{0, {0,0,4,4,0,0,1}, 0},{0, {0,0,4,4,0,0,1}, 0}}; + +void lance_bullet() +{ + for (int i=0; i<2; i++) + { + if (bullets[i].type==0) + { + bullets[i].type=BULLET; + bullets[i].b.x=mario.p.x; + bullets[i].b.y=mario.p.y+8; + bullets[i].b.vx=4*last_vx_sign-2; + bullets[i].b.vy=0; + bullets[i].p1=last_vx_sign; + return; + } + } +} +void bullet_display() +{ + for (int i=0; i<2; i++) + { + if (bullets[i].type==BULLET) + { + box_jump(&bullets[i].b,4); + box_move(&bullets[i].b); + 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].p1*=-1; + bullets[i].b.vx=4*bullets[i].p1; + } + if (bullets[i].b.y<0) + bullets[i].type=0; + if (bullets[i].b.x<=world_get_real_x0()-bullets[i].b.w || bullets[i].b.x>=world_get_real_x0()+127) + bullets[i].type=0; + } + } +} + + +void bonus_set(int type, int x, int y) +{ + bonus.type=type; + if (mario.size==M_BIG && type==BONUS_CHAMPI) + bonus.type=BONUS_FLEUR; + bonus.b.x=x; + bonus.b.y=y; + bonus.b.vx=0; + bonus.b.vy=0; + bonus.p1=0; +} + +void bonus_move() //+collision +{ + if (bonus.b.x<=world_get_real_x0()-bonus.b.w || bonus.b.x>=world_get_real_x0()+127) + bonus_set(BONUS_NONE,0,0); + if (bonus.type==BONUS_NONE) + return; + + + if (bonus.type==BONUS_STAR) + { + box_jump(&bonus.b,5); + } + box_move(&bonus.b); + if (bonus.type==BONUS_CHAMPI || bonus.type==BONUS_1UP || bonus.type==BONUS_STAR) + { + + if (bonus.b.vx==0) + { + if (bonus.p1==0) + { + bonus.b.vx=1; + bonus.p1=1; + } + else + { + bonus.p1*=-1; + bonus.b.vx=bonus.p1; + } + } + if (bonus.b.y<0) + bonus_set(BONUS_NONE,0,0); + } + + bool x_collide= (mario.p.x<=bonus.b.x && bonus.b.xvy); @@ -65,9 +66,37 @@ static void move_y(box_t * b) typetemp=world_get_ctg(b->x+j ,b->y-i); if (/*typetemp==CTG_DEATH ||*/ typetemp==CTG_SOIL) { - b->y+=(i-1)*sgn_vy; - b->vy=0; - return; + if (b->vy>0) + { + int old=b->x; + if (world_get_ctg(b->x+2, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+3, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + if (world_get_ctg(b->x+1, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+2, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + if (world_get_ctg(b->x, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+1, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + + if (world_get_ctg(b->x+b->w-3, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-4, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (world_get_ctg(b->x+b->w-2, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-3, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (world_get_ctg(b->x+b->w-1, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-2, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (old==b->x) + { + b->y+=(i-1)*sgn_vy; + b->vy=0; + return; + } + } + else + { + b->y+=(i-1)*sgn_vy; + b->vy=0; + return; + } + + } } diff --git a/src/ennemi.c b/src/ennemi.c index 75c1f5f..e14ffcc 100644 --- a/src/ennemi.c +++ b/src/ennemi.c @@ -11,7 +11,7 @@ void display_ennemi(ennemi_t * e) { if (e->life==DEAD) return; - if (e->b.x-e->b.w<=world_get_real_x0(0) || e->b.x>=world_get_real_x0(0)+127) + if (e->b.x<=world_get_real_x0(0)-e->b.w || e->b.x>=world_get_real_x0(0)+127) return; else e->discovered=1; @@ -29,18 +29,32 @@ void display_ennemi(ennemi_t * e) 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(0) && 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(0)) + if (e->b.x+e->b.w<=world_get_real_x0()) e->type=NONE; if (e->discovered==0) return; @@ -49,6 +63,21 @@ void move_ennemi(ennemi_t *e) if (e->type==NONE) return; + for (int i=0; idiscovered && t->type!=NONE) + { + bool x_collide= (t->b.x<=e->b.x+e->b.vx && e->b.x+e->b.vxb.x+t->b.w) || (t->b.x<=e->b.x+e->b.w-1+e->b.vx && e->b.x+e->b.w+e->b.vxb.x+t->b.w); + 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==GOOMBA) { if (e->life==1) @@ -87,7 +116,7 @@ void move_ennemi(ennemi_t *e) mario.p.vy=4; } else - mario_dead=1; + hurt_mario(); } } else diff --git a/src/level.c b/src/level.c index 4bdd683..2847889 100644 --- a/src/level.c +++ b/src/level.c @@ -58,45 +58,116 @@ void set_level(int n) { world_t level_0[]= { - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x15}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0,0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01} + {EARTH,0x01}, {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,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}, {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}, {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}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {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}, {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,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}, + {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}, {BRICK,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,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {BRICK,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}, {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}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {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}, {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}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {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}, {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}, {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}, {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}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {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}, {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}, {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}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {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}, {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,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}, {0,0}, {GIFT,0x131}, {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}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {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}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x21}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x01}, {EARTH,0x00}, {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,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}, {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}, {BRICK,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,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {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}, {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}, {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}, {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}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, + {EARTH,0x21}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, + {0,0}, {0,0}, {0,0}, {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=25; - w_current_y=11; + w_current_x=89; + w_current_y=13; mario_x_max=0; mario.p.x=25; mario.p.y=16; init_level(lvl); - ennemis_global_size=1; - ennemi_t ennemies0={GOOMBA,{120,16,8,8,-1,0,1},-1,0,1}; - init_ennemies(&ennemies0); + ennemis_global_size=4; + 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,{419,16,8,8,-1,0,1},-1,0,1} + }; + init_ennemies(ennemies0); } } diff --git a/src/main.c b/src/main.c index c50bacd..3379a87 100755 --- a/src/main.c +++ b/src/main.c @@ -57,6 +57,7 @@ int main(void) { mario_dead=0; end_level=0; + mario_smaller(); } if (end_level==0) { diff --git a/src/mario.c b/src/mario.c index b8f5c7c..7565ceb 100755 --- a/src/mario.c +++ b/src/mario.c @@ -6,6 +6,7 @@ #include "keyboard.h" #include "box.h" #include "score.h" +#include "bonus.h" static int sgn(int x) { @@ -21,6 +22,9 @@ extern image_t img_mariosmall; int id_frame=0; tileset_t mario_small={&img_mariosmall, 8,8, 1}; +extern image_t img_mariobig; +tileset_t mario_big={&img_mariobig, 8,16, 1}; + pnj mario= { {26,17,8,8,0,0,1}, @@ -29,12 +33,30 @@ pnj mario= 0 }; int mario_x_max=0; +int mario_has_bullets=0; int mario_time_accel=0; int mario_dead=0; int mario_coins=0; int last_vx_sign=1; int last_bonus=0; int mario_accel=0; +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() +{ + mario.p.h=8; + mario.size=M_SMALL; + mario_has_bullets=0; + mario_immunity=1; +} void mario_draw() { @@ -47,6 +69,15 @@ void mario_draw() else draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_small, 2*last_vx_sign, 0); } + else + { + if (mario.p.vx*sgn(mario.p.vx)>=3) + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign+(id_frame/4)%2, mario_has_bullets); + else if (mario.p.vx*sgn(mario.p.vx)>=1) + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign+(id_frame/8)%2, mario_has_bullets); + else + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign, mario_has_bullets); + } } int test_sol_le_plus_proche(int x, int y) @@ -76,15 +107,26 @@ int test_sol_le_plus_proche(int x, int y) int global_quit=0; void mario_move() { + if (mario_immunity) + { + mario_immunity++; + if (mario_immunity==40) + mario_immunity=0; + } + id_frame++; update_keyboard(); + if (mario_has_bullets==1 && keys[MK_RUN]==2) + { + lance_bullet(); + } int jump = keys[MK_JUMP1] || keys[MK_JUMP2]; if (keys[MK_JUMP1]==2 || keys[MK_JUMP2]==2) { if (mario.p.vx*sgn(mario.p.vx)>=3) - box_jump(&mario.p, 8); + box_jump(&mario.p, 9); else - box_jump(&mario.p, 7); + box_jump(&mario.p, 8); } else if (mario.p.vy>=6 && jump==0) mario.p.vy=5; @@ -147,14 +189,10 @@ void mario_move() last_vx_sign=0; if (mario.p.x+mario.p.vx + gravity - if (mario.p.x>mario_x_max) - mario_x_max=mario.p.x; + if (mario.p.y<0) mario_dead=1; if (mario.p.vx==0) @@ -175,48 +213,39 @@ void mario_move() if (c->type==COIN && c->taken==0) {score_add_coin();c->taken=1;} - // box - if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) - { - gift_t* c=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if (c->type==GIFT) - { - if (c->time_hit_id==0 && c->content==1 && c->number!=0) // piece - { - c->number--; - c->time_hit_id=1; - score_add_coin(); - } - } - } + //if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) + //{ + gift_t* t=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) - { - world_t* t=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if (t->type==GIFT) - { - gift_t *c=(gift_t*)t; - if (c->time_hit_id==0 && c->content==1 && c->number!=0) // piece - { - c->number--; - c->time_hit_id=1; - score_add_coin(); - } - } - if (t->type==BRICK) + if (t->type==GIFT || t->type==BRICK) { brick_t *c=(brick_t*)t; - if ((c->content==0 || c->number) && mario.size==M_SMALL) // piece + + if (c->content==1 && c->number) { - if (c->number) - { - c->number--; - score_add_coin(); - } + c->number--; + score_add_coin(); + score_add(200); c->time_hit_id=1; } + if (c->content==2 && c->number) + { + c->number--; + bonus_set(BONUS_CHAMPI,((mario.p.x+mario.p.w/2)/8)*8,mario.p.y+mario.p.h+8); + c->time_hit_id=1; + } + if (c->content==0 && mario.size==M_BIG && c->type==BRICK) + { + c->type=0; + mario.p.vy=0; + } + else if (c->type==BRICK) + c->time_hit_id=1; + + c->hidden=0; } - } + + //} } diff --git a/src/mario.h b/src/mario.h index ddd3cc7..5e70838 100755 --- a/src/mario.h +++ b/src/mario.h @@ -34,9 +34,16 @@ void mario_jump(); void mario_move(); +void mario_bigger(); + +void mario_smaller(); + extern int global_quit; extern int numero_frame; extern int mario_x_max; extern int mario_dead; extern int id_frame; +extern int mario_immunity; +extern int mario_has_bullets; +extern int last_vx_sign; #endif \ No newline at end of file diff --git a/src/score.c b/src/score.c index b51b3ac..1a2ba15 100644 --- a/src/score.c +++ b/src/score.c @@ -7,7 +7,7 @@ #include int score=0; -int lifes=5; +int lifes=3; int combo=0; int combo_id=-10; @@ -22,7 +22,7 @@ int end_level=-1; void new_game() { - lifes=5; + lifes=3; pieces=0; score=0; combo=0; @@ -40,7 +40,6 @@ void new_level() void score_add_coin() { pieces++; - score_add(10); } void score_add(int i) diff --git a/src/tile.c b/src/tile.c index c6f70cc..287a97f 100755 --- a/src/tile.c +++ b/src/tile.c @@ -18,6 +18,25 @@ tileset_t gift={&img_gift, 8, 8, 1}; extern image_t img_coin; tileset_t coin={&img_coin, 8, 8, 1}; +extern image_t img_nuage; +tileset_t nuage={&img_nuage, 8, 8, 0}; +extern image_t img_buisson; +tileset_t buisson={&img_buisson, 8, 8, 0}; +extern image_t img_colline; +tileset_t colline={&img_colline, 8, 8, 0}; + +extern image_t img_bloc; +tileset_t bloc={&img_bloc, 8, 8, 0}; + +extern image_t img_champi; +tileset_t champi={&img_champi, 8, 8, 0}; + +extern image_t img_fleur; +tileset_t fleur={&img_fleur, 8, 8, 0}; + +extern image_t img_bullet; +tileset_t bullet={&img_bullet, 4, 4, 1}; + void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y) { dsubimage(sx, 64-sy-set->height, diff --git a/src/tile.h b/src/tile.h index 9904945..11d5b0d 100755 --- a/src/tile.h +++ b/src/tile.h @@ -16,6 +16,16 @@ extern tileset_t brick; extern tileset_t earth; extern tileset_t gift; extern tileset_t coin; +extern tileset_t bloc; + +extern tileset_t nuage; +extern tileset_t buisson; +extern tileset_t colline; + +extern tileset_t champi; +extern tileset_t fleur; + +extern tileset_t bullet; void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y); diff --git a/src/world.c b/src/world.c index 9a47a4e..fd795b6 100755 --- a/src/world.c +++ b/src/world.c @@ -3,7 +3,7 @@ #include "mario.h" #include "ennemi.h" #include - +#include "bonus.h" world_t * w_current=0; image_t * w_fond=0; int w_current_x=0; @@ -30,69 +30,91 @@ world_t* world_get(int x, int y) } } -void display_cell(int cx, int cy, int sx, int sy) +void display_cell(int cx, int cy, int sx, int sy, int plan) { const world_t * cell=world_get(cx,cy); if (cell==0) - { - extern image_t img_death; - //dimage(sx, sy, &img_death); return; - } - - if (cell->type==TUYAU) + if (plan==1) { - 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; - draw_tile(sx, sy, &earth, i->x, i->y); - } - if (cell->type==BRICK) - { - brick_t* i=(brick_t*)cell; - if (i->time_hit_id) + if (cell->type==TUYAU) { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; + tuyau_t* i=(tuyau_t*)cell; + draw_tile(sx, sy, &tuyau, i->x, i->y); } - if (i->time_hit_id || i->content==0 || i->number) - draw_tile(sx, sy, &brick, 0, 0); - 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); - } - if (cell->type==GIFT) - { - gift_t* i=(gift_t*)cell; - if (i->time_hit_id) + if (cell->type==EARTH) { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; + earth_t* i=(earth_t*)cell; + draw_tile(sx, sy, &earth, i->x, i->y); } - if (i->time_hit_id || i->number) - draw_tile(sx, sy, &gift, 0, 0); - 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); - } - if (cell->type==COIN) - { - coin_t* i=cell; - draw_tile(sx, sy, &coin, i->taken, 0); + if (cell->type==BLOC) + { + draw_tile(sx, sy, &bloc, 0, 0); + } + + if (cell->type==BRICK) + { + brick_t* i=(brick_t*)cell; + if (i->time_hit_id) + { + i->time_hit_id++; + sy+=2+(i->time_hit_id-4)/4; + if (i->time_hit_id==8) + i->time_hit_id=0; + } + if (i->hidden==0) + { + if (i->time_hit_id || i->content==0 || i->number) + draw_tile(sx, sy, &brick, 0, 0); + 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); + } + } + + if (cell->type==GIFT) + { + gift_t* i=(gift_t*)cell; + if (i->time_hit_id) + { + i->time_hit_id++; + sy+=2+(i->time_hit_id-4)/4; + if (i->time_hit_id==8) + i->time_hit_id=0; + } + if (i->hidden==0) + { + if (i->time_hit_id || i->number) + draw_tile(sx, sy, &gift, 0, 0); + 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); + } + } + } + else + { + if (cell->type==COIN) + { + coin_t* i=cell; + draw_tile(sx, sy, &coin, i->taken, 0); + } + + if (cell->type==BUISSON || cell->type==NUAGE || cell->type==COLLINE) + { + deco_t* i=(deco_t*)cell; + if (i->type==BUISSON) + draw_tile(sx, sy, &buisson, i->x, i->y); + if (i->type==NUAGE) + draw_tile(sx, sy, &nuage, i->x, i->y); + if (i->type==COLLINE) + draw_tile(sx, sy, &colline, i->x, i->y); + } } - } int world_get_ctg(int x, int y) @@ -104,11 +126,6 @@ int world_get_ctg(int x, int y) } switch (c->type) { - case COIN: - case EMPTY: - return CTG_EMPTY; - //case DEATH: - return CTG_DEATH; case TUYAU: case GIFT: case BRICK: @@ -129,32 +146,48 @@ static int min(const int x, const int y) return (x>y?y:x); } -int world_get_real_x0(int x) //mario delta en 0,0 -{return min(max(mario_x_max-54,0),w_current_x*8-128);} +int world_get_real_x0() //mario delta en 0,0 +{ //if (mario.p.x>mario_x_max || mario.p.x