From 143063959548d6e7eb5fbdc53235a97efba52a7a Mon Sep 17 00:00:00 2001 From: Milang Date: Tue, 28 Jan 2020 14:32:39 +0100 Subject: [PATCH] add complete second level & fix levelconv.py bug --- SuperCbr.g1a | Bin 71264 -> 71660 bytes build-fx/SuperCbr.bin | Bin 70752 -> 71148 bytes build-fx/SuperCbr.elf | Bin 89380 -> 89764 bytes build-fx/map | 937 ++++++++++++++++++------------------ build-fx/src/level.c.o | Bin 22288 -> 22744 bytes levelconverter/1-2.png | Bin 3793 -> 1299 bytes levelconverter/1-2.png.c | 158 +++--- levelconverter/levelconv.py | 108 +++-- src/level.c | 167 ++++--- 9 files changed, 703 insertions(+), 667 deletions(-) diff --git a/SuperCbr.g1a b/SuperCbr.g1a index cf8537ceec7806ac17c530a1d0fd55a499d5632d..7c02da131104a7d58c66d6b2a74c193dd8762f6a 100644 GIT binary patch delta 11385 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 X{CLK?XP-_|e2?DYe(ijcLaq2;T?P4A diff --git a/build-fx/SuperCbr.bin b/build-fx/SuperCbr.bin index 5a1b76412cd9ef24ec7e831b894d93beb1491500..cc1067e5f3e0ecad305d97623b08dd99681dedb3 100755 GIT binary patch delta 11346 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 V6w331M$KC7lhNPJr!{Gs{{wDO;Hm%s delta 10898 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 diff --git a/build-fx/map b/build-fx/map index 8b4eb04..3d9e75c 100644 --- a/build-fx/map +++ b/build-fx/map @@ -69,7 +69,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/liblog-fx.a(liblog.c.o) build-fx/src/world.c.o (_ll_sendp) /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) + build-fx/src/level.c.o (___movmemSI60) /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) @@ -238,7 +238,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-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 - 0x0000000000010af0 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000010c7c _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -278,7 +278,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 0x88b0 +.text 0x0000000000300ad0 0x8a00 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -289,499 +289,498 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a .text 0x0000000000300b1c 0x654 build-fx/src/levelchanger.c.o 0x0000000000300b1c _play_level 0x0000000000300c88 _launch_ui - .text 0x0000000000301170 0x2028 build-fx/src/level.c.o + .text 0x0000000000301170 0x217c build-fx/src/level.c.o 0x0000000000301170 _malloc_error 0x00000000003011a8 _init_level 0x000000000030122c _init_ennemies 0x000000000030129c _set_level - 0x0000000000303178 _get_lvl_id - .text 0x0000000000303198 0xd8 build-fx/src/config.c.o - 0x0000000000303198 _configmenu - .text 0x0000000000303270 0x25c build-fx/src/score.c.o - 0x0000000000303270 _new_level - 0x0000000000303290 _new_game - 0x00000000003032e4 _get_score - 0x00000000003032f0 _get_coins - 0x00000000003032fc _score_reset - 0x000000000030331c _score_add_coin - 0x000000000030332c _score_add - 0x000000000030337c _score_display - 0x00000000003034c0 _get_time_spent - .text 0x00000000003034cc 0x180 build-fx/src/tuyau.c.o - 0x00000000003034cc _set_teleporteurs - 0x0000000000303504 _teleport_active - .text 0x000000000030364c 0x40 build-fx/src/tile.c.o - 0x000000000030364c _draw_tile - .text 0x000000000030368c 0x324 build-fx/src/plateforme.c.o - 0x000000000030368c _reset_plateforme - 0x000000000030369a _move_plateforme - 0x0000000000303864 _display_plateformes - 0x0000000000303904 _move_plateformes - 0x000000000030395c _plateforme_check_collide - .text 0x00000000003039b0 0x470 build-fx/src/box.c.o - 0x00000000003039b0 _sgn - 0x00000000003039c2 _check_collision - 0x0000000000303a54 _box_move - 0x0000000000303d9c _box_jump - .text 0x0000000000303e20 0x620 build-fx/src/world.c.o - 0x0000000000303e20 _world_get_width - 0x0000000000303e30 _world_get - 0x0000000000303e94 _display_cell - 0x00000000003041a0 _world_get_ctg - 0x00000000003041f4 _reset_camera - 0x0000000000304210 _world_get_real_x0 - 0x0000000000304238 _reload_camera - 0x0000000000304260 _world_get_real_y0 - 0x0000000000304274 _world_draw - 0x0000000000304390 _world_move - .text 0x0000000000304440 0x70 build-fx/src/framerate.c.o - 0x0000000000304440 _callback - 0x0000000000304448 _init_refresh - 0x0000000000304488 _quit_refresh - 0x0000000000304494 _wait_next_frame - .text 0x00000000003044b0 0x56c build-fx/src/bonus.c.o - 0x00000000003044b0 _bonus_set - 0x00000000003044e0 _bonus_move - 0x0000000000304694 _bonus_draw - 0x00000000003047a8 _lance_bullet - 0x0000000000304804 _bullet_display - 0x000000000030489c _bullet_move - .text 0x0000000000304a1c 0x224 build-fx/src/save.c.o - 0x0000000000304a1c _load_save - 0x0000000000304a20 _flash_save - 0x0000000000304a24 _get_highscore - 0x0000000000304a74 _set_highscore - 0x0000000000304ad0 _get_highcoins - 0x0000000000304b20 _set_highcoins - 0x0000000000304b7c _get_best_time - 0x0000000000304bcc _set_best_time - 0x0000000000304c34 _get_progress_status - .text 0x0000000000304c40 0x7b8 build-fx/src/mario.c.o - 0x0000000000304c50 _mario_bigger - 0x0000000000304c6c _mario_smaller - 0x0000000000304c98 _mario_draw - 0x0000000000304e54 _test_sol_le_plus_proche - 0x0000000000304ec0 _mario_move - .text 0x00000000003053f8 0x0 build-fx/src/main.c.o - .text.startup 0x00000000003053f8 0x5c build-fx/src/main.c.o - 0x00000000003053f8 _main - .text 0x0000000000305454 0x2c0 build-fx/src/keyboard.c.o - 0x0000000000305454 _keyboard_clear - 0x0000000000305474 _getkey_custom - 0x00000000003054c4 _menu_pause - 0x000000000030561c _update_keyboard - .text 0x0000000000305714 0x7b0 build-fx/src/ennemi.c.o - 0x0000000000305714 _display_ennemi - 0x000000000030595c _ennemi_check_collision - 0x00000000003059c0 _hurt_mario - 0x00000000003059f4 _move_ennemi - 0x0000000000305e84 _display_ennemi_table - .text 0x0000000000305ec4 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x00000000003068c0 _kprint_opt - 0x0000000000306a08 _kprint - 0x0000000000306ae0 _kvsprint - 0x0000000000306b28 _sprintf - 0x0000000000306b50 _vsprintf - 0x0000000000306b70 _snprintf - 0x0000000000306b90 _vsnprintf - .text 0x0000000000306ba8 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000306ba8 _memcpy - 0x0000000000306c62 __memmove - 0x0000000000306c66 __memcmp - 0x0000000000306c6a _memset - .text 0x0000000000306c84 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 0x0000000000306c84 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 0x0000000000306c84 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - 0x0000000000306c84 _drect - .text 0x0000000000306da0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x0000000000306da0 _dupdate - 0x0000000000306db8 _dupdate_noint - .text 0x0000000000306dc4 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x0000000000306dc4 _masks - .text 0x0000000000306e60 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000306e60 _dimage - 0x0000000000306eb4 _dsubimage - .text 0x0000000000306f28 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x0000000000306f28 _dclear - .text 0x0000000000306f74 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x000000000030711c _pollevent - 0x0000000000307260 _waitevent - 0x00000000003072ac _clearevents - 0x00000000003072cc _keydown - 0x00000000003072f8 _keydown_all - 0x0000000000307334 _keydown_any - .text 0x0000000000307370 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x000000000030737c _iokbd_row - 0x0000000000307464 _iokbd_scan - .text 0x0000000000307494 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x0000000000307494 _getkey_opt - 0x0000000000307640 _getkey - 0x000000000030764c _getkey_repeat - .text 0x0000000000307688 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 0x0000000000307688 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x0000000000307818 _gint_panic - 0x0000000000307828 _gint_panic_set - 0x0000000000307834 _gint_exc_catch - 0x0000000000307840 _gint_exc_skip - .text 0x000000000030784c 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 0x000000000030784c 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000307900 _gint_install - 0x00000000003079b0 _gint_unload - .text 0x00000000003079c8 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 0x00000000003079c8 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 0x00000000003079c8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x00000000003079c8 _tlb_addr - 0x00000000003079dc _tlb_data - 0x00000000003079f0 _tlb_mapped_memory - 0x0000000000307ac4 _utlb_addr - 0x0000000000307ad4 _utlb_data - 0x0000000000307ae4 _utlb_mapped_memory - .text 0x0000000000307bbc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000000307bbc _dsize - .text 0x0000000000307c58 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x0000000000307c58 _dprint - .text 0x0000000000307cb0 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000307fd0 _timer_setup - 0x0000000000308060 _timer_delay - 0x00000000003080c0 _timer_start - 0x00000000003080f4 _timer_reload - 0x0000000000308114 _timer_pause - 0x0000000000308148 _timer_stop - 0x00000000003081a4 _timer_timeout - 0x00000000003081b0 _timer_address - 0x00000000003081ec _timer_clear - .text 0x000000000030821c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x000000000030821c _sleep_us - .text 0x0000000000308274 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030830c _t6k11_display - 0x00000000003083e0 _t6k11_contrast - 0x000000000030840c _t6k11_backlight - .text 0x000000000030844c 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000308590 _clock_freq - .text 0x000000000030859c 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 0x000000000030859c 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) - 0x000000000030859c _bopti_asm_mono - 0x00000000003085c2 _bopti_asm_mono_alpha - .text 0x00000000003085f4 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x00000000003085f4 _bopti_grid - 0x0000000000308768 _bopti_render - 0x0000000000308898 _bopti_render_clip - 0x00000000003089ac _bopti_render_noclip - .text 0x0000000000308a04 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x0000000000308a04 _gint_setvbr - .text 0x0000000000308a30 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x0000000000308a30 _gint_intlevel - 0x0000000000308a84 _gint_inthandler - .text 0x0000000000308aa8 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 0x0000000000308aa8 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 0x0000000000308aa8 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - 0x0000000000308b88 _ll_set_size - 0x0000000000308b9c _ll_set_state - 0x0000000000308bbc _ll_get_state - 0x0000000000308bcc _ll_clear - 0x0000000000308c18 _ll_send - 0x0000000000308c8c _ll_sendp - 0x0000000000308cd8 _ll_display_custom - 0x0000000000308d44 _ll_display - 0x0000000000308d58 _ll_pause - 0x0000000000308db0 _ll_panic - 0x0000000000308dec _ll_set_panic - 0x0000000000308dfc _ll_set_level - 0x0000000000308e08 _ll_get_level - .text 0x0000000000308e14 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000308e14 ___movstr - 0x0000000000308e14 ___movmem - 0x0000000000308e48 ___movmemSI64 - 0x0000000000308e48 ___movstrSI64 - 0x0000000000308e4c ___movstrSI60 - 0x0000000000308e4c ___movmemSI60 - 0x0000000000308e50 ___movmemSI56 - 0x0000000000308e50 ___movstrSI56 - 0x0000000000308e54 ___movstrSI52 - 0x0000000000308e54 ___movmemSI52 - 0x0000000000308e58 ___movstrSI48 - 0x0000000000308e58 ___movmemSI48 - 0x0000000000308e5c ___movstrSI44 - 0x0000000000308e5c ___movmemSI44 - 0x0000000000308e60 ___movstrSI40 - 0x0000000000308e60 ___movmemSI40 - 0x0000000000308e64 ___movstrSI36 - 0x0000000000308e64 ___movmemSI36 - 0x0000000000308e68 ___movmemSI32 - 0x0000000000308e68 ___movstrSI32 - 0x0000000000308e6c ___movmemSI28 - 0x0000000000308e6c ___movstrSI28 - 0x0000000000308e70 ___movstrSI24 - 0x0000000000308e70 ___movmemSI24 - 0x0000000000308e74 ___movmemSI20 - 0x0000000000308e74 ___movstrSI20 - 0x0000000000308e78 ___movstrSI16 - 0x0000000000308e78 ___movmemSI16 - 0x0000000000308e7c ___movmemSI12 - 0x0000000000308e7c ___movstrSI12 - 0x0000000000308e80 ___movmemSI8 - 0x0000000000308e80 ___movstrSI8 - 0x0000000000308e84 ___movmemSI4 - 0x0000000000308e84 ___movstrSI4 - .text 0x0000000000308e8c 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x0000000000308e8c ___udivdi3 - .text 0x000000000030907c 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x000000000030907c ___umoddi3 - .text 0x00000000003092b0 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x00000000003092d2 ___udivsi3 - *fill* 0x000000000030931c 0x4 - .text 0x0000000000309320 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000309320 ___udiv_qrnnd_16 - .text 0x0000000000309380 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x00000000003032cc _get_lvl_id + .text 0x00000000003032ec 0xd8 build-fx/src/config.c.o + 0x00000000003032ec _configmenu + .text 0x00000000003033c4 0x25c build-fx/src/score.c.o + 0x00000000003033c4 _new_level + 0x00000000003033e4 _new_game + 0x0000000000303438 _get_score + 0x0000000000303444 _get_coins + 0x0000000000303450 _score_reset + 0x0000000000303470 _score_add_coin + 0x0000000000303480 _score_add + 0x00000000003034d0 _score_display + 0x0000000000303614 _get_time_spent + .text 0x0000000000303620 0x180 build-fx/src/tuyau.c.o + 0x0000000000303620 _set_teleporteurs + 0x0000000000303658 _teleport_active + .text 0x00000000003037a0 0x40 build-fx/src/tile.c.o + 0x00000000003037a0 _draw_tile + .text 0x00000000003037e0 0x324 build-fx/src/plateforme.c.o + 0x00000000003037e0 _reset_plateforme + 0x00000000003037ee _move_plateforme + 0x00000000003039b8 _display_plateformes + 0x0000000000303a58 _move_plateformes + 0x0000000000303ab0 _plateforme_check_collide + .text 0x0000000000303b04 0x470 build-fx/src/box.c.o + 0x0000000000303b04 _sgn + 0x0000000000303b16 _check_collision + 0x0000000000303ba8 _box_move + 0x0000000000303ef0 _box_jump + .text 0x0000000000303f74 0x620 build-fx/src/world.c.o + 0x0000000000303f74 _world_get_width + 0x0000000000303f84 _world_get + 0x0000000000303fe8 _display_cell + 0x00000000003042f4 _world_get_ctg + 0x0000000000304348 _reset_camera + 0x0000000000304364 _world_get_real_x0 + 0x000000000030438c _reload_camera + 0x00000000003043b4 _world_get_real_y0 + 0x00000000003043c8 _world_draw + 0x00000000003044e4 _world_move + .text 0x0000000000304594 0x70 build-fx/src/framerate.c.o + 0x0000000000304594 _callback + 0x000000000030459c _init_refresh + 0x00000000003045dc _quit_refresh + 0x00000000003045e8 _wait_next_frame + .text 0x0000000000304604 0x56c build-fx/src/bonus.c.o + 0x0000000000304604 _bonus_set + 0x0000000000304634 _bonus_move + 0x00000000003047e8 _bonus_draw + 0x00000000003048fc _lance_bullet + 0x0000000000304958 _bullet_display + 0x00000000003049f0 _bullet_move + .text 0x0000000000304b70 0x224 build-fx/src/save.c.o + 0x0000000000304b70 _load_save + 0x0000000000304b74 _flash_save + 0x0000000000304b78 _get_highscore + 0x0000000000304bc8 _set_highscore + 0x0000000000304c24 _get_highcoins + 0x0000000000304c74 _set_highcoins + 0x0000000000304cd0 _get_best_time + 0x0000000000304d20 _set_best_time + 0x0000000000304d88 _get_progress_status + .text 0x0000000000304d94 0x7b8 build-fx/src/mario.c.o + 0x0000000000304da4 _mario_bigger + 0x0000000000304dc0 _mario_smaller + 0x0000000000304dec _mario_draw + 0x0000000000304fa8 _test_sol_le_plus_proche + 0x0000000000305014 _mario_move + .text 0x000000000030554c 0x0 build-fx/src/main.c.o + .text.startup 0x000000000030554c 0x5c build-fx/src/main.c.o + 0x000000000030554c _main + .text 0x00000000003055a8 0x2c0 build-fx/src/keyboard.c.o + 0x00000000003055a8 _keyboard_clear + 0x00000000003055c8 _getkey_custom + 0x0000000000305618 _menu_pause + 0x0000000000305770 _update_keyboard + .text 0x0000000000305868 0x7b0 build-fx/src/ennemi.c.o + 0x0000000000305868 _display_ennemi + 0x0000000000305ab0 _ennemi_check_collision + 0x0000000000305b14 _hurt_mario + 0x0000000000305b48 _move_ennemi + 0x0000000000305fd8 _display_ennemi_table + .text 0x0000000000306018 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000306a14 _kprint_opt + 0x0000000000306b5c _kprint + 0x0000000000306c34 _kvsprint + 0x0000000000306c7c _sprintf + 0x0000000000306ca4 _vsprintf + 0x0000000000306cc4 _snprintf + 0x0000000000306ce4 _vsnprintf + .text 0x0000000000306cfc 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x0000000000306cfc _memcpy + 0x0000000000306db6 __memmove + 0x0000000000306dba __memcmp + 0x0000000000306dbe _memset + .text 0x0000000000306dd8 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 0x0000000000306dd8 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 0x0000000000306dd8 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + 0x0000000000306dd8 _drect + .text 0x0000000000306ef4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x0000000000306ef4 _dupdate + 0x0000000000306f0c _dupdate_noint + .text 0x0000000000306f18 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x0000000000306f18 _masks + .text 0x0000000000306fb4 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000306fb4 _dimage + 0x0000000000307008 _dsubimage + .text 0x000000000030707c 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x000000000030707c _dclear + .text 0x00000000003070c8 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000307270 _pollevent + 0x00000000003073b4 _waitevent + 0x0000000000307400 _clearevents + 0x0000000000307420 _keydown + 0x000000000030744c _keydown_all + 0x0000000000307488 _keydown_any + .text 0x00000000003074c4 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x00000000003074d0 _iokbd_row + 0x00000000003075b8 _iokbd_scan + .text 0x00000000003075e8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x00000000003075e8 _getkey_opt + 0x0000000000307794 _getkey + 0x00000000003077a0 _getkey_repeat + .text 0x00000000003077dc 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 0x00000000003077dc 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x000000000030796c _gint_panic + 0x000000000030797c _gint_panic_set + 0x0000000000307988 _gint_exc_catch + 0x0000000000307994 _gint_exc_skip + .text 0x00000000003079a0 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 0x00000000003079a0 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x0000000000307a54 _gint_install + 0x0000000000307b04 _gint_unload + .text 0x0000000000307b1c 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 0x0000000000307b1c 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 0x0000000000307b1c 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000307b1c _tlb_addr + 0x0000000000307b30 _tlb_data + 0x0000000000307b44 _tlb_mapped_memory + 0x0000000000307c18 _utlb_addr + 0x0000000000307c28 _utlb_data + 0x0000000000307c38 _utlb_mapped_memory + .text 0x0000000000307d10 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x0000000000307d10 _dsize + .text 0x0000000000307dac 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000307dac _dprint + .text 0x0000000000307e04 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000308124 _timer_setup + 0x00000000003081b4 _timer_delay + 0x0000000000308214 _timer_start + 0x0000000000308248 _timer_reload + 0x0000000000308268 _timer_pause + 0x000000000030829c _timer_stop + 0x00000000003082f8 _timer_timeout + 0x0000000000308304 _timer_address + 0x0000000000308340 _timer_clear + .text 0x0000000000308370 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x0000000000308370 _sleep_us + .text 0x00000000003083c8 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000308460 _t6k11_display + 0x0000000000308534 _t6k11_contrast + 0x0000000000308560 _t6k11_backlight + .text 0x00000000003085a0 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003086e4 _clock_freq + .text 0x00000000003086f0 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 0x00000000003086f0 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) + 0x00000000003086f0 _bopti_asm_mono + 0x0000000000308716 _bopti_asm_mono_alpha + .text 0x0000000000308748 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x0000000000308748 _bopti_grid + 0x00000000003088bc _bopti_render + 0x00000000003089ec _bopti_render_clip + 0x0000000000308b00 _bopti_render_noclip + .text 0x0000000000308b58 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000308b58 _gint_setvbr + .text 0x0000000000308b84 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x0000000000308b84 _gint_intlevel + 0x0000000000308bd8 _gint_inthandler + .text 0x0000000000308bfc 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 0x0000000000308bfc 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 0x0000000000308bfc 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + 0x0000000000308cdc _ll_set_size + 0x0000000000308cf0 _ll_set_state + 0x0000000000308d10 _ll_get_state + 0x0000000000308d20 _ll_clear + 0x0000000000308d6c _ll_send + 0x0000000000308de0 _ll_sendp + 0x0000000000308e2c _ll_display_custom + 0x0000000000308e98 _ll_display + 0x0000000000308eac _ll_pause + 0x0000000000308f04 _ll_panic + 0x0000000000308f40 _ll_set_panic + 0x0000000000308f50 _ll_set_level + 0x0000000000308f5c _ll_get_level + .text 0x0000000000308f68 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x0000000000308f68 ___movstr + 0x0000000000308f68 ___movmem + 0x0000000000308f9c ___movmemSI64 + 0x0000000000308f9c ___movstrSI64 + 0x0000000000308fa0 ___movstrSI60 + 0x0000000000308fa0 ___movmemSI60 + 0x0000000000308fa4 ___movmemSI56 + 0x0000000000308fa4 ___movstrSI56 + 0x0000000000308fa8 ___movstrSI52 + 0x0000000000308fa8 ___movmemSI52 + 0x0000000000308fac ___movstrSI48 + 0x0000000000308fac ___movmemSI48 + 0x0000000000308fb0 ___movstrSI44 + 0x0000000000308fb0 ___movmemSI44 + 0x0000000000308fb4 ___movstrSI40 + 0x0000000000308fb4 ___movmemSI40 + 0x0000000000308fb8 ___movstrSI36 + 0x0000000000308fb8 ___movmemSI36 + 0x0000000000308fbc ___movmemSI32 + 0x0000000000308fbc ___movstrSI32 + 0x0000000000308fc0 ___movmemSI28 + 0x0000000000308fc0 ___movstrSI28 + 0x0000000000308fc4 ___movstrSI24 + 0x0000000000308fc4 ___movmemSI24 + 0x0000000000308fc8 ___movmemSI20 + 0x0000000000308fc8 ___movstrSI20 + 0x0000000000308fcc ___movstrSI16 + 0x0000000000308fcc ___movmemSI16 + 0x0000000000308fd0 ___movmemSI12 + 0x0000000000308fd0 ___movstrSI12 + 0x0000000000308fd4 ___movmemSI8 + 0x0000000000308fd4 ___movstrSI8 + 0x0000000000308fd8 ___movmemSI4 + 0x0000000000308fd8 ___movstrSI4 + .text 0x0000000000308fe0 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x0000000000308fe0 ___udivdi3 + .text 0x00000000003091d0 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x00000000003091d0 ___umoddi3 + .text 0x0000000000309404 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x0000000000309426 ___udivsi3 + .text 0x0000000000309470 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000309470 ___udiv_qrnnd_16 + .text 0x00000000003094d0 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 0x0000000000309380 0x120 +.gint.blocks 0x00000000003094d0 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000309380 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x0000000000309380 _gint_inth_7305 - 0x00000000003093a0 _gint_inth_7705 - .gint.blocks 0x00000000003093c0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x00000000003093c0 _inth_tmu - 0x0000000000309440 _inth_etmu2 - 0x0000000000309460 _inth_etmu_help - 0x0000000000309480 _inth_etmux + .gint.blocks 0x00000000003094d0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x00000000003094d0 _gint_inth_7305 + 0x00000000003094f0 _gint_inth_7705 + .gint.blocks 0x0000000000309510 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x0000000000309510 _inth_tmu + 0x0000000000309590 _inth_etmu2 + 0x00000000003095b0 _inth_etmu_help + 0x00000000003095d0 _inth_etmux -.gint.drivers 0x00000000003094a0 0x90 - 0x00000000003094a0 _bdrv = . +.gint.drivers 0x00000000003095f0 0x90 + 0x00000000003095f0 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x00000000003094a0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x00000000003094a0 _drv_cpg + 0x00000000003095f0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003095f0 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x00000000003094c4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003094c4 _drv_tmu + 0x0000000000309614 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000309614 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x00000000003094e8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x00000000003094e8 _drv_keysc + 0x0000000000309638 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000309638 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x000000000030950c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030950c _drv_t6k11 + 0x000000000030965c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x000000000030965c _drv_t6k11 *(.gint.drivers.6) - 0x0000000000309530 _edrv = . + 0x0000000000309680 _edrv = . -.rodata 0x0000000000309530 0x7e90 +.rodata 0x0000000000309680 0x7ecc *(.rodata.4) *(.rodata .rodata.*) .rodata.str1.4 - 0x0000000000309530 0xe build-fx/src/levelchanger.c.o + 0x0000000000309680 0xe build-fx/src/levelchanger.c.o 0x12 (size before relaxing) - *fill* 0x000000000030953e 0x2 - .rodata 0x0000000000309540 0x2e3c build-fx/src/level.c.o + *fill* 0x000000000030968e 0x2 + .rodata 0x0000000000309690 0x2e78 build-fx/src/level.c.o .rodata.str1.4 - 0x000000000030c37c 0x6 build-fx/src/level.c.o - *fill* 0x000000000030c382 0x2 + 0x000000000030c508 0x6 build-fx/src/level.c.o + *fill* 0x000000000030c50e 0x2 .rodata.str1.4 - 0x000000000030c384 0x22 build-fx/src/config.c.o - *fill* 0x000000000030c3a6 0x2 + 0x000000000030c510 0x22 build-fx/src/config.c.o + *fill* 0x000000000030c532 0x2 .rodata.str1.4 - 0x000000000030c3a8 0x1a build-fx/src/score.c.o + 0x000000000030c534 0x1a build-fx/src/score.c.o 0x1e (size before relaxing) - *fill* 0x000000000030c3c2 0x2 - .rodata 0x000000000030c3c4 0x130 build-fx/src/tile.c.o - 0x000000000030c3c4 _tplateforme - 0x000000000030c3d4 _mario_big - 0x000000000030c3e4 _mario_small - 0x000000000030c3f4 _bullet - 0x000000000030c404 _fleur - 0x000000000030c414 _mario_starman - 0x000000000030c424 _life_1up - 0x000000000030c434 _champi - 0x000000000030c444 _bloc - 0x000000000030c454 _end_level - 0x000000000030c464 _castle - 0x000000000030c474 _colline - 0x000000000030c484 _buisson - 0x000000000030c494 _nuage - 0x000000000030c4a4 _coin - 0x000000000030c4b4 _gift - 0x000000000030c4c4 _earth - 0x000000000030c4d4 _brick - 0x000000000030c4e4 _tuyau + *fill* 0x000000000030c54e 0x2 + .rodata 0x000000000030c550 0x130 build-fx/src/tile.c.o + 0x000000000030c550 _tplateforme + 0x000000000030c560 _mario_big + 0x000000000030c570 _mario_small + 0x000000000030c580 _bullet + 0x000000000030c590 _fleur + 0x000000000030c5a0 _mario_starman + 0x000000000030c5b0 _life_1up + 0x000000000030c5c0 _champi + 0x000000000030c5d0 _bloc + 0x000000000030c5e0 _end_level + 0x000000000030c5f0 _castle + 0x000000000030c600 _colline + 0x000000000030c610 _buisson + 0x000000000030c620 _nuage + 0x000000000030c630 _coin + 0x000000000030c640 _gift + 0x000000000030c650 _earth + 0x000000000030c660 _brick + 0x000000000030c670 _tuyau .rodata.str1.4 - 0x000000000030c4f4 0x63 build-fx/src/world.c.o - *fill* 0x000000000030c557 0x1 - .rodata 0x000000000030c558 0x28 build-fx/src/keyboard.c.o - .rodata 0x000000000030c580 0x60 build-fx/src/ennemi.c.o - 0x000000000030c5b0 _ennemi_heights - 0x000000000030c5c8 _ennemi_widths - .rodata 0x000000000030c5e0 0x204 build-fx/assets/fonts/mario.png.o - 0x000000000030c5e0 _font_mario - 0x000000000030c7e4 _font_mario_end - .rodata 0x000000000030c7e4 0x20 build-fx/assets/img/bonus.png.o - 0x000000000030c7e4 _img_bonus - 0x000000000030c804 _img_bonus_end - .rodata 0x000000000030c804 0x24 build-fx/assets/img/bloc.png.o - 0x000000000030c804 _img_bloc - 0x000000000030c828 _img_bloc_end - .rodata 0x000000000030c828 0x404 build-fx/assets/img/ram.png.o - 0x000000000030c828 _img_ram - 0x000000000030cc2c _img_ram_end - .rodata 0x000000000030cc2c 0x58 build-fx/assets/img/w5.png.o - 0x000000000030cc2c _img_w5 - 0x000000000030cc84 _img_w5_end - .rodata 0x000000000030cc84 0x404 build-fx/assets/img/options.png.o - 0x000000000030cc84 _img_options - 0x000000000030d088 _img_options_end - .rodata 0x000000000030d088 0x44 build-fx/assets/img/fleur.png.o - 0x000000000030d088 _img_fleur - 0x000000000030d0cc _img_fleur_end - .rodata 0x000000000030d0cc 0x58 build-fx/assets/img/w2.png.o - 0x000000000030d0cc _img_w2 - 0x000000000030d124 _img_w2_end - .rodata 0x000000000030d124 0x404 build-fx/assets/img/main.png.o - 0x000000000030d124 _img_main - 0x000000000030d528 _img_main_end - .rodata 0x000000000030d528 0xc4 build-fx/assets/img/flag.png.o - 0x000000000030d528 _img_flag - 0x000000000030d5ec _img_flag_end - .rodata 0x000000000030d5ec 0x404 build-fx/assets/img/new_level.png.o - 0x000000000030d5ec _img_new_level - 0x000000000030d9f0 _img_new_level_end - .rodata 0x000000000030d9f0 0x4c build-fx/assets/img/brick.png.o - 0x000000000030d9f0 _img_brick - 0x000000000030da3c _img_brick_end - .rodata 0x000000000030da3c 0xbc build-fx/assets/img/menu_pause.png.o - 0x000000000030da3c _img_menu_pause - 0x000000000030daf8 _img_menu_pause_end - .rodata 0x000000000030daf8 0x18 build-fx/assets/img/select_arrow.png.o - 0x000000000030daf8 _img_select_arrow - 0x000000000030db10 _img_select_arrow_end - .rodata 0x000000000030db10 0x804 build-fx/assets/img/dev.png.o - 0x000000000030db10 _img_dev - 0x000000000030e314 _img_dev_end - .rodata 0x000000000030e314 0x24 build-fx/assets/img/death.png.o - 0x000000000030e314 _img_death - 0x000000000030e338 _img_death_end - .rodata 0x000000000030e338 0x404 build-fx/assets/img/mainmenu.png.o - 0x000000000030e338 _img_mainmenu - 0x000000000030e73c _img_mainmenu_end - .rodata 0x000000000030e73c 0x58 build-fx/assets/img/w3.png.o - 0x000000000030e73c _img_w3 - 0x000000000030e794 _img_w3_end - .rodata 0x000000000030e794 0x404 build-fx/assets/img/time_over.png.o - 0x000000000030e794 _img_time_over - 0x000000000030eb98 _img_time_over_end - .rodata 0x000000000030eb98 0x4c build-fx/assets/img/coin.png.o - 0x000000000030eb98 _img_coin - 0x000000000030ebe4 _img_coin_end - .rodata 0x000000000030ebe4 0x24 build-fx/assets/img/champi.png.o - 0x000000000030ebe4 _img_champi - 0x000000000030ec08 _img_champi_end - .rodata 0x000000000030ec08 0xdc build-fx/assets/img/mariosmall.png.o - 0x000000000030ec08 _img_mariosmall - 0x000000000030ece4 _img_mariosmall_end - .rodata 0x000000000030ece4 0x404 build-fx/assets/img/levelchanger.png.o - 0x000000000030ece4 _img_levelchanger - 0x000000000030f0e8 _img_levelchanger_end - .rodata 0x000000000030f0e8 0x28 build-fx/assets/img/gift.png.o - 0x000000000030f0e8 _img_gift - 0x000000000030f110 _img_gift_end - .rodata 0x000000000030f110 0x44 build-fx/assets/img/buisson.png.o - 0x000000000030f110 _img_buisson - 0x000000000030f154 _img_buisson_end - .rodata 0x000000000030f154 0x84 build-fx/assets/img/colline.png.o - 0x000000000030f154 _img_colline - 0x000000000030f1d8 _img_colline_end - .rodata 0x000000000030f1d8 0x24 build-fx/assets/img/star.png.o - 0x000000000030f1d8 _img_star - 0x000000000030f1fc _img_star_end - .rodata 0x000000000030f1fc 0x224 build-fx/assets/img/mariobig.png.o - 0x000000000030f1fc _img_mariobig - 0x000000000030f420 _img_mariobig_end - .rodata 0x000000000030f420 0x804 build-fx/assets/img/error.png.o - 0x000000000030f420 _img_error - 0x000000000030fc24 _img_error_end - .rodata 0x000000000030fc24 0x44 build-fx/assets/img/1up.png.o - 0x000000000030fc24 _img_1up - 0x000000000030fc68 _img_1up_end - .rodata 0x000000000030fc68 0xb8 build-fx/assets/img/tuyau.png.o - 0x000000000030fc68 _img_tuyau - 0x000000000030fd20 _img_tuyau_end - .rodata 0x000000000030fd20 0x24 build-fx/assets/img/bullet.png.o - 0x000000000030fd20 _img_bullet - 0x000000000030fd44 _img_bullet_end - .rodata 0x000000000030fd44 0x4c build-fx/assets/img/carapace_verte.png.o - 0x000000000030fd44 _img_carapace_verte - 0x000000000030fd90 _img_carapace_verte_end - .rodata 0x000000000030fd90 0x44 build-fx/assets/img/nuage.png.o - 0x000000000030fd90 _img_nuage - 0x000000000030fdd4 _img_nuage_end - .rodata 0x000000000030fdd4 0x10 build-fx/assets/img/plateforme.png.o - 0x000000000030fdd4 _img_plateforme - 0x000000000030fde4 _img_plateforme_end - .rodata 0x000000000030fde4 0xc4 build-fx/assets/img/koopa_verte.png.o - 0x000000000030fde4 _img_koopa_verte - 0x000000000030fea8 _img_koopa_verte_end - .rodata 0x000000000030fea8 0x404 build-fx/assets/img/game_over.png.o - 0x000000000030fea8 _img_game_over - 0x00000000003102ac _img_game_over_end - .rodata 0x00000000003102ac 0x404 build-fx/assets/img/level.png.o - 0x00000000003102ac _img_level - 0x00000000003106b0 _img_level_end - .rodata 0x00000000003106b0 0xe4 build-fx/assets/img/castle.png.o - 0x00000000003106b0 _img_castle - 0x0000000000310794 _img_castle_end - .rodata 0x0000000000310794 0x4c build-fx/assets/img/goomba.png.o - 0x0000000000310794 _img_goomba - 0x00000000003107e0 _img_goomba_end - .rodata 0x00000000003107e0 0x4c build-fx/assets/img/stone.png.o - 0x00000000003107e0 _img_stone - 0x000000000031082c _img_stone_end - .rodata 0x000000000031082c 0x24 build-fx/assets/img/tickbox.png.o - 0x000000000031082c _img_tickbox - 0x0000000000310850 _img_tickbox_end - .rodata 0x0000000000310850 0x58 build-fx/assets/img/w4.png.o - 0x0000000000310850 _img_w4 - 0x00000000003108a8 _img_w4_end - .rodata 0x00000000003108a8 0x58 build-fx/assets/img/w1.png.o - 0x00000000003108a8 _img_w1 - 0x0000000000310900 _img_w1_end - .rodata 0x0000000000310900 0x404 build-fx/assets/img/lvl0.png.o - 0x0000000000310900 _img_lvl0 - 0x0000000000310d04 _img_lvl0_end + 0x000000000030c680 0x63 build-fx/src/world.c.o + *fill* 0x000000000030c6e3 0x1 + .rodata 0x000000000030c6e4 0x28 build-fx/src/keyboard.c.o + .rodata 0x000000000030c70c 0x60 build-fx/src/ennemi.c.o + 0x000000000030c73c _ennemi_heights + 0x000000000030c754 _ennemi_widths + .rodata 0x000000000030c76c 0x204 build-fx/assets/fonts/mario.png.o + 0x000000000030c76c _font_mario + 0x000000000030c970 _font_mario_end + .rodata 0x000000000030c970 0x20 build-fx/assets/img/bonus.png.o + 0x000000000030c970 _img_bonus + 0x000000000030c990 _img_bonus_end + .rodata 0x000000000030c990 0x24 build-fx/assets/img/bloc.png.o + 0x000000000030c990 _img_bloc + 0x000000000030c9b4 _img_bloc_end + .rodata 0x000000000030c9b4 0x404 build-fx/assets/img/ram.png.o + 0x000000000030c9b4 _img_ram + 0x000000000030cdb8 _img_ram_end + .rodata 0x000000000030cdb8 0x58 build-fx/assets/img/w5.png.o + 0x000000000030cdb8 _img_w5 + 0x000000000030ce10 _img_w5_end + .rodata 0x000000000030ce10 0x404 build-fx/assets/img/options.png.o + 0x000000000030ce10 _img_options + 0x000000000030d214 _img_options_end + .rodata 0x000000000030d214 0x44 build-fx/assets/img/fleur.png.o + 0x000000000030d214 _img_fleur + 0x000000000030d258 _img_fleur_end + .rodata 0x000000000030d258 0x58 build-fx/assets/img/w2.png.o + 0x000000000030d258 _img_w2 + 0x000000000030d2b0 _img_w2_end + .rodata 0x000000000030d2b0 0x404 build-fx/assets/img/main.png.o + 0x000000000030d2b0 _img_main + 0x000000000030d6b4 _img_main_end + .rodata 0x000000000030d6b4 0xc4 build-fx/assets/img/flag.png.o + 0x000000000030d6b4 _img_flag + 0x000000000030d778 _img_flag_end + .rodata 0x000000000030d778 0x404 build-fx/assets/img/new_level.png.o + 0x000000000030d778 _img_new_level + 0x000000000030db7c _img_new_level_end + .rodata 0x000000000030db7c 0x4c build-fx/assets/img/brick.png.o + 0x000000000030db7c _img_brick + 0x000000000030dbc8 _img_brick_end + .rodata 0x000000000030dbc8 0xbc build-fx/assets/img/menu_pause.png.o + 0x000000000030dbc8 _img_menu_pause + 0x000000000030dc84 _img_menu_pause_end + .rodata 0x000000000030dc84 0x18 build-fx/assets/img/select_arrow.png.o + 0x000000000030dc84 _img_select_arrow + 0x000000000030dc9c _img_select_arrow_end + .rodata 0x000000000030dc9c 0x804 build-fx/assets/img/dev.png.o + 0x000000000030dc9c _img_dev + 0x000000000030e4a0 _img_dev_end + .rodata 0x000000000030e4a0 0x24 build-fx/assets/img/death.png.o + 0x000000000030e4a0 _img_death + 0x000000000030e4c4 _img_death_end + .rodata 0x000000000030e4c4 0x404 build-fx/assets/img/mainmenu.png.o + 0x000000000030e4c4 _img_mainmenu + 0x000000000030e8c8 _img_mainmenu_end + .rodata 0x000000000030e8c8 0x58 build-fx/assets/img/w3.png.o + 0x000000000030e8c8 _img_w3 + 0x000000000030e920 _img_w3_end + .rodata 0x000000000030e920 0x404 build-fx/assets/img/time_over.png.o + 0x000000000030e920 _img_time_over + 0x000000000030ed24 _img_time_over_end + .rodata 0x000000000030ed24 0x4c build-fx/assets/img/coin.png.o + 0x000000000030ed24 _img_coin + 0x000000000030ed70 _img_coin_end + .rodata 0x000000000030ed70 0x24 build-fx/assets/img/champi.png.o + 0x000000000030ed70 _img_champi + 0x000000000030ed94 _img_champi_end + .rodata 0x000000000030ed94 0xdc build-fx/assets/img/mariosmall.png.o + 0x000000000030ed94 _img_mariosmall + 0x000000000030ee70 _img_mariosmall_end + .rodata 0x000000000030ee70 0x404 build-fx/assets/img/levelchanger.png.o + 0x000000000030ee70 _img_levelchanger + 0x000000000030f274 _img_levelchanger_end + .rodata 0x000000000030f274 0x28 build-fx/assets/img/gift.png.o + 0x000000000030f274 _img_gift + 0x000000000030f29c _img_gift_end + .rodata 0x000000000030f29c 0x44 build-fx/assets/img/buisson.png.o + 0x000000000030f29c _img_buisson + 0x000000000030f2e0 _img_buisson_end + .rodata 0x000000000030f2e0 0x84 build-fx/assets/img/colline.png.o + 0x000000000030f2e0 _img_colline + 0x000000000030f364 _img_colline_end + .rodata 0x000000000030f364 0x24 build-fx/assets/img/star.png.o + 0x000000000030f364 _img_star + 0x000000000030f388 _img_star_end + .rodata 0x000000000030f388 0x224 build-fx/assets/img/mariobig.png.o + 0x000000000030f388 _img_mariobig + 0x000000000030f5ac _img_mariobig_end + .rodata 0x000000000030f5ac 0x804 build-fx/assets/img/error.png.o + 0x000000000030f5ac _img_error + 0x000000000030fdb0 _img_error_end + .rodata 0x000000000030fdb0 0x44 build-fx/assets/img/1up.png.o + 0x000000000030fdb0 _img_1up + 0x000000000030fdf4 _img_1up_end + .rodata 0x000000000030fdf4 0xb8 build-fx/assets/img/tuyau.png.o + 0x000000000030fdf4 _img_tuyau + 0x000000000030feac _img_tuyau_end + .rodata 0x000000000030feac 0x24 build-fx/assets/img/bullet.png.o + 0x000000000030feac _img_bullet + 0x000000000030fed0 _img_bullet_end + .rodata 0x000000000030fed0 0x4c build-fx/assets/img/carapace_verte.png.o + 0x000000000030fed0 _img_carapace_verte + 0x000000000030ff1c _img_carapace_verte_end + .rodata 0x000000000030ff1c 0x44 build-fx/assets/img/nuage.png.o + 0x000000000030ff1c _img_nuage + 0x000000000030ff60 _img_nuage_end + .rodata 0x000000000030ff60 0x10 build-fx/assets/img/plateforme.png.o + 0x000000000030ff60 _img_plateforme + 0x000000000030ff70 _img_plateforme_end + .rodata 0x000000000030ff70 0xc4 build-fx/assets/img/koopa_verte.png.o + 0x000000000030ff70 _img_koopa_verte + 0x0000000000310034 _img_koopa_verte_end + .rodata 0x0000000000310034 0x404 build-fx/assets/img/game_over.png.o + 0x0000000000310034 _img_game_over + 0x0000000000310438 _img_game_over_end + .rodata 0x0000000000310438 0x404 build-fx/assets/img/level.png.o + 0x0000000000310438 _img_level + 0x000000000031083c _img_level_end + .rodata 0x000000000031083c 0xe4 build-fx/assets/img/castle.png.o + 0x000000000031083c _img_castle + 0x0000000000310920 _img_castle_end + .rodata 0x0000000000310920 0x4c build-fx/assets/img/goomba.png.o + 0x0000000000310920 _img_goomba + 0x000000000031096c _img_goomba_end + .rodata 0x000000000031096c 0x4c build-fx/assets/img/stone.png.o + 0x000000000031096c _img_stone + 0x00000000003109b8 _img_stone_end + .rodata 0x00000000003109b8 0x24 build-fx/assets/img/tickbox.png.o + 0x00000000003109b8 _img_tickbox + 0x00000000003109dc _img_tickbox_end + .rodata 0x00000000003109dc 0x58 build-fx/assets/img/w4.png.o + 0x00000000003109dc _img_w4 + 0x0000000000310a34 _img_w4_end + .rodata 0x0000000000310a34 0x58 build-fx/assets/img/w1.png.o + 0x0000000000310a34 _img_w1 + 0x0000000000310a8c _img_w1_end + .rodata 0x0000000000310a8c 0x404 build-fx/assets/img/lvl0.png.o + 0x0000000000310a8c _img_lvl0 + 0x0000000000310e90 _img_lvl0_end .rodata.str1.4 - 0x0000000000310d04 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* 0x0000000000310d35 0x3 - .rodata 0x0000000000310d38 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000310e90 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* 0x0000000000310ec1 0x3 + .rodata 0x0000000000310ec4 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 - 0x0000000000310d40 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* 0x0000000000310d46 0x2 + 0x0000000000310ecc 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* 0x0000000000310ed2 0x2 .rodata.str1.4 - 0x0000000000310d48 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x0000000000310ed4 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* 0x0000000000310e62 0x2 - .rodata 0x0000000000310e64 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* 0x0000000000310fee 0x2 + .rodata 0x0000000000310ff0 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 - 0x0000000000310e7c 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 0x0000000000310e80 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x0000000000310e80 _gint_font5x7 - 0x0000000000311288 _gint_font5x7_end + 0x0000000000311008 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 0x000000000031100c 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x000000000031100c _gint_font5x7 + 0x0000000000311414 _gint_font5x7_end .rodata.str1.4 - 0x0000000000311288 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* 0x000000000031128e 0x2 + 0x0000000000311414 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* 0x000000000031141a 0x2 .rodata.str1.4 - 0x0000000000311290 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 0x0000000000311294 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x000000000031141c 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 0x0000000000311420 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.str1.4 - 0x00000000003112a4 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - *fill* 0x00000000003112bf 0x1 - .rodata 0x00000000003112c0 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x00000000003112c0 ___clz_tab + 0x0000000000311430 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + *fill* 0x000000000031144b 0x1 + .rodata 0x000000000031144c 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x000000000031144c ___clz_tab -.rela.dyn 0x00000000003113c0 0x0 - .rela.text 0x00000000003113c0 0x0 build-fx/src/levelchanger.c.o +.rela.dyn 0x000000000031154c 0x0 + .rela.text 0x000000000031154c 0x0 build-fx/src/levelchanger.c.o .rela.pretext.entry - 0x00000000003113c0 0x0 build-fx/src/levelchanger.c.o + 0x000000000031154c 0x0 build-fx/src/levelchanger.c.o 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x930 @@ -880,8 +879,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *fill* 0x000000000810092c 0x4 0x0000000000000930 _sbss = SIZEOF (.bss) -.data 0x0000000008100930 0x160 load address 0x00000000003113c0 - 0x00000000003113c0 _ldata = LOADADDR (.data) +.data 0x0000000008100930 0x160 load address 0x000000000031154c + 0x000000000031154c _ldata = LOADADDR (.data) 0x0000000008100930 _rdata = . *(.data .data.*) .data 0x0000000008100930 0x0 build-fx/src/levelchanger.c.o @@ -950,28 +949,28 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(D) 0x0000000008100a90 . = ALIGN (0x10) -.data.4 0x0000000008100a90 0x0 load address 0x0000000000311520 +.data.4 0x0000000008100a90 0x0 load address 0x00000000003116ac *(.data.4) 0x0000000008100a90 . = ALIGN (0x10) 0x0000000000000160 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x0000000000311520 - 0x0000000000311520 _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x00000000003116ac + 0x00000000003116ac _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x0000000000311520 - 0x0000000000311520 _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x00000000003116ac + 0x00000000003116ac _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x0000000000311520 - 0x0000000000311520 _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x00000000003116ac + 0x00000000003116ac _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -981,8 +980,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 0x0000000000311520 - 0x0000000000311520 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x00000000003116ac + 0x00000000003116ac _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) @@ -1003,7 +1002,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 0x0000000000311660 +.gint.bss 0x000000008800f540 0x290 load address 0x00000000003117ec *(.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/level.c.o b/build-fx/src/level.c.o index 5fe18a54b03f612ad734d52bbe0fffc78326349e..eb5709060630ce81b5f2552e511f0ffd4396ffbb 100644 GIT binary patch literal 22744 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 literal 22288 zcmd^H3tU{)nZGmKkRd~oc>y!b5Qb-lHwna&KmsYFoy63#n;=H>K@V_kYgZGhA+XjHc_h zyZ86IbIy0Z@Be+@`ObIFz4siFyRP1JjY6s5LYIQeL|xLbqXKjUS4bsnoSIuSs>-`( zbMkuiyWHr)^W5o$v=%vrl8bWS{>K0p71AfEn_b~SKo0Ch8qj#UX zd%Zg2-qE|yb0mVVcf8G=?8xXn+mWJ6)@AFyqRi4g@MPxT(RU{lZ{F#BCq?)6;$+>i zU!A&Rqq;CKddPd`mxtD)_V%J|UCqVO_O_k7E~dI#9J<)ri(B75Q1{mUDvO|ZInI}E z8NKgELUeVNYeULSc}k(RBX7JcMV-FFS>FBZe$BZCp`c@zaKv@Jpx6Dhq1?6eaK3QC zbt~lRJNGyv#!J(p#>>*w!uF0mkZhCH5 z3b`9QD;nTMHoVAI3;)zn0WWTLmY@6Vej(^}>}$0tuAK+IC|qbc?At~?-&GRmtd?r; zsCJeE=iJ{6OvR}};eu|5=yyYB<21=e$TbN^PG=Lpb$gCw_GDfaaMi2|2p7)TTuyj& zL+6dP@F*P~rK^SNW9E(!e zhPihXT{#mUaW8zto#Wo;e!~S6k@M$lD1V>eG^DOr&uJ8WxF6v(N*A|9`E_nfgo@Kd z7;t|bcLk@ZjYz*q^lop@-m3x~NkT#LZL0zuDd>NVppWsp8W7(`^d_@2OWK=`Ec7Ku zIO5s5GT^eE%n&ZbWOz2M3?yrgZgeHB2moQ|jCr;6r)3>6kc=C}N`Tp$RCDoE(t34U ze%9S%)|$Ih9bbwVO(YzfXLQ*};x66W*~&OFtD>f6RXpK4FYeFZsIKiEHNL~uTue$H zjXN24%81ekZK~0@_3HD=`<9d*-kiSgQsbqDOM5Soc~54$B3i*KEQ)MJ`nur=UobYo zSmjIv%UOO+L^jvJxLb)p#`B8n32Db4+uerdQLa`G%%ncK9$6XCnF<1)pLu_VT3lhk^OMtV#5vpZO8+Y;t;GRXs>=rY zrMK=PbdVZXdY<(?3q(vw!1MI|PlJ=X4k(w+^Bq!0&5HWtv~Gp;w;`+dd<%58=MhoD z=CXPQrs|OT2BfsE!e1}cC3R;1|>_urC-~Fcirz7+c_v zG)5Lh`Xe2Y_Q>|gE|Pl+j?>~!!fjoEXDn_Wx8Wo3BGK;o6a3YC{z&?Qo=i%5a?zlj z){FOpl;=G|B5K*=rJnQN^FSvQ2DUj^TwG7R6Jan5Dc&=#=L!R<7#HuU{!@hk*Cy0X z76%Fg29x(S(00%#K*f1~0=azeuqg8*w8eP;iAV@3X1!~Z_xb+ki6&&N-Q@skNR<2@ zB(<)m#!LI3G$a-Wu74u6K2>cl6AHY4FY5o6DEY7%KK4K8vKI%;@C`bT_a7%R#n4N2 z-X}_Wsec|3|2690SEzsYiV|Jazk7&8&_8(O>URY_^xi2-9TI(08WO$x`}d2jEwuj$ z-X?+ut^rbJ?;er68Q@IjB2~($fnwLDNO$C5g1#j6~u3e}LR zUFBB!Rl}-@C|eXCRkVnYs)({j^+vg)2BU_f{EJkJjEmYA6)mza8jR)_xfe|=@~e$% zUR|NKtGm>0^`Lr4J*@Vt$J7(*N$-bdt?0!j8vWmavZG&Rl=@Ffm7yp9W==$%WX^m2 z@1a)-#R2bc2zR{n`sd7MI^LTw-f#84g;tUqZ;}WT1TqR)hj_j&$`6_2s63JSNk4Lq z>V1WdNQ~D{rIg;6MCqr@dMZugIn*D@IHukEBy?*Hr;&Zi{>PA+C^6E5{ez<3M?#Vh z5Wl_O6!rVWvJb6~dL>y$^Wmt7{;DV?$+=XQH<)ur&`-_vFHr9`!@I-%hegyu+Lr|H z0TJB_8)olqph%zhiRE5Vx(-~Ew-ywMbhTKLd?S4(`4;CI8ZW(NQ&xSJdSr#+Im1%4 zZ|mPC;x~(t+aw}Mz7b8=h#JbFLGN7;idbJKmc;|8MH{1S(M8d9(e`L}^kDSxVm^8- z+P~Pi*s<8X*uJ=Kao6JB#S@E%7W)@ZE>SIYFR?A*mpGQxEwL}@T{5;*wbZe+eQDRy zp`{a=!KHqUO~Y%7G!9LL#;$4Cbm1B4)(mUgHGa*6W>Txt@>-+TrY+*4u-<9usDB9G z$jU*+?Dze@hi@duE{XBGDE8n#AZ7OcyU6`lP$n<3kj4jDh}ror;bEV|cbdYisT@6gxj z+x5NrLA_f)ruXY74Jw1tz#AL}yP?9+Zs;=f8iouLhRGOPOi@f-j6J3|#vL;jL_dqs>Ts+k}j(DoqF zgYuhXP47QWp1rOYA@OX;Z?6mQ1LlNrWysSnpT%gCSwUKW?eujLEhWK~2G3l~gD;9U z?;s`Qg3l28#0^o%K=iSZV4(%iTlAw&#Nm01_>%RH@UZ?F^oBOWe#7_a(-ysXqrkGw zvfZM!*j?|AD=mq>E%$GM2PejrzR#}s_?z@uu|t zxbpt@@fCp5a?Uq#e1c%s27Kp7z6J@cB@(0c#<=qMFV_Z0iRip}{7oVQZNFGcEui)~ zWD|U&qV}JIGW$-5Qm=wC`Cbuueo%3~mqp$SpdRu4P^6v}Wu6wxr^NOrMfx95z6fiN zmISi%sR!Re3yJr`qQnD)77Bd#2WcwPhdMzW6J@%I%y{X}b7ZsZG4JC~wO(q+Y zZOM+*q2!9>uH@e2q2$RFV~Q=MD8-Rdmts%pO>w7;rT9}-seGy<)t=g(>Q0?VbEo># zY-xNNp2bRz!*?c)%7-XlbopJwl$xAIU4YLf-+vJQMgG5v{1bF!&r=T8k)2}+bbcj} zkvV((EZRxL$LMJJT_<3HaA*#OsGmZ6j1L(I?LmFWKh$3ospmu5-$>BYd?2&@spB;B zFbkd>S3(1cdg<}UEQxCaJ4dJ#$%aQn4<1ZNAX?CJ|8eA<#SC1($m^xOlVl!p|ES3O zD)sHlBKAw5^uE6#JR!yBPSA?&E>a3935m3~hmIdYhFM|Zc2TkoxC9@`KNdfdeFX97 zzbP^Mk$c%z!h?UvJgTLVN*tkWH2c?jA&;UNxhZDZf6AC(ph1Y$K;|@{s zY7%!Kk#j*==wC})ibaVc!WpT^YM;!eRNF9-iqkVtx zEsRLE)%P1w{@0#glMz}O@Qo8Wtb?ie`akPCOTMSEgEB_Hk(HiPptXdL9f%Ph_GaiV z!OuzpQeHqVAY6^yqFY3FumM&AO*Z zUv*#5Rl>J>efI*h6`U=)&(a>4Jx6?GKPDS`k$K>nJa>v#4}psFv{P>BwjWz!$c}&| z9gjJfgPy;2d)XetG-b{DqVCGonM3yRx&vIlLv+P+zS?yWw ztcjfVEPu8wo6oMuwrBTdyR(P0{W+=}KF5|*lw;3v=M3ifb0%_)x$ay(w<6b`+m$<< zSCs3|oy_C&?0I#0gZchEciwQ`Se`#`GGCQ%R19(|vfg<P{R(+Uo>aNI1lsm<$e#9{7SXSh zSW!K%!IIg7y+G*Dkc`8q4dXY?^JDzRc>MU)dtSz`7P;{P$^_33@oV<{0KX>BGx&}3 zU_UU~we3gL%QWo7J>h!-8cBvdE{^KogULRiCg;fO_2Yh5lknG+ar;-U| zPZ0Zdy(1V`Sm~iw$gZFobAZf%yI}9jBN%0x`#W{F(u{1@-9~ez4f!4=967nc(%pB+ zvSoF^vK4P=sg^WLx@Eb=X34N*TCyzJmK;m2CC}yStM}Ef4w!OF0;X(Jj%m5cX38*S znzH&TR|j0ZeYb+wY`V>qY{F_L6r3wG#h8A6_#@M6hqZmsZ90Lv&ZIZ}tZ$=lBWMlu zXi3jZ%S?%VpFNj>Hj62tZym~blew>Wbs!_ZZ#5{R$<%ihZ1{wNzJh_W)q#9I-=6Qz z@68{}pID(aNxPHT;^QHTE^_Yuv%_T(-}LeLn^2 zTCx{tiZ#Xc{fYYbNBCzj#q>>*7>q0X{tGmE*>{1^@b?4I8k3gx@n0xn0vsc8FnLEy#}dPDlbe=beG zLtmxep}#@@x$Xh)0Hk#K6n&~bO`on`j_V#I8Lnx@i373%4QJK^?UY4Xz*VdOGZ9S+F z^z?MgE40Qux~H6sxa&Bi>JR02?y1KqP6keKGSoshPPg>rbnDE@16Dji>uR^-Z0qYn zL1we-0m$QYYnn99P|n!s>DFUHYiv(_`N1+8!yd>s?kVrwcW8@LzJB{bp<|!WnxV~f z#lG2C?iz$2--hgccM6@o137yl)(o%luNf=mi*3dB;;!PsVt28>L{-9<*h=gr?vkMr zf63Tder?@a``WIx?Q7j@{p?BGu6UF z9lhw|H^!A`?smO#^UJZ{-1FE?-w_^iovZf=-L>0YZ{Z9rrDNCr!=2T85t%HYved$N zJF54V1LwShoSh8`1!r4*BQf8@6So=XekmO|Kbt1q2w8G|wik1@HD=GTAN2o#oSz8= z_^Nb5{`;LzOV68*J>Ky&5YJo{I9n;Srn_QZz^Pe*tNz%7{SRIh=&ULZNKfZ_`Z}rv z{ka=f1=5o`s^QP|LaW*D+6lz1(7mT~uT;8YFElp_M~>a)y9++ll>|;BPt5hl4rVul zCf?U{I;SC=g8o!l$8NkcoDd!|f1$_O?_3ptm2R9_;)Jp|(AhLizDdv@+tITFCu~)~ zJh3V;vN9$DF&zTp86fI9>*-lpJv`Y9Pu729J&DGez(_`n3VGWA&l`o5W1oSBU7gib zwi>cd^lfk?DQ2-y(31%dwhAd}&F@5$Xj2(Pc{IMG3Fl<=6m8V>4u`twr0G7z!jz=s zcYi*0!iZC{=-@e-qC~MtagD;R*r{kx)G7{hQHmi>74afh7BS3K@HS4hfZRp69h@q% z8TX60MkQG;&w$@)&a%Tc_vxkaC3|3Q3nIgT|%Cm ziD-b)hKpkuqFKbzbJDpiF^njmG?y&nNibo_6CA@Z9pRLJNf<0BSVpFfIWbEE^G!MrBE|QGSsnF%AeBab7)Nb^lDBX?AS3FVvI z&Kwx4oHrZI?99fWseL|-bX*voVen2$&Y~~tiga9N!03U|v36F@g<&%C@)Kf0iwae6uqhW@SEOmhF*ZSakLYkrFPW(~K` z;l^63FI>z_c_7s@Q+>WXxa`FbO6J4N@=hN54xFh!v)Bo(BQs&-{gLbVzk*@oivG+y z=U5D+VyNY@nDtUxUY`jgmyy%qV%WSU_>X~^a~+lE z3egQap*hOze2UM;(43R|CVx&yd<$WS|8rdujCC$KDUV^Kb3yK#RG!o&m^t6Yq&NvC zN!mVFonhvZVLX;U9}`3K=VM}M{>+34W6qH^Uh^sDo0Y{!Udnx)sXu=%3>zDwFC05W z4wyOTHj$BEpCab6HAL=avAv?oGEUf1S9o})a5#6vLnYZnvLtn#7vuW5lq<} zB^y^}hhXNz0W)o$GR%B9;)dJ~!_MJi2!px(N!II+jbT2qG92HSEGg%^Cn+Y=?4jB5K#e8F> z+()(+$lK?l*}R@hM$TjNnzX|=`pv|AVx=4-rDuwPls{8lj+seD-X_J!d9%?BGuL;P z9Lq3QFn_{Ydn9&}a4o!=-n+` zJ94|>`1a?-%r$>zvjfbG^G80O(io8SbEZo^opq*jD&SDJCN7n zo_C!hN+lTbH$`FHK^V6br3p7HnLVhaSBY4zMu}H;?hV}0xJh?@iJPR*kTT?SvSySIwwcE*6);I31Y^iEQ!~W))sy4LjcDC(x9t3A!eOo2f#8uv2 zS-rod#ksGIsBEck;wo!foRAH*R{}6av@^>nosHGaOq+AxK4)XSvz4n1)>!+~zANx2nYsdU%zC{RAK1bAWoQ28MNpv<~*<$U@9Jhqk+c++P)emESigmu1 z<6>DIaZ6&6O{xbi_bDhYo4Dzl+o`w2Enur|XJH#>{C9do4#}Ag` z&_!g}E!rf!>yU3s0TuH6C4Liq8j%+J0E*j+HbpzBi5JmDE^-DTk=sG=p=T@VRPMh4 DS}hKO diff --git a/levelconverter/1-2.png b/levelconverter/1-2.png index 0c6b693b5f093bcdb840f94e16f51ad31c68962c..f030b12e8aac8b6dcebd398476b98c32a8ff76d5 100644 GIT binary patch delta 1286 zcmV+h1^N2X9g_-wiBL{Q4GJ0x0000DNk~Le0003O0000E2nGNE00n(mGXMYqglR)V zP)S2WAaHVTW@&6?001bFeUUv#!%!53Pg6ya76&_sbjVPhEJzh`)G8FALZ}s5bufA9 zA2ex5Qd}Gb*MfsTi&X~~XI&j!1wrr!#L3Y~(M3wUFDbNti1ETpKF+)6@ZNoZ(5y1e z>X`sE-8M6+q?pUEihZvLAc`=36Ed@mIY~;xx4!PFkLoVYv;6!1tgu?J7!VMNXPIHz z#2duZo3_DupE$zGvPyhTJZ{nfi66PHc>Kn>RRJT%0&378yMFLD_&r;zIGOO0LP?_CX>@2HM@dakSAh-}0008( zNklN<5Pj=O6=@)MOKtcTwm>zJ15$=rhs%(BcQuHXMToiV{)c~#k737{nQ@s*)F07^U}uYub{in2eqpv zY9Dnfun)mK0DohsuqyB!_KY@_%N11TT{SbOvhGuC6Vg$(?v7HqDDoZBq2Cte1b=_% zc`0_HSvF0eA$)-GE5CBlrZe3itthDU&dT3tr66oWZ(*88}kUl z1*e7IQkgidXk>A)68%3W`Z`yxvetrF+!8V4#5=4WdTY^0W_RDFQlL({ zZ_StHg_&F$h5^Gc>;zmwGncI@7YTpgV?OU!&`QSQq{_v-RjRad0!9;5Gwmj|-)NM0 zuI;llf$@r4Oio{ximh@DP?3X+i|!jZVy|=tCk4mqe`+~)&T|_l1Pz+Z7ta?m`;gO* zoizYiPq}S4W(U_c@EmFoLPj4%L*?W^PFaHwQ}&SN^*=)2M%{54W9` zfSWXqg!k13mSu2}0!OA{d;wJjp85ZrMKC7=k`cBCCT9g@ji<~?!)9(bgJ;RQLF*f{ zeash5pdg66W5hc~88{T!{;r*NNPU|}=dF;+%%ymE8hh3j{jszv^BuDSEd^7z^92Rx zUi+T}L{@cJsUp9D<1>~60!x1pxJZU?Ruvy)M(!vIknD1;OSm#9Z#yOMRqAQwxsHViT{7;s)7IhpXT_(W-Dv5KRJQ|mkgp7vU)4u21S^79ywAIa{{Kib(q(BC$-Sjzv>F38^W wlCxX074OUpB3k@>P_9B}U~xCog|0QCfB4<*v=RI?{Qv*}07*qoM6N<$f(%kq*8l(j literal 3793 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 ") img = Image.open(filename) print("Converting", filename, "to", "\"" + filename + ".c\",", "size =", img.size) -code = "w_current_x = " + str(img.size[0]) + ";\nw_current_y = " + str(img.size[1]) + ";\nworld_t lvl[]=\n{" +code = "// !b Here the generated section begins (see the end at \"!e\")\nw_current_x = " + str(img.size[0]) + ";\nw_current_y = " + str(img.size[1]) + ";\nworld_t lvl[]=\n{" nombre_ennemis=0 ennemis = "\nennemi_t ennemies0[]={" - # Balayage des pixels : passe pour dessiner les murs pixels = img.load() for x in range(0,img.size[0]): @@ -35,16 +42,16 @@ for x in range(0,img.size[0]): for i in range(0, img.size[1]): y=img.size[1]-i-1 - if pixels[x,y] == pierre: + if color_compare(pixels[x,y], pierre): hexa="0x" left=1 right=1 if x != 0: - left = (pixels[x-1,y] == pierre) + left = (color_compare(pixels[x-1,y], pierre)) if x != img.size[0]-1: - right = (pixels[x+1,y] == pierre) + right = (color_compare(pixels[x+1,y], pierre)) sx=0 if left and right: @@ -60,31 +67,31 @@ for x in range(0,img.size[0]): down=1 if y != 0: - up = (pixels[x,y-1] == pierre) + up = (color_compare(pixels[x,y-1], pierre)) if y != img.size[1]-1: - down = (pixels[x,y+1] == pierre) + down = (color_compare(pixels[x,y+1], pierre)) sy = int(bool(up)) hexa += str(sy) code += "{EARTH," + hexa + "}, " - elif pixels[x,y]==piece: + elif color_compare(pixels[x,y], piece): code += "{COIN,0}, " - elif pixels[x,y] == brique: + elif color_compare(pixels[x,y], brique): code += "{BRICK,0}, " - elif pixels[x,y]==brique_piece: + elif color_compare(pixels[x,y],brique_piece): code += "{BRICK,0x15}, " - elif pixels[x,y]==boite_piece: + elif color_compare(pixels[x,y],boite_piece): code += "{GIFT,0x11}, " - elif pixels[x,y]==boite_champi: + elif color_compare(pixels[x,y],boite_champi): code += "{GIFT,0x21}, " - elif pixels[x,y]==empty: + elif color_compare(pixels[x,y],empty): code += "{0,0}, " - elif pixels[x,y]==beton: + elif color_compare(pixels[x,y],beton): code += "{BLOC,0}, " - elif pixels[x,y]==tuyau_bout: + elif color_compare(pixels[x,y],tuyau_bout): left=0 right=0 up=0 # vide par defaut @@ -92,21 +99,21 @@ for x in range(0,img.size[0]): tx=0 ty=0 if x: - left = (pixels[x-1,y] == tuyau_bout) or (pixels[x-1,y] == tuyau_milieu) + left = (color_compare(pixels[x-1,y], tuyau_bout)) or (color_compare(pixels[x-1,y], tuyau_milieu)) if x != img.size[0]-1: - right = (pixels[x+1,y] == tuyau_bout) or (pixels[x+1,y] == tuyau_milieu) + right = (color_compare(pixels[x+1,y], tuyau_bout)) or (color_compare(pixels[x+1,y], tuyau_milieu)) if y: - up = (pixels[x,y-1] == tuyau_bout) or (pixels[x,y-1] == tuyau_milieu) + up = (color_compare(pixels[x,y-1], tuyau_bout)) or (color_compare(pixels[x,y-1], tuyau_milieu)) if y != img.size[1]-1: - down = (pixels[x,y+1] == tuyau_bout) or (pixels[x,y+1] == tuyau_milieu) + down = (color_compare(pixels[x,y+1], tuyau_bout)) or (color_compare(pixels[x,y+1], tuyau_milieu)) if right and down: tx=0 - if (pixels[x,y+1]==tuyau_milieu): + if (color_compare(pixels[x,y+1], tuyau_milieu)): ty=2 elif left and down: - if (pixels[x,y+1]==tuyau_milieu): + if (color_compare(pixels[x,y+1], tuyau_milieu)): tx=1 ty=2 else: @@ -114,12 +121,12 @@ for x in range(0,img.size[0]): ty=0 elif up and right: tx=0 - if (pixels[x,y-1]==tuyau_milieu): + if (color_compare(pixels[x,y-1], tuyau_milieu)): ty=4 else: ty=1 elif up and left: - if (pixels[x,y-1]==tuyau_milieu): + if (color_compare(pixels[x,y-1], tuyau_milieu)): tx=1 ty=4 else: @@ -127,7 +134,7 @@ for x in range(0,img.size[0]): ty=1 hexa="0x"+str(tx)+str(ty) code += "{TUYAU,"+hexa+"}, " - elif pixels[x,y]==tuyau_milieu: + elif color_compare(pixels[x,y], tuyau_milieu): left=0 right=0 up=0 # vide par defaut @@ -135,14 +142,14 @@ for x in range(0,img.size[0]): tx=0 ty=0 if x: - left = (pixels[x-1,y] == tuyau_bout) or (pixels[x-1,y] == tuyau_milieu) + left = (color_compare(pixels[x-1,y], tuyau_bout)) or (color_compare(pixels[x-1,y], tuyau_milieu)) if x != img.size[0]-1: - right = (pixels[x+1,y] == tuyau_bout) or (pixels[x+1,y] == tuyau_milieu) + right = (color_compare(pixels[x+1,y], tuyau_bout)) or (color_compare(pixels[x+1,y], tuyau_milieu)) if y: - up = (pixels[x,y-1] == tuyau_bout) or (pixels[x,y-1] == tuyau_milieu) + up = (color_compare(pixels[x,y-1], tuyau_bout)) or (color_compare(pixels[x,y-1], tuyau_milieu)) if y != img.size[1]-1: - down = (pixels[x,y+1] == tuyau_bout) or (pixels[x,y+1] == tuyau_milieu) + down = (color_compare(pixels[x,y+1], tuyau_bout)) or (color_compare(pixels[x,y+1], tuyau_milieu)) if right and left==0: tx=0 @@ -158,20 +165,35 @@ for x in range(0,img.size[0]): ty=1 hexa="0x"+str(tx)+str(ty) code += "{TUYAU,"+hexa+"}, " + elif color_compare(pixels[x,y], drapeau): + if not color_compare(pixels[x,y-1], drapeau): + code += "{END_LEVEL,0x1400}, " + elif not color_compare(pixels[x,y-2], drapeau): + code+= "{END_LEVEL,0x1401}, " + elif not color_compare(pixels[x,y-3], drapeau): + code+= "{END_LEVEL,0x1302}, " + elif not color_compare(pixels[x,y-4], drapeau): + code+= "{END_LEVEL,0x1202}, " + elif not color_compare(pixels[x,y-5], drapeau): + code+= "{END_LEVEL,0x1202}, " + elif not color_compare(pixels[x,y-6], drapeau): + code+= "{END_LEVEL,0x1202}, " + else: + code+= "{END_LEVEL,0x1102}," else: code += "{0,'?'}, " #code += str(pixels[x,y]) - if pixels[x,y]==goomba: + if color_compare(pixels[x,y], goomba): nombre_ennemis += 1 ennemis += "\n GOOMBA(" + str(8*x) + ", " + str(8*i) + ", -1)," - elif pixels[x,y]==koopa_vert: + elif color_compare(pixels[x,y], koopa_vert): ennemis += "\n KOOPA_V(" + str(8*x) + ", " + str(8*i) + ", -1)," code += "\n};\ninit_level(lvl);\n" ennemis += "\n};\nennemis_global_size=" + str(nombre_ennemis) + ";\ninit_ennemies(ennemies0);\n" f = open(filename+".c", 'w') -f.write(code + ennemis) +f.write(code + ennemis + "\n// !e End of generated section") f.close() print("Converted succesfully !") \ No newline at end of file diff --git a/src/level.c b/src/level.c index 0372bb2..b923d80 100644 --- a/src/level.c +++ b/src/level.c @@ -386,7 +386,9 @@ void set_level(int w, int l) } else if (w+1==1 && l+1==2) { - w_current_x = 280; + + // !b Here the generated section begins (see the end at "!e") + w_current_x = 279; w_current_y = 14; world_t lvl[]= { @@ -467,39 +469,18 @@ void set_level(int w, int l) {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x20}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x00}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x20}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, {BRICK,0}, - {EARTH,0x00}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,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}, {BRICK,0}, {BRICK,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,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {BRICK,0}, + {EARTH,0x10}, {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,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}, {BRICK,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}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,'?'}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,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,0}, {BRICK,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}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {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,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, {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,0x10}, {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}, @@ -629,47 +610,67 @@ void set_level(int w, int l) {EARTH,0x10}, {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,0x10}, {0,0}, {0,0}, {0,0}, {TUYAU,0x04}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {TUYAU,0x14}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, - {EARTH,0x21}, {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}, - {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}, {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}, {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}, {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}, {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,0x00}, {TUYAU,0x03}, {TUYAU,0x03}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x00}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {TUYAU,0x11}, {TUYAU,0x10}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {TUYAU,0x21}, {TUYAU,0x20}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {EARTH,0x10}, {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,0x10}, - {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}, {EARTH,0x10}, - {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,'?'}, {0,0}, {0,0}, {EARTH,0x10}, - {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x10}, - {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,0x01}, {EARTH,0x10}, + {EARTH,0x11}, {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}, + {EARTH,0x11}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x20}, {TUYAU,0x03}, {TUYAU,0x03}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {TUYAU,0x11}, {TUYAU,0x10}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {TUYAU,0x21}, {TUYAU,0x20}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {EARTH,0x10}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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}, + {EARTH,0x20}, {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,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,'?'}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, + {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,0x11}, {EARTH,0x10}, + {EARTH,0x11}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x21}, {EARTH,0x20}, + {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}, + {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x00}, {BLOC,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,0x10}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {BLOC,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {BLOC,0}, {END_LEVEL,0x1102},{END_LEVEL,0x1102},{END_LEVEL,0x1102},{END_LEVEL,0x1102},{END_LEVEL,0x1202}, {END_LEVEL,0x1202}, {END_LEVEL,0x1202}, {END_LEVEL,0x1302}, {END_LEVEL,0x1401}, {END_LEVEL,0x1400}, {0,0}, {0,0}, + {EARTH,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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,0x10}, {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}, }; init_level(lvl); @@ -680,24 +681,36 @@ void set_level(int w, int l) GOOMBA(408, 8, -1), GOOMBA(424, 8, -1), KOOPA_V(440, 8, -1), - GOOMBA(960, 64, -1), - GOOMBA(968, 88, -1), - GOOMBA(1064, 8, -1), - GOOMBA(1320, 8, -1), - GOOMBA(1336, 8, -1), - KOOPA_V(1352, 8, -1), - KOOPA_V(1648, 8, -1), - GOOMBA(1728, 8, -1), - GOOMBA(1744, 8, -1), + GOOMBA(792, 64, -1), + GOOMBA(800, 88, -1), + GOOMBA(896, 8, -1), + GOOMBA(1152, 8, -1), + GOOMBA(1168, 8, -1), + KOOPA_V(1184, 8, -1), + KOOPA_V(1480, 8, -1), + GOOMBA(1560, 8, -1), + GOOMBA(1576, 8, -1), }; ennemis_global_size=12; init_ennemies(ennemies0); +// !e End of generated section + mario_x_max=0; mario.p.x=25; mario.p.y=32; + + teleport_t t[]= + { + {106,4, 222,9, MK_LITTLE}, + {243,3, 174,4, MK_LITTLE}, + {216,3, 248,2, MK_UP}, + }; + + set_teleporteurs(t, sizeof(t)/sizeof(teleport_t)); + } }