Commit graph

20 commits

Author SHA1 Message Date
3aa342d46b
name section structs in Difficulty 2024-04-26 20:00:24 +02:00
b978fb2288
fix pretty much everything, read description
this is a big (or dare I say, huge) commit that pretty much fixes every
problem I've had so far with the basic parsing

I still need to do a custom operator>> for some types but at this point
the parser goes through the entire file and prints out everything which
is a large milestone I'd say

changes in this commit:
- add SECTION_LIST for a section containing a single list of values
  examples: TimingPoints, HitObjects
- improve operator>> for enums making it accept int values and fail
  properly when the value is incorrect (there's a warning I need to get
  rid of but it's ok for now)
- skip over blank lines: adding this single line (src/osuparser.cpp:52)
  made the parser go from shitting itself to actually going through the
  whole file and printing everything (with some errors but still)
- new string util: isBlank() used for the above
- new __VA_ARGS__ util: ARG_COUNT() and rename foreach.hpp to
  va_args_util.hpp as that name no longer fits
2024-04-26 19:05:35 +02:00
725cae21eb
handle parsing ints to enums 2024-04-25 22:35:14 +02:00
19ff37e7b8
massively improve the awk fuckery
thank you krizej I actually forgot about g++ -D
2024-04-25 11:49:09 +02:00
c967207520
awk marker comments to save necessary macros
I restructured the beginnings of the preprocessed files for debugging to
make the awks in the makefile not eat headers which are needed for
debugging (e.g. the FOR_EACH macro)

it's done by putting awk marker comments:

// awk stop marker (check make pp)

after the macros to be eaten by awk and before the ones we wanna keep

I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this I hate this
2024-04-24 23:36:25 +02:00
29d00653eb
minor issue 2024-04-23 16:42:24 +02:00
1f4416aa0a
major formatting change 2024-04-23 16:23:29 +02:00
43f138b7b2
formatting fix 2024-04-21 13:34:18 +02:00
becc44a098
add separated list with a prefix 2024-04-21 10:40:43 +02:00
8d7b193cf6
remove newline in struct output stream op 2024-04-20 13:41:03 +02:00
c5491dbc9f
refactor a huge part of the code
this allows for creating only input and output streams and allows me to
finally print out the generated config struct
2024-04-20 13:37:06 +02:00
512bbeac51
remove unnecessary undefs in config 2024-04-19 10:15:57 +02:00
a8ae6b931e
add prefixed vars and fix format version parsing 2024-04-19 10:14:45 +02:00
3fb74a4f09
add break to enum stream op (smartest c++ dev) 2024-04-18 22:32:01 +02:00
35e53c239d
undef stream op macros 2024-04-18 20:41:40 +02:00
f6784c2848
get rid of VAR_BITS
I hate this stupid fucking thing you can't print them normally
2024-04-18 20:16:01 +02:00
7d34861da8
a LOT of things (read description)
I might not list everything in this commit but:
- fix struct stream operators while making them a bit less convenient
- refactor some stuff around like the FOR_EACH macros
- fix 2/3 minor bugs I stumbled upon when actually trying to compile
2024-04-18 20:11:33 +02:00
559e0a27ca
move list var macros to the others 2024-03-19 19:47:06 +01:00
2e36a703be
oops 2024-03-19 14:24:47 +01:00
bb2bb992d7
init 2024-03-18 11:25:15 +01:00