From 350efd5e388e656c4d31c7ac1b60e45df7706ed2 Mon Sep 17 00:00:00 2001 From: milang Date: Thu, 29 Aug 2019 15:22:38 +0200 Subject: [PATCH] create doxygen doc and correct makefile --- Makefile | 26 ++++++++----- build/src/event/keyboard.c.o | Bin 880 -> 0 bytes build/src/render/translate.c.o | Bin 2732 -> 0 bytes build/src/render/zbuffer.c.o | Bin 928 -> 0 bytes include/render/bitmap.h | 66 +++++++++++++++++---------------- libfxengine.a | Bin 5878 -> 8 bytes 6 files changed, 51 insertions(+), 41 deletions(-) delete mode 100644 build/src/event/keyboard.c.o delete mode 100644 build/src/render/translate.c.o delete mode 100644 build/src/render/zbuffer.c.o diff --git a/Makefile b/Makefile index 6c3de0b..3c9badf 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,37 @@ # fxengine makefile # fxengine needs gint (@Lephenixnoir) -target ?= sh3eb-elf - cflags := -m3 -mb -D FX9860G -ffreestanding -nostdlib -fstrict-volatile-bitfields -Wall \ - -Wextra -Os -Iinclude -I . + -Wextra -Os -Iinclude -I . + +dflags = -MT $@ -MMD -MP -MF $(@:%.o=%.d) lib := libfxengine.a header := include/ -prefix := $(shell $(target)-gcc -print-search-dirs | grep install \ +prefix := $(shell sh3eb-elf-gcc -print-search-dirs | grep install \ | sed 's/install: //') ifeq "$(prefix)" "" -$(error "Can't find install directory") +$(error "Can't find install directory... Leaving installation process") endif -src := $(shell find src -name '*.c') - -obj := $(src:%=build/%.o) +#src := $(shell find src -name '*.c') +src = $(wildcard src/*.c) +obj = $(src:%=build/%.o) all: $(lib) $(lib): $(obj) - $(target)-ar rcs $@ $^ + sh3eb-elf-ar rcs $@ $^ build/%.c.o: %.c @ mkdir -p $(dir $@) - $(target)-gcc -c $< -o $@ $(cflags) + sh3eb-elf-gcc -c $< -o $@ $(cflags) $(dflags) + +include $(wildcard build/*/*.d) clean: @ rm -rf build @@ -47,3 +49,7 @@ install: sh3eb-elf-ar -t $(lib) cp $(lib) $(prefix) cp -r $(header) $(prefix)/include/fxengine + +uninstall: + rm -f $(prefix)/$(lib) + rm -rf $(prefix)/include/fxengine diff --git a/build/src/event/keyboard.c.o b/build/src/event/keyboard.c.o deleted file mode 100644 index ad82dd2b2e664fdd5205cf946ded1fd0c0ed4778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmb7CJ5S?45T3Pp*nkucia?;q0Yc$Gi;)lrM3IB=I9&u49g?+9jF94x5E}#)9TIZ}ve}F%LbOm%!<~WI(Uyz%zGsYU9n*{7!;^w%|!f#r1*GS>LIY0c#gar<@T z`t3X7fB(Z8Cie?ke^V1bntfXOwAEaLOm|vj3Z^w)FrPH5m^Ywb9ERBKjg8f8ZhLos zCc7dRq{Rg~WjuEmwBC~;z2i)DAo@NCjV`nXB9Hcng~*Nx-JGxL!?_!LHXl&pmUGgU+z;280cZ7XS=C z-wuw)dOg;qe^CvT1JVx~kvw7z`zRT>=K;vF3KU4k_d%9w)hhM;6lD=jy?feOv>C|~ zd~ajuCq0jhB!1y<3YqdKpJH_1(`}pIgK$aWbIzeN+Qle}IPEb3EA1-JhN?Kg-%n&Fp6?4flDI!;uQCW_i2DyRFI~?7 diff --git a/build/src/render/translate.c.o b/build/src/render/translate.c.o deleted file mode 100644 index 192b9812bdc8f0130e14f3370e505b1a9fa71b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2732 zcmb7GYfO`86n@Lsa{Ca4k4r1C50Nl0qo0UB)RzWw z4B0Y`*D<%bn=HCyCYqS|cS}gNWxuL5$jwEkW6R=?wLn#Hmvg>LTk5Z!@V@VJ&Uwyx z&-dQSz?*OF(&TAKS~O%G;4DK?E$9r{Br(>IVp1dwx!Z(c&jI18a9j967#rs;4U_!9 z^C^C!e!Bj_YjicgN^BK2dPmw>-z`(+{=}JDPjb9wvSzA!qGnqEpz>A5Y0i^8yxP?| zP-tlirUI!WsqU0NMcA$sT`jhHNB6M4xSP3g$HOhrCp{b~!pgocTD551*{nxwGOSvZ zMzG;13<<+Ay>QjiU}8y87Za=Ub2H?3LI+K($eGIC*WBSY*Ty(HIL6)Qz;?k@Hd%hU zfDVcm+#{AIti-&&D-|mpTYjHKKV|kpWL&plo9x9plN_7P7lyiEjnx$vW+o3>8YT`7JaJv2<|)S>c9Y(Ef-mpTZp0mgA5$XRDQSlis)y>wKJdl@t9T8Qsz;<{c<SbBOr@v-O*>vUp=wzO&#vm(Ew`Xw<@FT$xL?JRG=kuL^Y4Sqkb16$R&MZyeNE9~=*l=YeI zIj;dvxtrme>4?yPR@)1()Y@l5jAIT~WTBn4El!xH&DI5bqVZ=((zduZubnlN9hmn% zwx)b>!=|ZiwmHL_hCJ&m*g1Q`k(4q^b6V%Uj4jmxdqzhg{!d3zj2rTSS8bmS!VDqK z`V3}xPUGTZFC+0r>~ zFSt*~a}4S|!gm1Q1iW|B+pxQ>ZEO9S-TQ27>$ezNj2m*|6gBuH{x(IwSuWRW z$?+e|(Yryv3GI}^cjfqdAk8+gtx^2Z9RGvacOAvQ%H1B^={>(Q_)6bZPZqR~T~R18F2#2Iu&!+wuQoKB~UQtE9* z6cDL*BZ5euTQT{fk}23j`vN`AjlF(}CmWqkpBxYtX`d%5Qm3aULYxtQ2ua>Rk1HDS zQ!gsPzJQX@>pw=l5l9mjLsSeq)5S^iQvW*$V)&I$$6B-S zVOU~?lQ#~>TE)|Za4LQXM_t8FvN(Ta>dbpeNTtg8i;!vsYmaC0YflnVuG-(r{!eYQ>jEcvi#7JFmK8)^2gc!p;vf}9p z2E|a6{4c2oHqMLp7X{W)`=x~BPOIP=7!jLfy#V$~^9JAoXc&*a5@=0|uDmbWd!T2F z{EdWQEZ&7|o;8c8&f5YujLDOIQa(5vX;FDwz=AwD6DZoJ(80A#3;NWiJflVq|~=Mg}b)8%co40?21(FafL3VBlonxWMnPAEq?du8BsT~q6gLPZ7%L_?2{Z`ze=B71S7QLGyT&?|up!|Hf*ae2K}9nvRmH0w6j;7)VMs1SSYK1OZ(V{E(4>J3*LxJJ=p~XJ;z~4R^m# zO$AFmLp=kqtr!H{&nyi8KO)OAql5=2FhB?afE*SC4=l+FCE(0k*|~fq@<7KOY7L4hUPXxH7jSF^NI1xTFX|XTVrRsX2*yC8-r940q~gZUngx6t$c{46_r+WSjvcynz@7VD1wH3LvZd1LRx56ai_lIsjbhb=?2} diff --git a/include/render/bitmap.h b/include/render/bitmap.h index b65d66c..1871016 100644 --- a/include/render/bitmap.h +++ b/include/render/bitmap.h @@ -1,14 +1,11 @@ #include #include -/* bitmap codé bit à bit - 0 dans layout -> transparent - 1 dans layout -> 1 dans color -> noir - 0 dans color -> blanc */ -/** bitmap rich type -* @warning Monochrome only ! -* transparency is in the layout -*/ +/** + * @brief bitmap rich type + * transparency is in the layout + * @warning Monochrome only ! + */ struct bitmap_rich { uint32_t size_px_x; @@ -20,31 +17,38 @@ struct bitmap_rich }; typedef struct bitmap_rich bitmap_rich; -/** get the color of pixel from rich bitmap -* @return the color coded in a unsigned char : -* if (color >> 1) -* switch (color%2) -* { -* case 0: -* // WHITE -* break; -* case 1: -* // BLACK -* } -* else -* // TRANSPARENT -* @param the bitmap -* @param x coordinate -* @param y coordinate -*/ + +/** + * @brief get the color of pixel from rich bitmap + * + * @param[in] bmp The bitmap + * @param[in] x The bitmap x coordinate (in pixels) + * @param[in] y The bitmap y coordinate (in pixels) + * + * @return the color coded in a unsigned char : + * if (color >> 1) + * switch (color%2) + * { + * case 0: + * // WHITE + * break; + * case 1: + * // BLACK + * } + * else + */ inline uint8_t bitmap_get_pixel_r(const bitmap_rich * bmp, uint32_t x, uint32_t y); -/** display a pixel from rich bitmap -* // TRANSPARENT -* @param the bitmap -* @param x coordinate -* @param y coordinate -*/ + +/** + * @brief display a specific rich bitmap pixel on the screen + * + * @param[in] bmp The bitmap + * @param[in] bmp_x The bitmap x coordinate (in pixels) + * @param[in] bmp_y The bitmap y coordinate (in pixels) + * @param[in] x screen : x coordinate + * @param[in] y screen : y coordinate + */ void bitmap_display_pixel_r(const bitmap_rich * bmp, uint32_t bmp_x, uint32_t bmp_y, uint32_t x, uint32_t y); diff --git a/libfxengine.a b/libfxengine.a index 0878c63523d114dcccd5b8edda1e5295a2874548..8b277f0dd5dcdcb9c4b6c0b7a32153664f111266 100644 GIT binary patch literal 8 PcmY$iNi0gvu;T&%3Vs4a literal 5878 zcmc&2ZERE5_1e!NPM%2!FAzHkvlCbr3dGI_5UQwkoB#nLOu(_31bTkiT2SCLwL@v>#5xLK0|28V1wUA4>u*5Vq``_uhSW z%xFNW*pcsh=bm%!x#!(`&bjxvtU>4tcD|Hrw=IO~jhi+*>T9a2H`;6tnU(&u*=lO* z)dBuoLda4=bTvvdd`XBA@Na8eF(F(rzilgjNIDwm5&A^FPm1&iB3VF-NpTb)d>|Z; z3cb7-j`c=_qkM1ph!o-b2p{bc`y)MkO>da+!JZi5W8rQBs=7s~kB|2W-LZ%emoy6K zBQThc_4n~Lh{+F){i8sCCGZD!}YFE`*c50E*Seawppv6PQL_fbnym&Yv{>aMr*2GhK)o&fXN+WRlK`$J`a+WaGNd zB)$pTnM}nfc|NhHEtMK;n8gvA)mST6y2_>ijC|HF{})ruidpiL`gUeap)Z=DEf!O7N-O~SotZK9B)QC(Lb<1jsW(9GG&GDU zwDCzXRSLY9pi!XqWyTcdna5&EJ66@O($2q(n*u%mYBtxZLG?7}Uk=)qI{$J>j{QWS z$$l=l&;Eh^WBZ@%qhnTg`Gj@g{&nlP?S}1(?}@9eWm2uZCN$K-c3gI@*gJiyG&nO> zGEs89XuRZx`HK~gOPu6_Gyc^=?SRo;5lu#thmu`MB@V^aQf=tU4z^`7#~%SW@WEkR2}CXog6uX9%@-;geEKhX(mOjp=`dt$%4e0=}FE#ZC9 zb=|jvtuuRGwJvY_l~pI>KeiUOy>Dd@A8+$ahtBxkY@e}a?P9Gfy=Nkf?`)Lw%>hFmw4apVtl{Yy~;D)KC_E8XL;X)F~3A@ zN1bTd$eJ{Lr-ApTrf*dT7h)94sJ;%+xP8^m6{pPR_-K(hwT+dA%*-}cjF}B>#}2=2 z=Gu-QwwenEO5GLR$%P)(_1nA;b;V!hH*U!O(9G$I8#i41ySXqe-{WR!cOj)?KQZaV z{pbqXKRy&gueaZJmyaDB`1H$z)sGIWJXmCH6ob~iEvyt1hosBa?A@%@+yz!kBQ31e zf^Tas&`R+8tyw@@Ip&se2B?MJd%mRSoA&!w9dMQh80!Xc$X<@r_6I;I_0D!PzPqp@ z4_nywxpCJGm*=5(dd**aGwpM0^)0NWVBfvalqcCSVyU~{(0P~A*MaK3-(OB0^|Sbn~_E=OF*v3I~#==x;f7`FvERuM4AdQvfPmOARhY8>CgJlZPQg#!el8Js9(5$PKZNgN3^GDP(u}j#u4TL%n2BGa&CA& z=QvbeGMFHVW4IJhFF6PLo;Gi`=fxPDy5%x7!qETB5>E|qe8qd9E7Tq=LJy|L$!!S zBryclCJ(h|KqYm=Wm0+#3vvpP=R1@EeUjK8j7wr#dCT)5D3#-}uoyyx(f)|4Fcdx_ zhGI|(KVAUCykhv3SQu0m7>93sIMQdiQx<7yF@Oykqqy`)tutL1{b6FM+AyS zMMMYZ;ZlmjIi5%HHH73-+(AeI#o^|xjrFAAepq5vMn48_P4OG>uK~qxf~!;fR+`K| zQg-UUCS(Pb`4^OvDsC7|={FpQs}-fcmeOf}yA++*@K#Ev;d~k$*2JQWedc>>Uyo84 zepfZ2;Q~p4K}9p}ui3Cyy7j=r`ytwmawcdQHKE}u(9%I&AA(~s7Sy^+mVxw)iyY2AUpt!OrGY(3r<*dv%+mB;rsR=UjPC4%YrKEYhJE?_EKR~IJU0^lB5_Fcu0QV}A1VIz%(>vZ$^r7Z3TDYbV=N;F=xzZQV{x$>7Uj}`#!f~KAWxE`Il!SR kLAj@hZE_#vE